Gradle In-Depth Training Palo Alto
Gradle In-Depth Training Palo Alto

Gradle In-Depth Training Palo Alto

Event Information

Share this event

Date and Time



Crowne Plaza Palo Alto

4290 El Camino Real

Palo Alto, CA 94306

View Map

Friends Who Are Going
Event description


The Gradle In-Depth training course is an extensive hands-on three day Gradle training course for build masters and developers who are authoring their builds. Participants will learn how to use the Gradle build system to substantially increase their productivity. This Gradle training class first runs through some Groovy fundamentals and then moves quickly into thorough in-depth coverage of the Gradle build system.

Participants will spend a significant portion of the class with their hands on the keyboard, learning
by doing, working through lab exercises designed to build on the presented material and explore the depths of Gradle. This class can take you from complete newcomer status to Gradle competence. Due to the in-depth treatment of the topics it is also very suitable for people who have experience working with Gradle. The class will be delivered by a Gradle Core Developer which gives you access to the deepest Gradle knowledge available. No question will remain unanswered.


Once the training is complete participants will know:

  • The basics of Gradle and Groovy
  • How Gradle integrates with Android
  • How to write your own Gradle plugins
  • How to integrate projects with Ant and Maven
  • About copy and archive tasks in Gradle
  • How to work with a powerful file system API
  • Build migration best practices
  • How to use the Gradle performance
  • How to build Java applications
  • How to efficiently move away from your current build environment
  • How to deal with complex build requirements
  • How to deal with large multi module builds


New and experienced users are encouraged to attend Gradle In-depth. This class has something for every level of Gradle user.


This course assumes a good understanding of the Java language. Some code is initially easier to understand if you also have a basic understanding of the Groovy language. But due to Groovy’s similarity to Java, Groovy is not a prerequisite. There will be a very short introduction to Groovy at the beginning of the course.

Course Outline

Day 1

The Gradle Project

  • About the project
  • Documentation / Resources / Support

The Groovy Language

  • Executing Groovy code
  • Syntax basics
  • Dynamic typing
  • Domain Specific Languages & Gradle
  • Groovy JDK extensions
  • Closures

Gradle Introduction

  • The Gradle philosophy
  • Installing Gradle
  • Gradle build scripts
  • The build lifecycle
  • The Gradle build daemon


  • Declaring tasks
  • Executing tasks
  • Configuring tasks
  • Implementing custom tasks
  • Extending tasks
  • Task dependencies
  • Task exclusion
  • Conditionally skipping tasks
  • The Task Graph API
  • Task rules


  • Controlling log levels
  • Logging from the build script
  • Logging from classes
  • Managing child process output

Day 2


  • What are Gradle plugins?
  • The role of plugins
  • Packaging and distributing plugins
  • Review of core plugins

Working with files

  • The file tasks (e.g. Copy, Sync)
  • Filtering, excluding, aggregating, renaming
  • Working with CopySpecs
  • Expanding and making archives (zip, tar etc.)
  • The Gradle file APIs
  • Best practices for working with files

Ant Integration

  • Gradle compared to Ant
  • When to utilize Ant in Gradle
  • Using Ant tasks in Gradle builds
  • Importing Ant builds
  • Migrating from Ant to Gradle

Dependency Management

  • Terminology
  • Repositories, metadata and transitive dependencies
  • Dependency configurations
  • Declaring dependencies
  • Customizing dependency resolution & conflict-management
  • Publishing artifacts (Maven & Ivy)

Day 3

Extending the model

  • Extending existing objects
  • Object extensions
  • Object containers & configuration rules

Task inputs & outputs

  • The power of the input/output model
  • Describing inputs and outputs
  • Incremental builds
  • Inferring task dependencies

The Java plugin

  • Source sets
  • Project conventions
  • Automated testing
  • Building JARs

Multiproject builds

  • Defining a multiproject build
  • Avoiding duplicate configuration with configuration injection
  • Inter project dependencies
  • Downstream and upstream partial builds

The build runtime

  • Extending all builds with init scripts
  • Init script locations
  • Using the Gradle wrapper
  • Customizing the Gradle distribution with init scripts
Share with friends

Date and Time


Crowne Plaza Palo Alto

4290 El Camino Real

Palo Alto, CA 94306

View Map

Save This Event

Event Saved