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:
  `Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.TaskInternal`, `Named`, `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.Named

  `Named.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

  Modifier and Type
  Method
  Description
  `abstract Property<Boolean>`
  `getAllowFileOverwrite()`
  Should we allow existing files in the build directory to be overwritten? This property can be set via command-line option '--overwrite'.
  `List<String>`
  `getAvailableBuildTypes()`
  `List<String>`
  `getAvailableDSLs()`
  Available build script DSLs to be used.
  `List<String>`
  `getAvailableTestFrameworks()`
  Available test frameworks.
  `protected abstract org.gradle.buildinit.specs.internal.BuildInitSpecRegistry`
  `getBuildInitSpecRegistry()`
  `abstract Property<Boolean>`
  `getComments()`
  Should clarifying comments be added to files?
  `String`
  `getDsl()`
  The desired DSL of build scripts to create, defaults to 'kotlin'.
  `Property<InsecureProtocolOption>`
  `getInsecureProtocol()`
  How to handle insecure (http) URLs used for Maven Repositories.
  `Property<String>`
  `getJavaVersion()`
  Java version to be used by generated Java projects.
  `protected abstract ProjectLayout`
  `getLayout()`
  `protected abstract ObjectFactory`
  `getObjectFactory()`
  `String`
  `getPackageName()`
  The name of the package to use for generated source.
  `org.gradle.buildinit.plugins.internal.ProjectLayoutSetupRegistry`
  `getProjectLayoutRegistry()`
  `String`
  `getProjectName()`
  The name of the generated project, defaults to the name of the directory the project is generated in.
  `protected abstract ProviderFactory`
  `getProviderFactory()`
  `Property<Boolean>`
  `getSplitProject()`
  Should the build be split into multiple subprojects? This property can be set via the command-line options '--split-project' and '--no-split-project'.
  `@Nullable String`
  `getTestFramework()`
  The test framework to be used in the generated project.
  `String`
  `getType()`
  The desired type of project to generate, such as 'java-application' or 'kotlin-library'.
  `abstract Property<Boolean>`
  `getUseDefaults()`
  Should default values automatically be accepted for options that are not configured explicitly?
  `Property<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.
  `protected abstract org.gradle.api.internal.tasks.userinput.UserInputHandler`
  `getUserInputHandler()`
  `void`
  `setDsl(String dsl)`
  Set the build script DSL to be used.
  `void`
  `setPackageName(String packageName)`
  Set the package name.
  `void`
  `setProjectName(String projectName)`
  Set the project name.
  `void`
  `setTestFramework(@Nullable String testFramework)`
  Set the test framework to be used.
  `void`
  `setType(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

  `acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, 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, notCompatibleWithConfigurationCache`

- ## Constructor Details

  - ### InitBuild

    public InitBuild()

- ## Method Details

  - ### getUseDefaults

    @Incubating @Input @Optional public abstract Property<Boolean> getUseDefaults()
    Should default values automatically be accepted for options that are not configured explicitly?

    When true, the interactive dialog is skipped, and no user input is required to complete the command.

    This property can be set via the command-line options '--use-defaults' and '--no-use-defaults'.

    Since:
      8.6

  - ### getAllowFileOverwrite

    @Incubating @Input @Optional public abstract Property<Boolean> getAllowFileOverwrite()
    Should we allow existing files in the build directory to be overwritten? This property can be set via command-line option '--overwrite'. Defaults to false.
    Since:
      8.9

  - ### getType

    @Input public String getType()
    The desired type of project to generate, such as 'java-application' or 'kotlin-library'.

    This property can be set via command-line option '--type'.

    Defaults to 'basic' - a minimal scaffolding, following Gradle best practices. If a `pom.xml` is found in the project root directory, the type defaults to 'pom' and the existing project is converted to Gradle.

    Possible values for the option are provided by `getAvailableBuildTypes()`.

  - ### getSplitProject

    @Input @Optional public Property<Boolean> getSplitProject()
    Should the build be split into multiple subprojects? This property can be set via the command-line options '--split-project' and '--no-split-project'.
    Since:
      6.7

  - ### getDsl

    @Optional @Input public String getDsl()
    The desired DSL of build scripts to create, defaults to 'kotlin'. This property can be set via command-line option '--dsl'.
    Since:
      4.5

  - ### getUseIncubating

    @Input @Optional public Property<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

  - ### getJavaVersion

    @Input @Optional @Incubating public Property<String> getJavaVersion()
    Java version to be used by generated Java projects. When set, Gradle will use the provided value as the target major Java version for all relevant generated projects. Gradle will validate the number to ensure it is a valid and supported major version.
    Returns:
      the java version number supplied by the user
    Since:
      8.5

  - ### getProjectName

    @Input public 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 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

    @Optional @Input public @Nullable 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

  - ### getComments

    @Incubating @Input @Optional public abstract Property<Boolean> getComments()
    Should clarifying comments be added to files?

    This property can be set via the command-line options '--comments' and '--no-comments'.

    Since:
      8.7

  - ### getProjectLayoutRegistry

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

  - ### setupProjectLayout

    public void setupProjectLayout()

  - ### setType

    public void setType(String type)

  - ### getAvailableBuildTypes

    public List<String> getAvailableBuildTypes()

  - ### setDsl

    public void setDsl(String dsl)
    Set the build script DSL to be used.
    Since:
      4.5

  - ### getAvailableDSLs

    public List<String> getAvailableDSLs()
    Available build script DSLs to be used.
    Since:
      4.5

  - ### setTestFramework

    public void setTestFramework(@Nullable String testFramework)
    Set the test framework to be used.

  - ### getAvailableTestFrameworks

    public List<String> getAvailableTestFrameworks()
    Available test frameworks.

  - ### setProjectName

    public void setProjectName(String projectName)
    Set the project name.
    Since:
      5.0

  - ### setPackageName

    public void setPackageName(String packageName)
    Set the package name.
    Since:
      5.0

  - ### getProviderFactory

    @Inject protected abstract ProviderFactory getProviderFactory()

  - ### getUserInputHandler

    @Inject protected abstract org.gradle.api.internal.tasks.userinput.UserInputHandler getUserInputHandler()

  - ### getLayout

    @Inject protected abstract ProjectLayout getLayout()

  - ### getObjectFactory

    @Inject protected abstract ObjectFactory getObjectFactory()

  - ### getBuildInitSpecRegistry

    @Inject protected abstract org.gradle.buildinit.specs.internal.BuildInitSpecRegistry getBuildInitSpecRegistry()