These notes were created solely for educational purposes while I was learning Gradle on my own. The main focus is to grasp Gradle basics, terminology, concepts and workflow. That is why for simplicity I am using:
Groovy
as build script languageJava
as main programming languagezsh
in Terminal
❕ Click here to start ❕
〰️ or feel free to jump to any topic, using Table of Contents below 〰️
Check new bonus chapter: 🪶 Maven Notes 🪶
Learn how to "build" your project, what built-in options do you have, and why do you need build tools.
Prerequisites, installation.
Learn about Gradle features, core concept, and what lifecycle Gradle build has.
Learn how to create basic Gradle project, and what structure it has.
Learn how to configure Gradle build using build script, get to know basic build.gradle structure, and also some Groovy basics - Gradle DSL.
Learn what is Gradle Wrapper, why it is so useful, and how to use/upgrade it.
Create simple Java application using different methods: init task, IDEs, or manually add Gradle to the project.
Work with Gradle using CLI or third-party tools.
Learn where Gradle stores build output, how to generate build artifacts: jar, tar or zip files, and how to publish your library.
Learn about multi-project build structure, how to execute tasks, and how subprojects can depend on each other.
Learn where you can ask for help in case of some Gradle issues, and what is Build Scan.
Learn how to use Maven and what are the differences and similarities between Gradle and Maven functionality.
Links to the resources that were used to write these cheatsheets.