Package org.gradle.buildinit.tasks

## Class InitBuild

- java.lang.Object
- - org.gradle.api.internal.AbstractTask
  - - org.gradle.api.DefaultTask
    - - org.gradle.buildinit.tasks.InitBuild

- All Implemented Interfaces:
    `java.lang.Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.TaskInternal`, `ExtensionAware`, `Task`, `Configurable<Task>`

      @DisableCachingByDefault(because="Not worth caching")
      public abstract class InitBuild
      extends DefaultTask

  Generates a Gradle project structure.

- - ### Nested Class Summary

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

      `Task.Namer`

  - ### Field Summary

    - ### Fields inherited from interface org.gradle.api.Task

      `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `InitBuild()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.List<java.lang.String>` | `getAvailableBuildTypes()` |
    `java.util.List<java.lang.String>` | `getAvailableDSLs()` | Available build script DSLs to be used.
    `java.util.List<java.lang.String>` | `getAvailableTestFrameworks()` | Available test frameworks.
    `java.lang.String` | `getDsl()` | The desired DSL of build scripts to create, defaults to 'groovy'.
    `Property<InsecureProtocolOption>` | `getInsecureProtocol()` | How to handle insecure (http) URLs used for Maven Repositories.
    `java.lang.String` | `getPackageName()` | The name of the package to use for generated source.
    `org.gradle.buildinit.plugins.internal.ProjectLayoutSetupRegistry` | `getProjectLayoutRegistry()` |
    `java.lang.String` | `getProjectName()` | The name of the generated project, defaults to the name of the directory the project is generated in.
    `Property<java.lang.Boolean>` | `getSplitProject()` | Should the build be split into multiple subprojects? This property can be set via command-line option '--split-project'.
    `java.lang.String` | `getTestFramework()` | The test framework to be used in the generated project.
    `java.lang.String` | `getType()` | The desired type of project to generate, defaults to 'pom' if a 'pom.xml' is found in the project root and if no 'pom.xml' is found, it defaults to 'basic'.
    `Property<java.lang.Boolean>` | `getUseIncubating()` | Can the generated build use new and unstable features? When enabled, the generated build will use new patterns, APIs or features that may be unstable between minor releases.
    `void` | `setDsl​(java.lang.String dsl)` | Set the build script DSL to be used.
    `void` | `setPackageName​(java.lang.String packageName)` | Set the package name.
    `void` | `setProjectName​(java.lang.String projectName)` | Set the project name.
    `void` | `setTestFramework​(java.lang.String testFramework)` | Set the test framework to be used.
    `void` | `setType​(java.lang.String type)` |
    `void` | `setupProjectLayout()` |

    - ### Methods inherited from class org.gradle.api.DefaultTask

      `compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

    - ### Methods inherited from class org.gradle.api.internal.AbstractTask

      `appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.gradle.api.Task

      `doNotTrackState, getConvention, notCompatibleWithConfigurationCache`

- - ### Constructor Detail

    - #### InitBuild

          public InitBuild()

  - ### Method Detail

    - #### getType

          @Input
          public java.lang.String getType()

      The desired type of project to generate, defaults to 'pom' if a 'pom.xml' is found in the project root and if no 'pom.xml' is found, it defaults to 'basic'. This property can be set via command-line option '--type'.

    - #### getSplitProject

          @Input
          @Optional
          public Property<java.lang.Boolean> getSplitProject()

      Should the build be split into multiple subprojects? This property can be set via command-line option '--split-project'.
      Since:
        6.7

    - #### getDsl

          @Optional
          @Input
          public java.lang.String getDsl()

      The desired DSL of build scripts to create, defaults to 'groovy'. This property can be set via command-line option '--dsl'.
      Since:
        4.5

    - #### getUseIncubating

          @Input
          @Optional
          public Property<java.lang.Boolean> getUseIncubating()

      Can the generated build use new and unstable features? When enabled, the generated build will use new patterns, APIs or features that may be unstable between minor releases. Use this if you'd like to try out the latest features of Gradle. By default, init will generate a build that uses stable features and behavior.
      Since:
        7.3

    - #### getProjectName

          @Input
          public java.lang.String getProjectName()

      The name of the generated project, defaults to the name of the directory the project is generated in. This property can be set via command-line option '--project-name'.
      Since:
        5.0

    - #### getPackageName

          @Input
          public java.lang.String getPackageName()

      The name of the package to use for generated source. This property can be set via command-line option '--package'.
      Since:
        5.0

    - #### getTestFramework

          @Nullable
          @Optional
          @Input
          public java.lang.String getTestFramework()

      The test framework to be used in the generated project. This property can be set via command-line option '--test-framework'

    - #### getInsecureProtocol

          @Input
          public Property<InsecureProtocolOption> getInsecureProtocol()

      How to handle insecure (http) URLs used for Maven Repositories. This property can be set via command-line option '--insecure-protocol'. The default value is 'warn'.
      Since:
        7.3

    - #### getProjectLayoutRegistry

          public org.gradle.buildinit.plugins.internal.ProjectLayoutSetupRegistry getProjectLayoutRegistry()

    - #### setupProjectLayout

          public void setupProjectLayout()

    - #### setType

          public void setType​(java.lang.String type)

    - #### getAvailableBuildTypes

          public java.util.List<java.lang.String> getAvailableBuildTypes()

    - #### setDsl

          public void setDsl​(java.lang.String dsl)

      Set the build script DSL to be used.
      Since:
        4.5

    - #### getAvailableDSLs

          public java.util.List<java.lang.String> getAvailableDSLs()

      Available build script DSLs to be used.
      Since:
        4.5

    - #### setTestFramework

          public void setTestFramework​(@Nullable
                                       java.lang.String testFramework)

      Set the test framework to be used.

    - #### getAvailableTestFrameworks

          public java.util.List<java.lang.String> getAvailableTestFrameworks()

      Available test frameworks.

    - #### setProjectName

          public void setProjectName​(java.lang.String projectName)

      Set the project name.
      Since:
        5.0

    - #### setPackageName

          public void setPackageName​(java.lang.String packageName)

      Set the package name.
      Since:
        5.0