Modern Gradle Fundamentals
What you'll learn
- The fundamental Gradle concepts
- How to structure Gradle projects - efficiently to work with and maintainable
- Understanding the Gradle DSL (Kotlin and Groovy variant)
- Gradle build configuration: Settings File, Build Files and Convention Plugins
- Gradle build execution: Tasks, Task Inputs/Outputs, Task Dependencies
- Dependency management: Scopes/Configurations, Repositories, Versioning
- Configuring Testing with Gradle
- Using Java to configure Gradle
- You should be familiar with IntelliJ IDEA and the programming languages (e.g. Java) for which you want to setup a project with Gradle. You do not need any prior knowledge about Gradle itself.
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 of Gradle 7 and beyond.
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.
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
Kotlin vs Groovy DSL
Writing Build Configuration in Java
Who this course is for:
- Java Developers
- Android Developers
- Kotlin Developers
- Scala Developers
- Groovy Developers
I am a software build automation and Gradle enthusiast. I work on and with Gradle for several years now.
2+ years consultant and trainer for Gradle
Gradle trainings / helping teams with their Gradle builds / online courses and videos on Gradle / developing Gradle plugins / Gradle Fellow
5 years working on Gradle (Gradle 3 to Gradle 7)
Dependency Constraints / Component Metadata Rules / Publishing / Java Module System / Docs, Samples, Init / and more
20+ years experience in software development