Theme
Light
Dark
System
Build Tool
Releases
Features
9.0.0 Highlights
8.0.0 Highlights
Gradle vs Maven
Learn
User Manual
YouTube Channel
Events and Webinars
Support
Community Slack
Community Forums
Professional Services
Security Subscription
News
Newsletter
Blog
About
About Us
Contact Us
Gradle Fellowship
Develocity
GitHub
Gradle User Manual
Getting Started
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 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 Best Practices
Introduction
Best Practices
Best Practices Index
General Best Practices
Best Practices for Structuring Builds
Best Practices for Dependencies
Best Practices for Tasks
Best Practices for Performance
Best Practices for Security
Best Practices for Testing
Gradle DSLs and APIs
Groovy
Groovy DSL Primer
Groovy DSL Reference
Kotlin
Kotlin DSL Primer
Kotlin DSL Reference
Migration from Groovy
General
Java API
Public APIs
Default Script Imports
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
Core Plugins
Core Plugins
JVM Plugins
Java Plugin
Java Library Plugin
Java Platform Plugin
Groovy Plugin
Scala Plugin
ANTLR Plugin
JVM Test Suite Plugin
Test Report Aggregation Plugin
Native Plugins
C++ Application Plugin
C++ Library Plugin
C++ Unit Test Plugin
Swift Application Plugin
Swift Library Plugin
XCTest Plugin
Packaging/Distribution Plugins
Java Application Plugin
WAR Plugin
EAR Plugin
Maven Publish Plugin
Ivy Publish Plugin
Distribution Plugin
Java Library Distribution Plugin
Code Analysis Plugins
Checkstyle Plugin
PMD Plugin
JaCoCo Plugin
JaCoCo Report Aggregation Plugin
CodeNarc Plugin
IDE Integration Plugins
Eclipse Plugin
IntelliJ IDEA Plugin
Visual Studio Plugin
Xcode Plugin
Utility Plugins
Base Plugin
Build Init Plugin
Signing Plugin
Java Gradle Plugin
Project Report Plugin
Build Dashboard Plugin
Tasks
Understanding Tasks
Controlling Task Execution
Organizing Tasks
Implementing Custom Tasks
Lazy Configuration
Parallel Task Execution
Advanced Task Development
Shared Build Services
Task Configuration Avoidance
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
Dependencies
Getting Started
Learning the Basics