
Get a basic understanding of what Gradle is.
Learn how to define a project structure with Gradle and how to tell Gradle where to discover existing software components and Gradle plugins.
Learn how to give meaning to each component of your software by applying Gradle plugins.
Learn how to organise your build configuration by defining your own Gradle Convention Plugins.
Learn how to connect the components of your software to a complete application by defining dependencies.
Learn what Gradle does when you execute a build and which mechanisms make a Gradle build efficient.
Learn how to further configure tasks, which have been registered by plugins you applied, for your needs.
Learn how to register new tasks for your custom needs using existing task implementations like Zip or Copy.
Learn how to implement your own Task (in Java) and seamlessly integrate it into your build.
Learn about the lifecycle task concept that makes a build more accessible to new users.
Learn about Gradle's 'Configuration' concept and the scopes for dependency declarations in Java projects.
Learn how to centralise dependency versions by using a platform project.
Learn how to centralise dependency versions by using a dependency version catalog.
Get an introduction to dependency version conflicts and Component Metadata Rules.
Learn about the Source Set concept and its importance for writing tests.
Learn about configuring, and registering additional, test tasks.
Learn about the most common differences between the Groovy and Kotlin variants of Gradle's DSL.
Learn how to use Java to configure your build (instead of Kotlin or Groovy).
Gradle is one of the most advanced build tools for Java and other JVM languages like Kotlin, Groovy and Scala.
In this course you learn how to structure your software project with Gradle to get the most out of it.
This course is hands-on. Together, we build up a project from scratch, learning Gradle features one-by-one. While we do this on the example of a Java project, the gained knowledge can be transferred to any kind of software project built with Gradle.
Whatever automation task you would like to tackle: This course is for you to unlock the full power of Gradle.
No prior Gradle knowledge is required and you learn the latest best practices for current Gradle versions (established since Gradle 7).
The video instructions are packed with information. To follow along, you will likely pause the videos regularly to explore the example and make sure it works for you. You should plan in ~3 times the duration of a video to work through the corresponding lecture.
Topics Overview
Gradle Configuration Language (Gradle's DSL)
Define a Project Structure - Settings File and Gradle Wrapper
Give Meaning to Components/Subprojects - Build Files
Centralise Build Configuration - Convention Plugins
Compose an Application - add Dependencies
Run the Build - with Incremental Building and Caching
Configure Tasks added by Plugins
Register new Tasks using existing Task Implementations
Implement your own Build Logic in a Task
Make your Project accessible through Lifecycle Tasks
Dependency Scopes (aka Configurations)
Central Places for Dependency Versions - Platform Projects / Dependency Version Catalogs
Conflicts and Component Metadata Rules
Source Sets
Configuring Testing
Kotlin vs Groovy DSL
Writing Build Configuration in Java