Gradle
User Manual
Theme
Build Tool
Releases
Features
9.0.0 Highlights
8.0.0 Highlights
Gradle vs Maven
Learn
User Manual
DPE University
YouTube Channel
Events and Webinars
Support
Community Slack
Community Forums
Professional Services
News
Newsletter
Blog
Gradle Technologies
Develocity®
Build Scan®
DPE.org
Careers
About
Contact Us
Gradle Fellowship
GitHub
Gradle User Manual
Getting Started
Gradle Tutorials
Beginner Tutorial
1. Initializing the Project
2. Running Tasks
3. Understanding Dependencies
4. Applying Plugins
5. Exploring Incremental Builds
6. Enabling the Build Cache
Intermediate Tutorial
1. Initializing the Project
2. Understanding the Build Lifecycle
3. Multi-Project Builds
4. Writing the Settings File
5. Writing a Build Script
6. Writing Tasks
7. Writing Plugins
Advanced Tutorial
1. Initializing the Project
2. Adding an Extension
3. Creating a Custom Task
4. Writing a Unit Test
5. Adding a DataFlow Action
6. Writing a Functional Test
7. Using a Consumer Project
8. Publish the Plugin
Gradle Releases
All Releases
Release Notes
Installing Gradle
Upgrading Gradle
Within versions 9.x.y
To version 9.0.0
Within versions 8.x
From version 7.x to 8.0
From version 6.x to 7.0
From version 5.x to 6.0
From version 4.x to 5.0
Migrating to Gradle
from Maven
from Ant
Compatibility Notes
Gradle's Feature Lifecycle
Gradle Fundamentals
Learning Gradle Basics
1. Core Concepts
2. Wrapper Basics
3. CLI Basics
4. Settings File Basics
5. Build File Basics
6. Dependencies Basics
7. Tasks Basics
8. Caching Basics
9. Plugins Basics
10. Build Scan Basics
Writing Build Scripts
1. Anatomy of a Gradle Build
2. Structuring Multi-Project Builds
3. Gradle Build Lifecycle
4. Writing Build Scripts
5. Gradle Managed Types
6. Declaring Dependencies
7. Creating and Registering Tasks
8. Working with Plugins
Creating Plugins
1. Plugin Introduction
2. Pre-Compiled Script Plugins
3. Binary Plugins
4. Developing Binary Plugins
5. Testing Binary Plugins
6. Publishing Binary Plugins
Gradle Reference
Runtime and Configuration
Command-Line Interface
Logging and Output
Gradle Wrapper
Gradle Daemon
Gradle Directories
Build Configuration
Build Lifecycle
Build Scan
Continuous Builds
File System Watching
DSLs and APIs
Java API
Groovy DSL Primer
Groovy DSL
Kotlin DSL Primer
Kotlin DSL
Public APIs
Default Script Imports
Groovy to Kotlin DSL Migration
Gradle Managed Types
Lazy vs Eager Evaluation
Properties and Providers
Collections
Services and Service Injection
Dataflow Actions
Working with Files
Tasks
Understanding Tasks
Controlling Task Execution
Organizing Tasks
Implementing Custom Tasks
Lazy Configuration
Parallel Task Execution
Advanced Task Development
Shared Build Services
Plugins
Introduction to Plugins
Precompiled Script Plugins
Convention Plugins
Binary Plugins
Testing Plugins
Preparing to Publish
Publishing Plugins
Reporting Plugin Problems
Initialization Scripts & Init Plugins
Testing with TestKit
Core Plugins
Dependencies
Getting Started
Learning the Basics
1. Declaring Dependencies
2. Dependency Configurations
3. Declaring Repositories
4. Centralizing Dependencies
5. Dependency Constraints and Conflict Resolution
Advanced Concepts
1. Dependency Resolution
2. Graph Resolution
3. Variant Selection
4. Artifact Resolution
Declaring Dependencies
Declaring Dependencies
Viewing Dependencies