Extract caching logic into a separate gradle-actions-caching component by bigdaz · Pull Request #885 · gradle/actions (original) (raw)
With this change, the caching functionality of setup-gradle and
dependency-submission is now provided by gradle-actions-caching, a
closed-source library distributed under our Terms of
Use. The rest of the action
implementation remains open source.
Using setup-gradle or dependency-submission with caching enabled
involves loading and using the gradle-actions-caching component,
requiring acceptance of the Terms of
Use. There are no functional
changes to caching provided by these actions: all workflows will
continue to function as before.
The non-caching aspects of action implementation remain open source. By
running these actions with caching disabled they can be used without
ever loading gradle-actions-caching or accepting the license terms.
Supporting the caching infrastructure in this project requires a
substantial engineering investment by Gradle Technologies, which we can
sustain thanks to Develocity, our commercial offering. Caching
technologies are a core part of the Develocity offering, and the caching
in setup-gradle fits squarely in that space.
This licensing change lets us continue to build advanced capabilities that go beyond what we would offer as open source. Proper production-ready Configuration Cache support will be the first capability. Improving build performance for self-hosted runners will follow.
We may introduce functionality restrictions in future updates. However, caching functionality will remain free for public repositories. We have a long-standing commitment to open source, as maintainers of Gradle Build Tool, and by sponsoring the open source community with free Develocity licenses. Public repositories are primarily used by open source projects, and we remain committed to supporting them.
- Implementation of caching logic to save and restore Gradle User Home
content has been removed, replaced by the
gradle-actions-cachingcomponent. - The
@actions/cachinglibrary is still used to cache Gradle distributions that are downloaded and provisioned bysetup-gradle. This PR updates to the latest version of@actions/caching, and removes the patch that is no longer required. - License notices are now displayed in documentation, logs and the generated Job Summary.