From d8675e056b7b16fd9b8307191301a06d931ecd1f Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Tue, 12 Oct 2021 16:11:44 +0100 Subject: [PATCH] Don't allow none reproducible dependencies in layered mappings as it breaks the caching guarantee. --- .../configuration/providers/mappings/GradleMappingContext.java | 3 +++ src/test/resources/projects/parchment/build.gradle | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/GradleMappingContext.java b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/GradleMappingContext.java index 0d780f1..0ee8917 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/GradleMappingContext.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/GradleMappingContext.java @@ -30,6 +30,7 @@ import java.nio.file.Path; import org.gradle.api.Project; import org.gradle.api.artifacts.Configuration; import org.gradle.api.artifacts.Dependency; +import org.gradle.api.artifacts.ResolutionStrategy; import org.gradle.api.logging.Logger; import net.fabricmc.loom.LoomGradleExtension; @@ -50,6 +51,8 @@ public class GradleMappingContext implements MappingContext { @Override public Path resolveDependency(Dependency dependency) { Configuration configuration = project.getConfigurations().detachedConfiguration(dependency); + // Don't allow changing versions as this breaks down with how we cache layered mappings. + configuration.resolutionStrategy(ResolutionStrategy::failOnNonReproducibleResolution); return configuration.getSingleFile().toPath(); } diff --git a/src/test/resources/projects/parchment/build.gradle b/src/test/resources/projects/parchment/build.gradle index 2401e1b..21432d4 100644 --- a/src/test/resources/projects/parchment/build.gradle +++ b/src/test/resources/projects/parchment/build.gradle @@ -13,7 +13,7 @@ dependencies { minecraft "com.mojang:minecraft:1.16.5" mappings loom.layered() { officialMojangMappings() - parchment("org.parchmentmc.data:parchment-1.16.5:20210608-SNAPSHOT@zip") + parchment("org.parchmentmc.data:parchment-1.16.5:2021.10.10@zip") } modImplementation "net.fabricmc:fabric-loader:0.11.3"