PlayApplicationSpec (Gradle API 4.8)
Date: 2018-06-04

org.gradle.play

## Interface PlayApplicationSpec

- All Superinterfaces:
    ApplicationSpec, ComponentSpec, GeneralComponentSpec, ModelElement, Named, PlatformAwareComponentSpec, PlayPlatformAwareComponentSpec, SourceComponentSpec, VariantComponent, VariantComponentSpec

      @Incubating
      public interface PlayApplicationSpec
      extends ApplicationSpec, PlayPlatformAwareComponentSpec

  Definition of a Play Framework software component that is built by Gradle.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Named

      `Named.Namer`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `getInjectedRoutesGenerator()` Will an injected router be generated for this application?
    `void` | `platform(Object platformRequirements)` Specifies a `PlayPlatform` with a given set of requirements that this component should be built be for.
    `void` | `setInjectedRoutesGenerator(boolean injectedRoutesGenerator)` Configures the style of router to use with this application.

    - ### Methods inherited from interface org.gradle.platform.base.SourceComponentSpec

      `getSources`

    - ### Methods inherited from interface org.gradle.platform.base.PlatformAwareComponentSpec

      `targetPlatform`

    - ### Methods inherited from interface org.gradle.platform.base.VariantComponentSpec

      `getBinaries`

    - ### Methods inherited from interface org.gradle.platform.base.ComponentSpec

      `getProjectPath`

    - ### Methods inherited from interface org.gradle.platform.base.VariantComponent

      `getName, getVariants`

    - ### Methods inherited from interface org.gradle.model.ModelElement

      `getDisplayName`

- - ### Method Detail

    - #### platform

          void platform(Object platformRequirements)

      Specifies a `PlayPlatform` with a given set of requirements that this component should be built be for. Can accept a map of play, scala and/or java requirements or a string representation of the desired play platform.

               model {
                    components {
                        play {
                            platform 'play-2.3.9'
                            platform play: '2.3.2'
                            platform play: '2.3.6', scala: '2.10'
                            platform play: '2.3.7', scala: '2.11', java: '1.8'
                        }
                    }
                }

      Specified by:
        `platform` in interface `PlayPlatformAwareComponentSpec`
      Parameters:
        `platformRequirements` - Map of Play requirements or the name of an Play platform.

    - #### setInjectedRoutesGenerator

          void setInjectedRoutesGenerator(boolean injectedRoutesGenerator)

      Configures the style of router to use with this application.

      By default, a static routes generator is used to generate a singleton router. This requires that all the actions that the router invokes on the application's controllers are either Scala singleton objects, or Java static methods.

      In Play 2.4+, a injected routes generator is recommended. This requires that the router declares its dependencies to the application's controllers in its constructor. The controllers methods need to be instance methods.

      Parameters:
        `injectedRoutesGenerator` - false if a static router should be generated (default). true if an injected router should be generated.

    - #### getInjectedRoutesGenerator

          boolean getInjectedRoutesGenerator()

      Will an injected router be generated for this application?
      Returns:
        false if a static router will be generated for the application, true if an injected router will be generated.