Gradle
User Manual
  • Community
    Community Home
    Community Forums
    Community Plugins
  • Training
  • News
    Newsletter
    Blog
    Twitter
  • Enterprise
  • github

Introduction

  • What is Gradle?
  • Gradle Enterprise

What is new?

  • Release Notes
  • Upgrading Gradle
    • version 7.X to 8.0
    • version 6.X to 7.0
    • version 5.X to 6.0
    • version 4.X to 5.0
    • Gradle's Feature Lifecycle
  • Compatibility Notes

Quick Start

  • Getting Started
  • Installing Gradle
  • Samples
  • Migrating to Gradle
    • from Maven
    • from Ant
  • Gradle DSLs and API
    • Javadoc
    • Groovy DSL Primer
    • Groovy DSL Reference
    • Kotlin DSL Primer
    • Kotlin DSL API
    • Groovy to Kotlin DSL Migration
  • Troubleshooting Builds

Running Gradle Builds

  • Command-Line Interface
  • The Gradle Wrapper
  • Customizing Execution
    • Configure the Build Environment
    • Gradle Daemon
    • File System Watching
    • Initialization Scripts
  • Executing Multi-Project Builds

Authoring Gradle Builds

  • Learning the Basics
    • Understanding the Build Lifecycle
    • Gradle-managed Directories
    • Writing Build Scripts
    • Learning More About Build Scripts
    • Using Gradle Plugins
    • Working with Files
    • Working with Logging
    • Avoiding Traps
  • Structuring Individual Builds
    • Creating a Basic Multi-Project Build
    • Declaring Dependencies between Subprojects
    • Sharing Build Logic between Subprojects
    • Fine Tuning the Project Layout
    • Understanding Configuration and Execution
  • Structuring Software Products
    • Structuring Large Projects
    • Tweaking Project Structure
    • Composing Builds
  • Authoring Sustainable Builds
    • Organizing Build Logic
    • Following Best Practices
  • Developing Gradle Tasks
    • Authoring Tasks
    • Incremental build
    • Writing Gradle Task Types
    • Configuring Tasks Lazily
    • Avoiding Unnecessary Task Configuration
    • Developing Parallel Tasks
  • Developing Gradle Plugins
    • Starting Plugin Development
    • Designing Plugins
    • Implementing Plugins
    • Testing Plugins
    • Publishing Plugins
  • Other Developing Gradle Topics
    • Writing Custom Gradle Types and Service Injection
    • Shared Build Services
    • Testing a Build with TestKit
    • Using Ant from Gradle

Authoring 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

Working with Dependencies

  • Terminology
  • Learning the Basics
    • What is Dependency Management?
    • Declaring Repositories
    • Declaring Dependencies
    • Understanding Library and Application Differences
    • Viewing and Debugging Dependencies
    • Understanding Resolution
    • Verifying dependencies
  • Declaring Versions
    • Declaring Versions and Ranges
    • Declaring Rich Versions
    • Handling Changing Versions
    • Locking Versions
  • Controlling Transitives
    • Upgrading Versions
    • Downgrading and Excluding
    • Sharing Versions
    • Aligning Dependencies
    • Handling Mutually Exclusive Dependencies
    • Fixing Metadata
    • Customizing Resolution
    • Preventing accidental upgrades
  • Producing and Consuming Variants of Libraries
    • Declaring Capabilities of a Library
    • Modeling Feature Variants and Optional Dependencies
    • Understanding Variant Selection
    • Declaring Variant Attributes
    • Sharing Outputs of Projects
    • Transforming Artifacts
  • Publishing Libraries
    • Setting up Publishing
    • Understanding Gradle Module Metadata
    • Signing Artifacts
    • Customizing Publishing
    • Maven Publish Plugin
    • Ivy Publish Plugin

Optimizing Build Times

  • Improving Performance of Gradle Builds
  • Using the 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
  • Using the Configuration Cache
  • Inspecting Gradle Builds

Authoring C++/Swift Builds

  • Building C++ projects
  • Testing C++ projects
  • Building Swift projects
  • Testing Swift projects

Gradle on CI

  • Jenkins
  • TeamCity
  • GitHub Actions
  • Travis CI

Reference

  • Core Plugins
  • Gradle & Third-party Tools
  • User Manual PDF
Docs
  • User Manual
  • DSL Reference
  • Release Notes
  • Javadoc
News
  • Blog
  • Newsletter
  • Twitter
  • Status Page
Products
  • Build Scan™
  • Build Cache
  • Enterprise Docs
Get Help
  • Forums
  • GitHub
  • Training
  • Services
Stay UP-TO-DATE on new features and news

By entering your email, you agree to our Terms and Privacy Policy, including receipt of emails. You can unsubscribe at any time.

© Gradle Inc. 2022 All rights reserved.
gradle
Careers | Privacy | Terms of Service | Contact