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.
  • 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

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