aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-08-26 21:50:19 +0800
committershedaniel <daniel@shedaniel.me>2021-08-26 21:50:19 +0800
commitd819b1cc47b26572ab6af85258e54d5737bead69 (patch)
tree8b58caf8a548a126f14a103cd2708611734c2fc1 /src/main
parent960c7de6e4f330a821ce94576a6acb7c13fa7cd7 (diff)
downloadarchitectury-loom-d819b1cc47b26572ab6af85258e54d5737bead69.tar.gz
architectury-loom-d819b1cc47b26572ab6af85258e54d5737bead69.tar.bz2
architectury-loom-d819b1cc47b26572ab6af85258e54d5737bead69.zip
Make LayeredMappingsDependency not error because of uninitialized MappingsProvider
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/mappings/GradleMappingContext.java24
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpec.java4
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingsDependency.java11
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingContext.java2
-rw-r--r--src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java2
5 files changed, 11 insertions, 32 deletions
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 bb2de17d..047d75af 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
@@ -38,11 +38,12 @@ import net.fabricmc.loom.configuration.providers.MinecraftProvider;
public class GradleMappingContext implements MappingContext {
private final Project project;
private final LoomGradleExtension extension;
- private File workingDir;
+ private final String workingDirName;
- public GradleMappingContext(Project project) {
+ public GradleMappingContext(Project project, String workingDirName) {
this.project = project;
this.extension = LoomGradleExtension.get(project);
+ this.workingDirName = workingDirName;
}
@Override
@@ -62,25 +63,8 @@ public class GradleMappingContext implements MappingContext {
}
@Override
- public File workingDirectory() {
- if (workingDir == null) {
- workingDir = new File(mappingsProvider().mappingsWorkingDir().toFile(), "layered/" + minecraftProvider().minecraftVersion());
-
- if (workingDir.exists()) {
- try {
- FileUtils.deleteDirectory(workingDir);
- } catch (IOException e) {
- getLogger().warn("Failed to cleanup layered mappings working directory: {}", e.getMessage());
- }
- }
- }
-
- return workingDir;
- }
-
- @Override
public File workingDirectory(String name) {
- return new File(workingDirectory(), name);
+ return new File(minecraftProvider().dir("layered/working_dir/" + workingDirName), name);
}
@Override
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpec.java b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpec.java
index f42a3289..2e47af39 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpec.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpec.java
@@ -27,8 +27,8 @@ package net.fabricmc.loom.configuration.providers.mappings;
import java.util.List;
public record LayeredMappingSpec(List<MappingsSpec<?>> layers) {
- public String getVersion(MappingContext context) {
+ public String getVersion() {
// TODO something better?
- return "layered+hash.%d.minecraft.%s".formatted(Math.abs(hashCode()), context.minecraftVersion());
+ return "layered+hash.%d".formatted(Math.abs(hashCode()));
}
}
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingsDependency.java b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingsDependency.java
index 35a159d7..878a37e4 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingsDependency.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingsDependency.java
@@ -54,11 +54,12 @@ public class LayeredMappingsDependency implements SelfResolvingDependency {
private final MappingContext mappingContext;
private final LayeredMappingSpec layeredMappingSpec;
- private String version = null;
+ private final String version;
- public LayeredMappingsDependency(MappingContext mappingContext, LayeredMappingSpec layeredMappingSpec) {
+ public LayeredMappingsDependency(MappingContext mappingContext, LayeredMappingSpec layeredMappingSpec, String version) {
this.mappingContext = mappingContext;
this.layeredMappingSpec = layeredMappingSpec;
+ this.version = version;
}
@Override
@@ -114,10 +115,6 @@ public class LayeredMappingsDependency implements SelfResolvingDependency {
@Override
public String getVersion() {
- if (version == null) {
- version = layeredMappingSpec.getVersion(mappingContext);
- }
-
return version;
}
@@ -132,7 +129,7 @@ public class LayeredMappingsDependency implements SelfResolvingDependency {
@Override
public Dependency copy() {
- return new LayeredMappingsDependency(mappingContext, layeredMappingSpec);
+ return new LayeredMappingsDependency(mappingContext, layeredMappingSpec, version);
}
@Override
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingContext.java b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingContext.java
index 0ccd61ea..3fbfb655 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingContext.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingContext.java
@@ -41,8 +41,6 @@ public interface MappingContext {
return minecraftProvider().minecraftVersion();
}
- File workingDirectory();
-
/**
* Creates a temporary working dir to be used to store working files.
*/
diff --git a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
index 6ff2c826..5feeafbe 100644
--- a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
+++ b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
@@ -166,7 +166,7 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA
LayeredMappingSpecBuilder builder = new LayeredMappingSpecBuilder(this);
action.execute(builder);
LayeredMappingSpec builtSpec = builder.build();
- return new LayeredMappingsDependency(new GradleMappingContext(getProject()), builtSpec);
+ return new LayeredMappingsDependency(new GradleMappingContext(getProject(), builtSpec.getVersion().replace("+", "_").replace(".", "_")), builtSpec, builtSpec.getVersion());
}
protected abstract String getMinecraftVersion();