What the Gradle team have shipped since Gradle 3.0, featuring performance features like compile avoidance, user experience features like the Kotlin DSL, and brand new tools like the Java 9 support
From mobile apps to microservices, from small
startups to big enterprises, Gradle helps teams
build, automate and deliver beGer soHware, faster.
Automate Everything
Integrates with other tools like
Docker for development or
opera7ons.
Integrates with and delegates to
NPM, MSBuild, Ant, and other
tools.
Build Anything
Support for Java, C/C++, Python,
JavaScript, Go, and other
languages.
Go monorepo, mul7-repo, or
anywhere in-between.
Trusted by Millions
Official build tool for Android
4M+ downloads per month
#17 on BaOery OSS Index
Gradle Overview
Languages built by Gradle
4%
7%
13%
21%
55%
GITHUB PUBLIC
SOURCE BYTES
Java
C
JS/CSS/HTML
C++
Groovy/Kotlin/Other
#BigQuery hOps://git.io/vQfUx
• Analyze class dependencies to opKmize
which classes are recompiled
• Fast in-memory cache of class ABIs inside
daemon
Incremental Compila7on for Java
buildCache {
local {
enabled = !isCI
}
remote(HttpBuildCache) {
url = "https://my.ge.server/cache/"
push = isCI
}
}
CI
Remote
Cache
Local
Cache
Developer
Build Cache
As of Gradle 4.2, Java and Scala toolchains are
cacheable by default. We're working on leveraging
this for all sensible tasks.
Self-hosted Build Scans
Collect build history across all
Gradle builds.
Export build data; perform trend
analysis and data-driven
engineering effec7veness.
gradle.com/build-scans
Enterprise Build Cache
Easy installa7on and maintenance
tools for the Gradle Build Cache.
Enjoy much faster builds by
reusing task outputs across
machines.
gradle.com/build-cache
Support and ConsulQng
Get help migra7ng or upgrading
Gradle.
Expert build op7miza7on, saving
7me and improving developer
happiness.
gradle.org/services
Gradle Enterprise
Enterprise-grade Build Cache & Build Scans
Gradle 4.2.1 provides runKme support for Java 9
applicaKons and libraries.
It does not have first-class support for Java 9
modules yet.
Java 9 Support
1. Add module-info.java
2. Modify JavaCompile tasks to produce
modules
3. Modify compile test tasks to patch modules
4. Modify Test tasks to consume patched
modules
Adop7ng Java 9 modules using Gradle
git.io/gradle-compleKon
• CompleKon for tasks, flags, and common
properKes
• Available for bash and zsh
• Kotlin build scripts support
• ~20x faster than alternaKves for medium
to large projects
‣ Incremental Compile
‣ Compile Avoidance
‣ Build Cache
‣ Parallelism
Shipped since Gradle 3.0
Performance
✦ Buildship 2.0
✦ Kotlin DSL
✦ Improved CLI
✦ Build Scans
User Experience
❖ Java Library Plugin
❖ Java 9 Support
❖ NaKve Build Features
❖ Composite Builds
New Tools
• gradle.org/guides — Get started using
various technologies with Gradle
• gradle.org/training — Monthly free online
training with core engineers
• gradle.com/enterprise — Build together;
not alone
Learn More