Gradle Project and Build Script: Difference between revisions
Line 16: | Line 16: | ||
=Project Coordinates= | =Project Coordinates= | ||
Gradle reads and builds artifacts that are compatible with Maven repositories, so they are described by [[Maven_Concepts#Maven_Coordinates|Maven project coordinates]]. Project coordinates [[#Project_Name.2C_artifactId|artifactId]], [[#Group.2C_groupId|groupId]] and [[#Version|version]] can be read or set in the [[Gradle_Settings_Script_and_Settings_Instance#Overview|settings configuration file]] via the [[Gradle_Settings_Script_and_Settings_Instance#ProjectDescriptor_-_Access_to_Projects_from_Settings|ProjectDescriptor]] interface, or in the build configuration file via the [https://docs.gradle.org/current/dsl/org.gradle.api.Project.html Project] interface, as follows: | Gradle reads and builds artifacts that are compatible with Maven repositories, so they are described by [[Maven_Concepts#Maven_Coordinates|Maven project coordinates]]. Project coordinates [[#Project_Name.2C_artifactId|artifactId]], [[#Group.2C_groupId|groupId]] and [[#Version|version]] can be read or set in the [[Gradle_Settings_Script_and_Settings_Instance#Overview|settings configuration file]] via the [[Gradle_Settings_Script_and_Settings_Instance#ProjectDescriptor_-_Access_to_Projects_from_Settings|ProjectDescriptor]] interface, or in the build configuration file, described by this article, via the [https://docs.gradle.org/current/dsl/org.gradle.api.Project.html Project] interface, as follows: | ||
==Project Name, artifactId== | ==Project Name, artifactId== |
Revision as of 02:24, 19 May 2018
External
- https://docs.gradle.org/current/dsl/org.gradle.api.Project.html
- Build script structure https://docs.gradle.org/current/dsl/#N10060
Internal
Overview
A Project is the main API to use to interact with Gradle. All top level statements within a "build.gradle" build script are delegated to the corresponding Project instance and when executed, modify its state.
In case of a multi-project build, It is possible to configure a project build from another build script associated with any project in the hierarchy. This capability is called cross-project configuration. Gradle implements cross-project configuration via configuration injection. Configuration injection is the default way to define common behavior.
Project Coordinates
Gradle reads and builds artifacts that are compatible with Maven repositories, so they are described by Maven project coordinates. Project coordinates artifactId, groupId and version can be read or set in the settings configuration file via the ProjectDescriptor interface, or in the build configuration file, described by this article, via the Project interface, as follows:
Project Name, artifactId
Group, groupId
Version
Top-Level Script Blocks
allprojects{}
Applies the given configuration closure, in order, to the current project and all of its sub-projects.
subprojects{}
Applies the given configuration closure, in order, to all sub-projects of the current project.