- Motivation
- Evolution of build tools
- Language basics
- Gradle basic concepts
- Building Java projects with Gradle
- Gradle and IDEs
- flexible, extensible project automation
- understandable configuration language
- ease of development setup
- incremental build
- multi-project builds
- multi-language projects
- Gradle used in several projects
(epagesj, ESF, BEYOND services) - new colleagues
- improve project setup and sustainability
- previous experience
- read in source directory
- write output directory
- specific language
- not necessarily present or called explicitly with scripting languages
- shell based
- language agnostic
- supports incremental compilation (!)
- written in Java
- XML and library based
- written in Java
- XML and library / plugin based
- written in Groovy
- Ant with Groovy scripts instead of XML
- Groovy (and Kotlin) for scripting
- compatible with Ant
- using conventions popularised by Maven
- packaged plugins and script plugins
- increased flexibility
- ability to refactor
- User Guide, API docs, DSL docs
- Project, Tasks
- Build Lifecycle
- Plugins
- Initialization phase
- Configuration phase
- Execution phase
The java plugin
- Source Sets
- Configurations
- Dependencies