4.7
Docs
Open Docs Menu
User Manual
Guides and Tutorials
DSL Reference
Javadoc
Release Notes
Forums
Training
Enterprise
User Manual Home
Release Notes
Getting Started
Installing Gradle
Creating New Gradle Builds
Creating Build Scans
Migrating From Maven
Using Gradle Builds
Command-Line Interface
Customizing Execution
Configuring Build Environment
Configuring Gradle Daemon
Initialization Scripts
Executing Multi-Project Builds
Gradle Wrapper
Troubleshooting
Using Build Scans
Project Tutorials
Android
Building Android Apps
C++
Building C++ Executables
Building C++ Libraries
Groovy
Building Groovy Libraries
Java
Building Java Applications
Building Java Libraries
Building Java 9 Modules
Building Java Web Applications
JavaScript
Running Webpack with Gradle
Kotlin
Building Kotlin JVM Libraries
Scala
Building Scala Libraries
Authoring Gradle Builds
Groovy DSL Reference
Gradle API Javadoc
Gradle Feature Lifecycle
Best Practices
Authoring Maintainable Build Scripts
Organizing Build Logic
Optimizing Build Performance
Using the Build Cache
Build Configuration Scripts
Build Cache Basics
Build Initialization
Build Lifecycle
Build Script Basics
Composite Builds
Configuring Multi-Project Builds
Declaring Tasks
Logging
Standard Gradle Plugins
Testing with TestKit
Using Gradle Plugins
Working with Files
Writing Build Scripts
Writing Custom Task Classes
Dependency Management
Introduction to Dependency Management
Dependency Management Terminology
Dependency Types
Repository Types
Declaring Dependencies
Declaring Repositories
Inspecting Dependencies
Managing Dependency Configurations
Managing Transitive Dependencies
Troubleshooting Dependency Resolution
Customizing Dependency Resolution Behavior
Dependency Cache Internals
Working with Dependencies
Publishing Artifacts
Distribution Plugin
Maven Plugin
Maven Publish Plugin
Ivy Publish Plugin
Publishing Artifacts Overview
Signing Plugin
Sample Gradle Builds
Groovy DSL Samples
Kotlin DSL Samples
Base Plugin
C++ Projects
Building Native Software
Software Model Concepts
Rule-based Model Configuration
Implementing Model Rules in a Plugin
Extending the Software Model
Groovy Projects
Groovy Quickstart
Groovy Plugin
CodeNarc Plugin
Java Projects
Java Quickstart
Building Java & JVM Projects
Testing Java & JVM Projects
Java Plugin
Java Library Plugin
Java Library Distribution Plugin
Java Dependency Management
Using Ant from Gradle
ANTLR Plugin
Application Plugin
Code Quality Plugins
Checkstyle Plugin
FindBugs Plugin
JaCoCo Plugin
JDepend Plugin
PMD Plugin
OSGi Plugin
Java Web Projects
Web Application Quickstart
EAR Plugin
Play Plugin
WAR Plugin
Scala Projects
Scala Plugin
Integrating Gradle
Continuous Integration
Using Gradle with Jenkins
Using Gradle with Travis CI
IDE Integration
Eclipse Plugin
IDEA Plugin
Tooling API
Extending Gradle
Plugin Development Guides
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
Declaring and Using Command Line Options
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