Package org.gradle

Class StartParameter

java.lang.Object
org.gradle.StartParameter
All Implemented Interfaces:
Serializable, LoggingConfiguration, ParallelismConfiguration

public class StartParameter extends Object implements LoggingConfiguration, ParallelismConfiguration, Serializable

StartParameter defines the configuration used by a Gradle instance to execute a build. The properties of StartParameter generally correspond to the command-line options of Gradle.

You can obtain an instance of a StartParameter by either creating a new one, or duplicating an existing one using newInstance() or newBuild().

See Also:
  • Field Details

    • GRADLE_USER_HOME_PROPERTY_KEY

      public static final String GRADLE_USER_HOME_PROPERTY_KEY
      See Also:
    • DEFAULT_GRADLE_USER_HOME

      public static final File DEFAULT_GRADLE_USER_HOME
      The default user home directory.
  • Constructor Details

    • StartParameter

      public StartParameter()
      Creates a StartParameter with default values. This is roughly equivalent to running Gradle on the command-line with no arguments.
  • Method Details

    • getLogLevel

      public LogLevel getLogLevel()
      Returns the minimum logging level to use. All log messages with a lower log level are ignored. Defaults to LogLevel.LIFECYCLE.
      Specified by:
      getLogLevel in interface LoggingConfiguration
    • setLogLevel

      public void setLogLevel(LogLevel logLevel)
      Specifies the minimum logging level to use. All log messages with a lower log level are ignored.
      Specified by:
      setLogLevel in interface LoggingConfiguration
    • getShowStacktrace

      public ShowStacktrace getShowStacktrace()
      Returns the detail that should be included in stacktraces. Defaults to ShowStacktrace.INTERNAL_EXCEPTIONS.
      Specified by:
      getShowStacktrace in interface LoggingConfiguration
    • setShowStacktrace

      public void setShowStacktrace(ShowStacktrace showStacktrace)
      Sets the detail that should be included in stacktraces.
      Specified by:
      setShowStacktrace in interface LoggingConfiguration
    • getConsoleOutput

      public ConsoleOutput getConsoleOutput()
      Returns the style of logging output that should be written to the console. Defaults to ConsoleOutput.Auto
      Specified by:
      getConsoleOutput in interface LoggingConfiguration
    • setConsoleOutput

      public void setConsoleOutput(ConsoleOutput consoleOutput)
      Specifies the style of logging output that should be written to the console.
      Specified by:
      setConsoleOutput in interface LoggingConfiguration
    • setProjectCacheDir

      public void setProjectCacheDir(@Nullable File projectCacheDir)
      Sets the project's cache location. Set to null to use the default location.
    • getProjectCacheDir

      @Nullable public File getProjectCacheDir()
      Returns the project's cache dir.
      Returns:
      project's cache dir, or null if the default location is to be used.
    • newInstance

      public StartParameter newInstance()
      Duplicates this StartParameter instance.
      Returns:
      the new parameters.
    • prepareNewInstance

      protected StartParameter prepareNewInstance(StartParameter p)
    • newBuild

      public StartParameter newBuild()

      Creates the parameters for a new build, using these parameters as a template. Copies the environmental properties from this parameter (eg Gradle user home dir, etc), but does not copy the build specific properties (eg task names).

      Returns:
      The new parameters.
    • prepareNewBuild

      protected StartParameter prepareNewBuild(StartParameter p)
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getBuildFile

      @Nullable public File getBuildFile()
      Returns the build file to use to select the default project. Returns null when the build file is not used to select the default project.
      Returns:
      The build file. May be null.
    • setBuildFile

      public void setBuildFile(@Nullable File buildFile)
      Sets the build file to use to select the default project. Use null to disable selecting the default project using the build file.
      Parameters:
      buildFile - The build file. May be null.
    • useEmptySettings

      public StartParameter useEmptySettings()
      Specifies that an empty settings script should be used. This means that even if a settings file exists in the conventional location, or has been previously specified by setSettingsFile(java.io.File), it will not be used. If setSettingsFile(java.io.File) is called after this, it will supersede calling this method.
      Returns:
      this
    • isUseEmptySettings

      public boolean isUseEmptySettings()
      Returns whether an empty settings script will be used regardless of whether one exists in the default location.
      Returns:
      Whether to use empty settings or not.
    • getTaskNames

      public List<String> getTaskNames()
      Returns the names of the tasks to execute in this build. When empty, the default tasks for the project will be executed. If TaskExecutionRequests are set for this build then names from these task parameters are returned.
      Returns:
      the names of the tasks to execute in this build. Never returns null.
    • setTaskNames

      public void setTaskNames(@Nullable Iterable<String> taskNames)

      Sets the tasks to execute in this build. Set to an empty list, or null, to execute the default tasks for the project. The tasks are executed in the order provided, subject to dependency between the tasks.

      Parameters:
      taskNames - the names of the tasks to execute in this build.
    • getTaskRequests

      @Incubating public List<TaskExecutionRequest> getTaskRequests()
      Returns the tasks to execute in this build. When empty, the default tasks for the project will be executed.
      Returns:
      the tasks to execute in this build. Never returns null.
    • setTaskRequests

      @Incubating public void setTaskRequests(Iterable<? extends TaskExecutionRequest> taskParameters)

      Sets the task parameters to execute in this build. Set to an empty list, to execute the default tasks for the project. The tasks are executed in the order provided, subject to dependency between the tasks.

      Parameters:
      taskParameters - the tasks to execute in this build.
    • getExcludedTaskNames

      public Set<String> getExcludedTaskNames()
      Returns the names of the tasks to be excluded from this build. When empty, no tasks are excluded from the build.
      Returns:
      The names of the excluded tasks. Returns an empty set if there are no such tasks.
    • setExcludedTaskNames

      public void setExcludedTaskNames(Iterable<String> excludedTaskNames)
      Sets the tasks to exclude from this build.
      Parameters:
      excludedTaskNames - The task names.
    • getCurrentDir

      public File getCurrentDir()
      Returns the directory to use to select the default project, and to search for the settings file.
      Returns:
      The current directory. Never returns null.
    • setCurrentDir

      public void setCurrentDir(@Nullable File currentDir)
      Sets the directory to use to select the default project, and to search for the settings file. Set to null to use the default current directory.
      Parameters:
      currentDir - The directory. Set to null to use the default.
    • isSearchUpwards

      public boolean isSearchUpwards()
    • setSearchUpwards

      public void setSearchUpwards(boolean searchUpwards)
    • getProjectProperties

      public Map<String,String> getProjectProperties()
    • setProjectProperties

      public void setProjectProperties(Map<String,String> projectProperties)
    • getSystemPropertiesArgs

      public Map<String,String> getSystemPropertiesArgs()
    • setSystemPropertiesArgs

      public void setSystemPropertiesArgs(Map<String,String> systemPropertiesArgs)
    • getGradleUserHomeDir

      public File getGradleUserHomeDir()
      Returns the directory to use as the user home directory.
      Returns:
      The home directory.
    • setGradleUserHomeDir

      public void setGradleUserHomeDir(@Nullable File gradleUserHomeDir)
      Sets the directory to use as the user home directory. Set to null to use the default directory.
      Parameters:
      gradleUserHomeDir - The home directory. May be null.
    • isBuildProjectDependencies

      public boolean isBuildProjectDependencies()
      Returns true if project dependencies are to be built, false if they should not be. The default is true.
    • setBuildProjectDependencies

      public StartParameter setBuildProjectDependencies(boolean build)
      Specifies whether project dependencies should be built. Defaults to true.
      Returns:
      this
    • isDryRun

      public boolean isDryRun()
    • setDryRun

      public void setDryRun(boolean dryRun)
    • setSettingsFile

      public void setSettingsFile(@Nullable File settingsFile)
      Sets the settings file to use for the build. Use null to use the default settings file.
      Parameters:
      settingsFile - The settings file to use. May be null.
    • getSettingsFile

      @Nullable public File getSettingsFile()
      Returns the explicit settings file to use for the build, or null. Will return null if the default settings file is to be used. However, if isUseEmptySettings() returns true, then no settings file at all will be used.
      Returns:
      The settings file. May be null.
      See Also:
    • addInitScript

      public void addInitScript(File initScriptFile)
      Adds the given file to the list of init scripts that are run before the build starts. This list is in addition to the default init scripts.
      Parameters:
      initScriptFile - The init scripts.
    • setInitScripts

      public void setInitScripts(List<File> initScripts)
      Sets the list of init scripts to be run before the build starts. This list is in addition to the default init scripts.
      Parameters:
      initScripts - The init scripts.
    • getInitScripts

      public List<File> getInitScripts()
      Returns all explicitly added init scripts that will be run before the build starts. This list does not contain the user init script located in ${user.home}/.gradle/init.gradle, even though that init script will also be run.
      Returns:
      list of all explicitly added init scripts.
    • getAllInitScripts

      @Incubating public List<File> getAllInitScripts()
      Returns all init scripts, including explicit init scripts and implicit init scripts.
      Returns:
      All init scripts, including explicit init scripts and implicit init scripts.
    • setProjectDir

      public void setProjectDir(@Nullable File projectDir)
      Sets the project directory to use to select the default project. Use null to use the default criteria for selecting the default project.
      Parameters:
      projectDir - The project directory. May be null.
    • getProjectDir

      @Nullable public File getProjectDir()
      Returns the project dir to use to select the default project. Returns null when the build file is not used to select the default project
      Returns:
      The project dir. May be null.
    • setProfile

      public void setProfile(boolean profile)
      Specifies if a profile report should be generated.
      Parameters:
      profile - true if a profile report should be generated
    • isProfile

      public boolean isProfile()
      Returns true if a profile report will be generated.
    • isContinueOnFailure

      public boolean isContinueOnFailure()
      Specifies whether the build should continue on task failure. The default is false.
    • setContinueOnFailure

      public void setContinueOnFailure(boolean continueOnFailure)
      Specifies whether the build should continue on task failure. The default is false.
    • isOffline

      public boolean isOffline()
      Specifies whether the build should be performed offline (ie without network access).
    • setOffline

      public void setOffline(boolean offline)
      Specifies whether the build should be performed offline (ie without network access).
    • isRefreshDependencies

      public boolean isRefreshDependencies()
      Specifies whether the dependencies should be refreshed..
    • setRefreshDependencies

      public void setRefreshDependencies(boolean refreshDependencies)
      Specifies whether the dependencies should be refreshed..
    • isRerunTasks

      public boolean isRerunTasks()
      Specifies whether the cached task results should be ignored and each task should be forced to be executed.
    • setRerunTasks

      public void setRerunTasks(boolean rerunTasks)
      Specifies whether the cached task results should be ignored and each task should be forced to be executed.
    • isRecompileScripts

      public boolean isRecompileScripts()
      Specifies whether the build scripts should be recompiled.
    • setRecompileScripts

      public void setRecompileScripts(boolean recompileScripts)
      Specifies whether the build scripts should be recompiled.
    • isParallelProjectExecutionEnabled

      @Incubating public boolean isParallelProjectExecutionEnabled()
      Returns true if parallel project execution is enabled.
      Specified by:
      isParallelProjectExecutionEnabled in interface ParallelismConfiguration
      See Also:
    • setParallelProjectExecutionEnabled

      @Incubating public void setParallelProjectExecutionEnabled(boolean parallelProjectExecution)
      Enables/disables parallel project execution.
      Specified by:
      setParallelProjectExecutionEnabled in interface ParallelismConfiguration
      See Also:
    • isBuildCacheEnabled

      @Incubating public boolean isBuildCacheEnabled()
      Returns true if the build cache is enabled.
      Since:
      3.5
    • setBuildCacheEnabled

      @Incubating public void setBuildCacheEnabled(boolean buildCacheEnabled)
      Enables/disables the build cache.
      Since:
      3.5
    • isTaskOutputCacheEnabled

      @Incubating @Deprecated public boolean isTaskOutputCacheEnabled()
      Deprecated.
      Returns true if task output caching is enabled.
    • setTaskOutputCacheEnabled

      @Incubating @Deprecated public void setTaskOutputCacheEnabled(boolean buildCacheEnabled)
      Enables/disables task output caching.
    • getMaxWorkerCount

      @Incubating public int getMaxWorkerCount()
      Returns the maximum number of concurrent workers used for underlying build operations. Workers can be threads, processes or whatever Gradle considers a "worker". Some examples:
      • A thread running a task
      • A test process
      • A language compiler in a forked process
      Defaults to the number of processors available to the Java virtual machine.
      Specified by:
      getMaxWorkerCount in interface ParallelismConfiguration
      Returns:
      maximum number of concurrent workers, always >= 1.
      See Also:
    • setMaxWorkerCount

      @Incubating public void setMaxWorkerCount(int maxWorkerCount)
      Specifies the maximum number of concurrent workers used for underlying build operations.
      Specified by:
      setMaxWorkerCount in interface ParallelismConfiguration
      See Also:
    • isConfigureOnDemand

      @Incubating public boolean isConfigureOnDemand()
      If the configure-on-demand mode is active
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • setConfigureOnDemand

      @Incubating public void setConfigureOnDemand(boolean configureOnDemand)
    • isContinuous

      @Incubating public boolean isContinuous()
    • setContinuous

      @Incubating public void setContinuous(boolean enabled)
    • includeBuild

      @Incubating public void includeBuild(File includedBuild)
    • setIncludedBuilds

      @Incubating public void setIncludedBuilds(List<File> includedBuilds)
    • getIncludedBuilds

      @Incubating public List<File> getIncludedBuilds()
    • isBuildScan

      @Incubating public boolean isBuildScan()
      Returns true if build scan should be created.
      Since:
      3.4
    • setBuildScan

      @Incubating public void setBuildScan(boolean buildScan)
      Specifies whether a build scan should be created.
      Since:
      3.4
    • isNoBuildScan

      @Incubating public boolean isNoBuildScan()
      Returns true when build scan creation is explicitly disabled.
      Since:
      3.4
    • setNoBuildScan

      @Incubating public void setNoBuildScan(boolean noBuildScan)
      Specifies whether build scan creation is explicitly disabled.
      Since:
      3.4
    • isInteractive

      @Incubating public boolean isInteractive()
      Returns true when console is interactive.
      Since:
      4.3
    • setInteractive

      @Incubating public void setInteractive(boolean interactive)
      Specifies whether console is interactive.
      Since:
      4.3