-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Description
In Gradle 8.1 (April 2023), we announced the general availability of the Gradle Configuration Cache. This feature significantly improves build performance by caching the result of the configuration phase and reusing this for subsequent builds. Using the configuration cache, Gradle can skip the configuration phase entirely when nothing that affects the build configuration, such as build scripts, has changed. See this blog post by Mikhail Lopatkin to learn more about how configuration caching works.
References
Discuss
#configuration-cachechannel on the Community Slack- Related GitHub Issues
Status
Configuration cache is ready for adoption for most of the use cases. Support for some less popular built-in plugins is coming in the next versions.
At the current stage we’re focusing on two aspects:
- Experience of a software developer running builds locally. This includes:
- Build correctness with CC.
- Performance of the cache hit build.
- Cache hit rate.
- Performance of the cache miss build.
- Experience of a build author adopting the configuration cache in their build. This includes:
- Better compatibility with existing code.
- Providing diagnostics on unsupported patterns.
- Preventing from introducing new errors.
While we recognize CI scenarios as important, we’re postponing them for later. However, we’re expecting that with all work we’re doing to optimize local use cases, the potential negative performance impact of enabling CC on CI, where cache hit is hard to achieve, should be reduced too.
Planned
- Gradle 6.6 - Initial Release
- Gradle 8.1 - General Availability
- Gradle 8.x - Stabilization and Improvements
- Gradle 9 - Configuration Cache as the preferred mode of execution build-tool-roadmap#75
- Gradle 9.x - Deprecating not having Configuration Cache enabled
- Gradle 10 (tentative) - Configuration Cache as the only mode of execution
Gradle 9.x tasks
- Parallel Configuration Cache Storage build-tool-roadmap#87
- Deprecate APIs and behaviors not supported by Configuration Cache #33876
- Help community Gradle plugins adopt the configuration cache #13490
- Adoption-focused documentation update
- Full support across Core Gradle plugins and features (not falling back to non-cached execution)
- Improved cache hit rate
- Improved plugin author experience
- Improved diagnostics and observability
Metadata
Metadata
Assignees
Labels
Type
Projects
Status