diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index b3a1168f..8832beb7 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -74,6 +74,7 @@ import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpec; import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpecBuilder; import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingsDependency; import net.fabricmc.loom.configuration.providers.mappings.MappingsProviderImpl; +import net.fabricmc.loom.configuration.providers.minecraft.MinecraftVersionMeta; import net.fabricmc.loom.util.ModPlatform; import net.fabricmc.loom.util.function.LazyBool; @@ -231,7 +232,10 @@ public class LoomGradleExtension { LayeredMappingSpecBuilder builder = new LayeredMappingSpecBuilder(this); action.execute(builder); LayeredMappingSpec builtSpec = builder.build(); - return new LayeredMappingsDependency(new GradleMappingContext(project, "layers_" + builtSpec.getVersion().replace("+", "_").replace(".", "_")), builtSpec, builtSpec.getVersion()); + return new LayeredMappingsDependency(new GradleMappingContext(project, () -> { + MinecraftVersionMeta versionInfo = getMinecraftProvider().getVersionInfo(); + return "layers/" + versionInfo.id() + "_" + builtSpec.getVersion().replace("+", "_").replace(".", "_"); + }), builtSpec, builtSpec.getVersion()); } public LoomGradleExtension(Project project) { 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 478896d1..f2f928bc 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 @@ -25,6 +25,7 @@ package net.fabricmc.loom.configuration.providers.mappings; import java.io.File; +import java.util.function.Supplier; import org.gradle.api.Project; import org.gradle.api.artifacts.Configuration; @@ -36,9 +37,9 @@ import net.fabricmc.loom.configuration.providers.MinecraftProvider; public class GradleMappingContext implements MappingContext { private final Project project; private final LoomGradleExtension extension; - private final String workingDirName; + private final Supplier workingDirName; - public GradleMappingContext(Project project, String workingDirName) { + public GradleMappingContext(Project project, Supplier workingDirName) { this.project = project; this.extension = project.getExtensions().getByType(LoomGradleExtension.class); this.workingDirName = workingDirName; @@ -62,7 +63,7 @@ public class GradleMappingContext implements MappingContext { @Override public File workingDirectory(String name) { - File tempDir = new File(mappingsProvider().getMappingsDir().toFile(), workingDirName); + File tempDir = new File(mappingsProvider().getMappingsDir().toFile(), workingDirName.get()); tempDir.mkdirs(); return new File(tempDir, name); }