dependency graph
gradle :someChildProject:dependencies
dependency insights
./gradlew :someChildProject:dependencyInsight --dependency com.beust --configuration runtimeClasspath
Java plugin project conventions
https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_project_layout
Directory | Meaning |
src/main/java | Production Java source |
src/main/resources | Production resources |
src/test/java | Test Java source |
src/test/resources | Test resources |
src/sourceSet/java | Java source for the given source set |
src/sourceSet/resources | Resources for the given source set |
Book
Gradle In Action, by Benjamin Muschko
- Highly recommend Appendix B: “Groovy for Gradle users”
Build phases
initialization, configuration, execution (p. 80, 4.2.7)
Build phase | Responsibility | File executed | Instance being configured |
may configure listeners or delayed project configuration | init scripts | Gradle | |
initialization | instantiate the project’s hierarchy
(tell the system which projects are participating) (p. 140, 6.2.3) |
settings.gradle | Settings |
configuration | construct a model of the tasks that will take part in the build, determine which need to be run | build.gradle | Project |
execution | execute the tasks |
Gradle DSL
https://docs.gradle.org/current/dsl/index.html
Plugins
Plugins receive a type parameter for which type they are applied to. (Project, Settings, Gradle)