fix missing refmap troll in cached builds #449
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the pull
fix for refmap build issues like https://discord.com/channels/834570721070022687/841498080120668170/1060627048256770058
My method for reproducing:
gradlew build
-> check that its jar contains the refmap as expectedgradlew clean
gradlew build
-> jar should no longer have refmapDescribe how this pull is helpful
lambda has gradle's local build cache enabled unlike most mods. this makes tasks like compileJava use their cached outputs unless there are actual class changes.
if you run the clean task, there are still task outputs that use cached values despite the build dir being wiped.
if you look at one of the bad compiled jars its missing lambda's refmap file entirely. and in the build dir the refmap is not present.
if i disable gradle build caching this issue doesn't occur (i.e. in
gradle.properties
).Specifically only disabling build cache on compileJava seems sufficient to resolve this.
Additional context
https://docs.gradle.org/current/userguide/build_cache.html