Gradle Concepts: Difference between revisions
Jump to navigation
Jump to search
Line 9: | Line 9: | ||
=Overview= | =Overview= | ||
Gradle is a general-purpose build tool, which can build pretty much anything its [[#Configuration_Scripts|configuration scripts]] declare. It is primarily used to build Java and Groovy, but it can build other languages as well | Gradle is a general-purpose build tool, which can build pretty much anything its [[#Configuration_Scripts|configuration scripts]] declare. It is primarily used to build Java and Groovy, but it can build other languages as well. | ||
=Configuration Scripts= | =Configuration Scripts= |
Revision as of 17:56, 17 May 2018
External
- DSL reference https://docs.gradle.org/current/dsl/
Internal
Overview
Gradle is a general-purpose build tool, which can build pretty much anything its configuration scripts declare. It is primarily used to build Java and Groovy, but it can build other languages as well.
Configuration Scripts
- Build script structure: statements, blocks. A statement is .... A block is a method which takes a closure as an argument. Configuration closure. It configures the associated delegate object as it executes. There is a relatively low number of top-level blocks:
- allprojects{}
- artifacts{}
- Gradle Concepts Build Lifecycle. Configuration scripts and their delegate object.
- Core Types:
- Settings. https://docs.gradle.org/current/dsl/org.gradle.api.initialization.Settings.html
- Project. https://docs.gradle.org/current/dsl/org.gradle.api.Project.html
- Gradle. https://docs.gradle.org/current/dsl/org.gradle.api.invocation.Gradle.html
- Task https://docs.gradle.org/current/dsl/org.gradle.api.Task.html
- Configuration https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.Configuration.html
- A build consists of executing a series of tasks in succession.
- Extensions, as in publishing extension.
- Go through the lifecycle without plugins. Understand. Then introduce essential plugins.
- Most of Gradle's power comes from external plugins
- Java plugin.
- Maven publishing plugin.