Settings

API Documentation:Settings

Declares the configuration required to instantiate and configure the hierarchy of Project instances which are to participate in a build.

There is a one-to-one correspondence between a Settings instance and a settings.gradle settings file. Before Gradle assembles the projects for a build, it creates a Settings instance and executes the settings file against it.

Assembling a Multi-Project Build

One of the purposes of the Settings object is to allow you to declare the projects which are to be included in the build. You add projects to the build using the Settings.include(java.lang.String[]) method. There is always a root project included in a build. It is added automatically when the Settings object is created. The root project's name defaults to the name of the directory containing the settings file. The root project's project directory defaults to the directory containing the settings file.

When a project is included in the build, a ProjectDescriptor is created. You can use this descriptor to change the default values for several properties of the project.

Using Settings in a Settings File

Dynamic Properties

In addition to the properties of this interface, the Settings object makes some additional read-only properties available to the settings script. This includes properties from the following sources:

  • Defined in the gradle.properties file located in the settings directory of the build.
  • Defined the gradle.properties file located in the user's .gradle directory.
  • Provided on the command-line using the -P option.

Properties

PropertyDescription
buildCache

The build cache configuration.

caches
Incubating

The configuration for caches stored in the user home directory.

extensions

The container of extensions.

gradle

The Gradle instance for the current build.

pluginManager

The plugin manager for this plugin aware object.

plugins

The container of plugins that have been applied to this object.

rootDir

The root directory of the build. The root directory is the project directory of the root project.

rootProject

The root project of the build.

settings

Returns this settings object.

settingsDir

The settings directory of the build. The settings directory is the directory containing the settings file.

startParameter

The set of parameters used to invoke this instance of Gradle.

Methods

MethodDescription
apply(closure)

Applies zero or more plugins or scripts.

apply(options)

Applies a plugin or script, using the given options provided as a map. Does nothing if the plugin has already been applied.

apply(action)

Applies zero or more plugins or scripts.

buildCache(action)

Configures build cache.

caches(cachesConfiguration)
Incubating

Configures the settings for caches stored in the user home directory.

findProject(projectDir)

Returns the project with the given project directory.

findProject(path)

Returns the project with the given path.

include(projectPaths)

Adds the given projects to the build. Each path in the supplied list is treated as the path of a project to add to the build. Note that these path are not file paths, but instead specify the location of the new project in the project hierarchy. As such, the supplied paths must use the ':' character as separator (and NOT '/').

include(projectPaths)

Adds the given projects to the build. Each path in the supplied list is treated as the path of a project to add to the build. Note that these path are not file paths, but instead specify the location of the new project in the project hierarchy. As such, the supplied paths must use the ':' character as separator (and NOT '/').

includeBuild(rootProject)

Includes a build at the specified path to the composite build.

includeBuild(rootProject, configuration)

Includes a build at the specified path to the composite build, with the supplied configuration.

includeFlat(projectNames)

Adds the given projects to the build. Each name in the supplied list is treated as the name of a project to add to the build.

includeFlat(projectNames)

Adds the given projects to the build. Each name in the supplied list is treated as the name of a project to add to the build.

project(projectDir)

Returns the project with the given project directory.

project(path)

Returns the project with the given path.

Script blocks

No script blocks

Property details

BuildCacheConfiguration buildCache (read-only)

The build cache configuration.