Gradle Properties - Runtime and Project Configuration

From NovaOrdis Knowledge Base
Revision as of 21:11, 13 October 2020 by Ovidiu (talk | contribs) (→‎Overview)
Jump to navigation Jump to search

External

Internal

Overview

"Properties" in this context represent external configuration elements passed to a Gradle build to modify the behavior of the Gradle runtime itself, or the behavior of tasks being executed by various projects that are part of the build. Gradle supports many kinds of "properties": configuration can be passed as command line options, system properties, settings.gradle and build.gradle extra properties, gradle.properties file properties and environment variables. All these configuration elements are provided externally and injected into the build and various model object instances.

Gradle Command Line Flags
Gradle System Properties
Gradle Properties
Gradle Environment Variables

It is also possible to define properties, referred to as extra properties, in settings.gradle and build.gradle scripts and pass configuration around between different elements of the build.

Gradle Extra Properties

Since build scripts may include executable code, it is also possible to use local variables, which are a feature of the underlying Groovy language.

Gradle Local Variables

The external configuration and extra properties become part of the state of various objects of the build, such as projects or tasks. The state of build objects can be read from settings.gradle or build.gradle scripts via dedicated accessors.

A project exposes project properties: coordinates such as name, group and version, various other state properties such as the description, path, and externally-configured project properties that come from gradle.properties file hierarchy or -P command line options. More details about accessing the project state and externally-configured properties are available in:

Gradle Project Coordinates, State and Configured Properties

A task also exposes its state (name, description, whether it is enabled or not) through getters and DLS elements.

Property Keys

TO DEPLETE

Gradle_Variables_and_Properties
Gradle Configuration