Gradle
User Manual
Theme
Community
Community Home
Community Forums
Community Plugins
DPE University
Events
News
Newsletter
Blog
Twitter
Develocity
Github
Overview
What is Gradle?
Quick Start
Releases
All Releases
Release Notes
Installing Gradle
Upgrading Gradle
version 8.X to latest
version 7.X to 8.0
version 6.X to 7.0
version 5.X to 6.0
version 4.X to 5.0
Migrating to Gradle
from Maven
from Ant
Troubleshooting
Compatibility Notes
Gradle's Feature Lifecycle
Running Gradle Builds
Getting Started
Learning the Basics
1. Gradle Basics
2. Gradle Wrapper Basics
3. Command-Line Interface Basics
4. Settings File Basics
5. Build File Basics
6. Dependency Management Basics
7. Task Basics
8. Plugins Basics
9. Incremental Builds + Caching
10. Build Scans
Beginner Tutorial
1. Initializing the Project
2. Running Tasks
3. Understanding Dependencies
4. Applying Plugins
5. Exploring Incremental Builds
6. Enabling the Build Cache
7. Using Reference Materials
Gradle in the IDE
Authoring Gradle Builds
Getting Started
Learning the Basics
1. Gradle Directories
2. Multi-Project Builds
3. Gradle Build Lifecycle
4. Writing Settings Files
5. Writing Build Scripts
6. Using Tasks
7. Writing Tasks
8. Using Plugins
9. Writing Plugins
Advanced 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
Gradle Types
Understanding Properties and Providers
Understanding Collections
Understanding Services and Service Injection
Structuring Builds
Structuring Projects with Gradle
Declaring Dependencies between Subprojects
Sharing Build Logic between Subprojects
Composite Builds
Configuration on Demand
Developing Tasks
Understanding Tasks
Controlling Task Execution
Organizing Tasks
Implementing Custom Tasks
Configuring Tasks Lazily
Developing Parallel Tasks
Developing Advanced Tasks
Using Shared Build Services
Developing Plugins
Understanding Plugins
Understanding Implementation Options
Implementing Pre-compiled Script Plugins
Implementing Binary Plugins
Testing Plugins
Publishing Plugins
Reporting Problems
Other Topics
Working with Files
Initialization Scripts
Dataflow Actions
Testing with TestKit
Using Ant from Gradle
Optimizing Gradle Builds
Configuring the Build Environment
Gradle-managed Directories
Logging with Gradle
Configuring Gradle
Improving Performance
Build Cache
Enabling and Configuring
Why use the Build Cache?
Understanding the Impact
Learning Basic Concepts
Caching Java Project
Caching Android Project
Debugging Caching Issues
Troubleshooting
Configuration Cache
Continuous Builds
Inspecting Builds
Isolated Projects
File System Watching
Dependency Management
Getting Started
Learning the Basics
1. Declaring Dependencies
2. Dependency Configurations
3. Declaring Repositories
4. Centralizing Dependencies
5. Dependency Constraints and Conflict Resolution
6. Dependency Resolution
7. Variant Aware Dependency Resolution
Declaring Dependencies
Declaring Dependencies Basics
Viewing Dependencies
Declaring Versions and Ranges
Declaring Dependency Constraints
Creating Dependency Configurations
Declaring Repositories
Declaring Repositories Basics
Centralizing Repository Declarations
Repository Types
Metadata Formats
Supported Protocols
Filtering Repository Content
Centralizing Dependencies
Creating Platforms
Creating Version Catalogs
Using Catalogs with Platforms
Managing Dependencies
Locking Versions
Using Resolution Rules
Modifying Dependency Metadata
Caching Dependencies
Understanding Dependency Resolution
Understanding The Model
Capabilities
Variants and Attributes
Controlling Dependency Resolution
Dependency Resolution Basics
Graph Resolution
Artifact Resolution
Artifact Transforms
Publishing Libraries
Setting up Publishing
Understanding Gradle Module Metadata
Signing Artifacts
Customizing Publishing
Maven Publish Plugin
Ivy Publish Plugin
Other Topics
Verifying Dependencies
Aligning Dependencies
Modeling Feature Variants and Optional Dependencies
Platforms
JVM Builds
Building Java & JVM projects
Testing Java & JVM projects
Java Toolchains
Toolchains for JVM projects
Toolchain Resolver Plugins
Managing Dependencies
JVM Plugins
Java Library Plugin
Java Application Plugin
Java Platform Plugin
Groovy Plugin
Scala Plugin
C++ Builds
Building C++ projects
Testing C++ projects
Swift Builds
Building Swift projects
Testing Swift projects
Integration
Third-party Tools
Reference
Gradle DSLs and API
Javadoc
Groovy DSL Primer
Groovy DSL Reference
Kotlin DSL Primer
Kotlin DSL API
Groovy to Kotlin DSL Migration
Gradle Wrapper
Gradle Daemon
Command-Line Interface
Core Plugins
List of Core Plugins
How To Guides
How to share outputs between projects
Samples
Glossary
Cookbook
Single Page Version
PDF Version
Was this page helpful?
Additional Feedback:
You can
submit issues
directly on Github.
Submit Feedback