4.5.1
Docs
Open Docs Menu
User Manual
Guides and Tutorials
DSL Reference
Javadoc
Release Notes
Forums
Training
Enterprise
User Manual Home
DSL Reference Home
Release Notes
Getting Started
Installing Gradle
Creating a New Gradle Build
Creating Build Scans
Migrating from Maven
Using Gradle Builds
Command-Line Interface
Gradle Wrapper
Build Scans
Build Environment
Initialization Scripts
Multi-Project Builds
Build Cache
Composite Builds
Continuous Build
Daemon
Troubleshooting
Embedding Gradle
Authoring Gradle Builds
JVM Projects
JVM Tutorials
Building Groovy Libraries
Building Java Libraries
Building Java 9 Modules
Building Java Applications
Building Java Web Applications
Building Kotlin JVM Libraries
Building Scala Libraries
Consuming JVM Libraries
Creating Multi-project Builds
Groovy Quickstart
Java Quickstart
Web Application Quickstart
Writing Custom Script Tasks
Writing Custom Task Classes
Dependency Management for Java Projects
Plugins Reference
ANTLR Plugin
Application Plugin
Checkstyle Plugin
CodeNarc Plugin
EAR Plugin
Eclipse Plugin
FindBugs Plugin
Groovy Plugin
IDEA Plugin
JaCoCo Plugin
Java Plugin
Java Library Plugin
Java Library Distribution Plugin
Java Software Model
Jetty Plugin
JDepend Plugin
OSGi Plugin
Play Plugin
Project Report Plugin
PMD Plugin
Scala Plugin
WAR Plugin
Using Ant from Gradle
C++ Projects
C++ Tutorials
Building C++ Executables
Building C++ Libraries
Building Native Software
Software Model Concepts
Rule-based Model Configuration
Implementing Model Rules in a Plugin
Extending the Software Model
Android Projects
Building Android Apps
JavaScript Projects
Bundling JavaScript with Webpack
Authoring Build Scripts
Build Script Basics
Authoring Tasks
Logging
Testing with TestKit
Authoring Multi-Project Builds
Standard Gradle Plugins
Using Gradle Plugins
Writing Build Scripts
Working with Files
Build Lifecycle
Feature Lifecycle
Managing Dependencies
Introduction to Dependency Management
Declaring Dependencies
Declaring Repositories
Inspecting Dependencies
Managing Transitive Dependencies
Working with Dependencies
Customizing Dependency Resolution Behavior
Troubleshooting Dependency Resolution
Glossary
Dependency Types
Repository Types
Publishing Artifacts
Publishing Artifacts Overview
Distribution Plugin
Maven Plugin
Maven Publish Plugin
Ivy Publish Plugin
Signing Plugin
Best Practices
Organizing Build Logic
Optimizing Build Performance
Using the Build Cache
Sample Gradle Builds
Sample Projects
Native Samples
Kotlin DSL Samples
Developing Gradle Plugins
Gradle Plugins Tutorials
Designing Gradle Plugins
Implementing Gradle Plugins
Testing Gradle Plugins
Publishing Gradle Plugins
Developing Parallel Tasks
Lazy Task Configuration
Plugin Development Plugin
Writing Custom Plugins
Extending the build
Table of Contents
Writing Custom Task Classes
Packaging a task class
Writing a simple task class
A standalone project
Incremental tasks
The Worker API
Re-using logic between task classes
Writing Custom Plugins
Packaging a plugin
Writing a simple plugin
Making the plugin configurable
Working with files in custom tasks and plugins
Mapping extension properties to task properties
A standalone project
Providing a configuration DSL for the plugin
Gradle Plugin Development Plugin
Usage
Organizing Build Logic
Inherited properties and methods
Injected configuration
Configuring the project using an external build script
Build sources in the
buildSrc
project
Running another Gradle build from a build
External dependencies for the build script
Ant optional dependencies
Summary
Lazy Configuration
Lazy properties
Creating a Property or Provider
Working with files and Providers
Working with task dependencies and Providers
Working with collection Providers
Guidelines
Future development
Provider API Quick Reference
Initialization Scripts
Basic usage
Using an init script
Writing an init script
External dependencies for the init script
Init script plugins
Testing Build Logic with TestKit
Usage
Functional testing with the Gradle runner
Getting the plugin-under-test into the test build
Controlling the build environment
The Gradle version used to test
Debugging build logic
Testing with the Build Cache