Render the caching report from structured CacheReport data using a
single unified layout, replacing the three divergent code paths
(NoOp / basic / enhanced) that previously each rendered their own
markdown.
Every variant now shares one skeleton: a section heading
(`#### <icon> Gradle Caching — <Provider> (<status>)`), a status line,
an integrated provider note, and an expandable cache-entry-details
section. The Enhanced/Basic provider note is woven into the report
under the heading and is now shown unconditionally (no longer gated on
license acceptance). The two disabled variants (explicitly disabled,
and skipped due to a pre-existing Gradle User Home) render as compact
callouts with no expandable section.
- caching-report.ts: new central renderer + all framing copy.
- cache-service.ts: CacheReport/CacheEntryReport/status types; save()
returns CacheReport.
- cache-service-loader.ts: NoOp returns a CacheReport, drop
LicenseWarningCacheService, add getProviderNote().
- cache-service-basic.ts: build a CacheReport, so basic caching now
also gets expandable entry details.
- job-summary.ts / setup-gradle.ts: thread CacheReport + ProviderNote.
- configuration.ts: remove now-unused isCacheLicenseAccepted().
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
## Summary
- **New `basic` cache provider**: Adds an open-source (MIT-licensed)
caching implementation built on `@actions/cache` as an alternative to
the proprietary Enhanced Caching. Users can opt in with `cache-provider:
basic` on both `setup-gradle` and `dependency-submission` actions.
- **Revamped licensing & distribution docs**: Replaces the verbose
licensing notice block (previously shown in README, docs, and logs) with
a friendlier callout and a new dedicated
[DISTRIBUTION.md](./DISTRIBUTION.md) covering component licensing, usage
tiers, data privacy ("Safe Harbor"), and opt-out instructions.
- **Improved messaging**: Enhanced Caching and Basic Caching each
display concise, informative log messages and job summary notes instead
of the previous wall-of-text license warning.
- **New integration tests**: Adds `integ-test-basic-cache-provider.yml`
workflow that seeds and verifies the basic cache provider across
platforms, plus unit tests for `BasicCacheService` and `getCacheService`
selection logic.
- **CI workflow reorganization**: Dependency-submission integration
tests extracted into their own reusable suite
(`suite-integ-test-dependency-submission.yml`); sample project tests
moved into the caching suite.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>