Public Gradle APIs
Gradle provides many public APIs that allow developers to interact with various build system components.
Any class name containing Internal
, or that is located in a package containing the segment .internal.
is by definition not part of the public Gradle API and should not be relied upon for stable usage.
The following table summarizes public Gradle APIs and their common use cases. This is not an exhaustive list:
API Package | Description | Common Use Cases |
---|---|---|
|
Core Gradle API |
- Defines key interfaces like |
|
Authentication API |
- Handles authentication for repositories and services |
|
Build Lifecycle API |
- Manages build phases and execution |
|
Build Init API |
- Used to generate new Gradle projects |
|
Build Cache API |
- Provides mechanisms for storing and reusing build outputs |
|
Concurrent Execution API |
- Manages parallel task execution |
|
Deployment API |
- Supports managing and automating application deployments |
|
Environment Configuration API |
- Provides access to environment variables and settings |
|
Javadoc API |
- Generates Javadoc for external dependencies |
|
IDE Integration API |
- Manages Gradle support for IDEs like IntelliJ and Eclipse |
|
Composite Builds API |
- Enables dependency management across multiple Gradle builds |
|
Ivy Dependency Management API |
- Supports Ivy repositories and dependency resolution |
|
Java Virtual Machine API |
- Manages JVM-based builds |
|
Language Plugins API |
- Defines Gradle support for multiple languages (Java, Kotlin, etc.) |
|
Maven Dependency Management API |
- Supports Maven repositories and dependency resolution |
|
Native Platform API |
- Provides support for C, C++, and other native builds |
|
Input Normalization API |
- Helps optimize caching by defining input normalization rules |
|
Platform Dependency Management API |
- Defines and manages dependency constraints for platforms |
|
Play Framework Support API |
- Provides support for Play Framework projects |
|
Plugin Development API |
- Supports writing and publishing custom Gradle plugins |
|
Plugin Repository API |
- Defines repositories for Gradle plugins |
|
Plugin Application API |
- Handles plugin application in build scripts |
|
Plugin Management API |
- Provides centralized management for Gradle plugins |
|
Built-in Plugins API |
- Includes Gradle’s built-in plugins (Java, Kotlin, etc.) |
|
Process Management API |
- Allows running external processes from Gradle tasks |
|
Test Fixtures API |
- Provides test utilities for Gradle plugin developers |
|
JaCoCo Test Coverage API |
- Integrates with JaCoCo for code coverage reports |
|
Tooling API ( |
- Allows external applications to interact with Gradle |
|
Swift Package Manager API |
- Provides Gradle integration with Swift Package Manager |
|
Model Rule-based API |
- Legacy API for configuring Gradle builds using models |
|
Gradle TestKit API |
- Provides utilities for testing Gradle plugins |
|
Testing Framework API |
- Defines testing frameworks for Gradle builds |
|
Version Control System API |
- Allows dependencies to be fetched from VCS (Git, SVN) |
|
Work Execution API |
- Provides utilities for parallel and incremental task execution |
|
Worker API |
- Enables parallel execution of Gradle tasks |
|
Utility API |
- Provides various utility functions used internally by Gradle |