mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-03-28 04:07:01 -05:00
Give a proper working directory for GradleMappingContext
Signed-off-by: shedaniel <daniel@shedaniel.me>
(cherry picked from commit 5eafbbceeb)
Signed-off-by: shedaniel <daniel@shedaniel.me>
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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<String> workingDirName;
|
||||
|
||||
public GradleMappingContext(Project project, String workingDirName) {
|
||||
public GradleMappingContext(Project project, Supplier<String> 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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user