docs.gradle.org Open in urlscan Pro
2606:4700::6810:4965  Public Scan

Submitted URL: http://docs.gradle.org/
Effective URL: https://docs.gradle.org/current/userguide/userguide.html
Submission: On April 14 via api from US — Scanned from DE

Form analysis 1 forms found in the DOM

<form>
  <label for="feedback">Additional Feedback:</label>
  <textarea id="feedback" name="feedback" rows="4" cols="50" placeholder="Tell us more about your experience."></textarea>
  <div>You can <a href="https://github.com/gradle/gradle/issues/new?assignees=&amp;labels=a%3Adocumentation%2Cto-triage&amp;projects=&amp;template=40_contributor_documentation.yml"> submit issues</a> directly on Github.</div>
  <button id="feedback-button" type="button" onclick="submitAdditionalFeedback()" disabled=""> Submit Feedback <div class="animate-flicker"></div>
  </button>
</form>

Text Content

Gradle
User Manual
 * 8.7 Open Community Menu
   8.5
   7.6.2
   6.9.4
   5.6.4
   All versions

 * Theme
 * Community
   Community Home
   Community Forums
   Community Plugins
 * Training
 * News
   Newsletter
   Blog
   Twitter
 * Develocity
 * Github


OVERVIEW

 * What is Gradle?
 * The User Manual


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
 * Core Concepts
   * 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
 * 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
 * Continuous Build


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
 * 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
 * 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
 * Developing Plugins
   * Understanding Plugins
   * Understanding Implementation Options
   * Implementing Pre-compiled Script Plugins
   * Implementing Binary Plugins
   * Testing Plugins
   * Publishing Plugins
 * Best Practices
   * Organizing Build Logic
   * Following Best Practices
 * Other Topics
   * Gradle-managed Directories
   * Working with Files
   * Working with Logging
   * Avoiding Traps
   * Configuring the Build Environment
   * Initialization Scripts
   * Writing Custom Gradle Types and Service Injection
   * Shared Build Services
   * Dataflow Actions
   * 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 PERFORMANCE

 * Improving Performance of Gradle Builds
 * Gradle Daemon
 * File System Watching
 * Incremental Build
 * 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
 * Configuring Gradle
 * Project Properties
 * Gradle Networking


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

 * Gradle DSLs and API
   * Javadoc
   * Groovy DSL Primer
   * Groovy DSL Reference
   * Kotlin DSL Primer
   * Kotlin DSL API
   * Groovy to Kotlin DSL Migration
   * Samples
 * Command-Line Interface
 * Gradle Wrapper
 * Core Plugins
 * Gradle & Third-party Tools
 * User Manual Single Page
 * User Manual PDF


GRADLE USER MANUAL

version 8.7
Contents
 * Gradle Build Tool
 * Why Gradle?
 * Education
 * Support
 * Licenses


GRADLE BUILD TOOL

Gradle Build Tool is a fast, dependable, and adaptable open-source build
automation tool with an elegant and extensible declarative build language.

In this User Manual, Gradle Build Tool is abbreviated Gradle.


WHY GRADLE?

Gradle is a widely used and mature tool with an active community and a strong
developer ecosystem.

 * Gradle is the most popular build system for the JVM and is the default system
   for Android and Kotlin Multi-Platform projects. It has a rich community
   plugin ecosystem.

 * Gradle can automate a wide range of software build scenarios using either its
   built-in functionality, third-party plugins, or custom build logic.

 * Gradle provides a high-level, declarative, and expressive build language that
   makes it easy to read and write build logic.

 * Gradle is fast, scalable, and can build projects of any size and complexity.

 * Gradle produces dependable results while benefiting from optimizations such
   as incremental builds, build caching, and parallel execution.

Gradle, Inc. provides a free service called Build Scan® that provides extensive
information and insights about your builds. You can view scans to identify
problems or share them for debugging help.


SUPPORTED LANGUAGES AND FRAMEWORKS

Gradle supports Android, Java, Kotlin Multiplatform, Groovy, Scala, Javascript,
and C/C++.




COMPATIBLE IDES

All major IDEs support Gradle, including Android Studio, IntelliJ IDEA, Visual
Studio Code, Eclipse, and NetBeans.



You can also invoke Gradle via its command-line interface (CLI) in your terminal
or through your continuous integration (CI) server.


EDUCATION

The Gradle User Manual is the official documentation for the Gradle Build Tool.

 * Getting Started Tutorial — Learn Gradle basics and the benefits of building
   your App with Gradle.

 * Training Courses — Head over to the courses page to sign up for free Gradle
   training.


SUPPORT

 * Forum — The fastest way to get help is through the Gradle Forum.

 * Slack — Community members and core contributors answer questions directly on
   our Slack Channel.


LICENSES

Gradle Build Tool source code is open and licensed under the Apache License 2.0.
Gradle user manual and DSL reference manual are licensed under Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International License.

Was this page helpful?
Additional Feedback:
You can submit issues directly on Github.
Submit Feedback

Docs
 * User Manual
 * DSL Reference
 * Release Notes
 * Javadoc

News
 * Blog
 * Newsletter
 * Twitter
 * Status Page

Products
 * Build Scan™
 * Build Cache
 * Develocity 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. 2023 All rights reserved.
Gradle
Careers | Privacy | Terms of Service | Contact
This website uses cookies and other technology to provide you a more
personalized experience.Accept