Highlights
ParallelZipis now@CacheableTask. Gradle's ownZip/AbstractArchiveTaskare@DisableCachingByDefaultupstream —Zip's own stated reason is "Not worth caching," a judgment call from when archive packaging was assumed cheap.ParallelZippreviously inherited that same default rather than choosing it deliberately.- With
org.gradle.caching=true(or--build-cache), an unchanged rebuild now restores the archive straight from the build cache, skipping both the copy-walk and compression entirely — the single biggest available speedup for repeat builds, bigger than anything the compression pipeline itself can offer. - This is safe specifically because the task already produces byte-for-byte reproducible output for identical inputs, and already separates
@Inputproperties (store,level,skipAlreadyCompressed— affect the archive bytes) from@Internalones (threads— doesn't). - Verified with a real functional test: runs the task, wipes all local build state (not just the output file), reruns, and asserts the second run's outcome is genuinely
FROM_CACHEwith a still-valid archive — not just an annotation check.
Published to the Gradle Plugin Portal.