• v5 03ad4de099

    Backport #1097/#1098: cache Maven and Gradle wrapper distributions separately (#1122)

    leihua released this 2026-07-15 05:14:30 +08:00

    Backports the wrapper caching fix to the v5 release line.

    The Maven wrapper distribution (/.m2/wrapper/dists) and Gradle wrapper
    distribution (
    /.gradle/wrapper) were cached in the same entry as the
    dependency cache, keyed on the volatile dependency-file hashes (**/pom.xml,
    **/.gradle). With no restoreKeys fallback (#269), almost every dependency
    change was a full cache miss, forcing ./mvnw and ./gradlew to re-download the
    build tool distribution and hitting intermittent rate-limit failures.

    Each wrapper distribution now lives in its own additional cache entry keyed
    only on the rarely-changing wrapper properties file
    (**/.mvn/wrapper/maven-wrapper.properties, **/gradle-wrapper.properties), so
    it survives dependency changes. Optional-cache saves swallow ValidationError
    and ReserveCacheError so a project without a wrapper never fails the post step.

    Fixes: #1095

    Copilot-Session: ea015caa-980a-4e0a-af20-3fc9f39c77fd

    Co-authored-by: Copilot App [email protected]

    Downloads