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
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=&labels=a%3Adocumentation%2Cto-triage&projects=&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