From 9c95f9a900fa7b5234340761da6dad36db2248e5 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Wed, 30 Jun 2021 00:43:26 +0800 Subject: [PATCH] Allow accessTransformer to be configured Signed-off-by: shedaniel --- .../net/fabricmc/loom/LoomGradleExtension.java | 5 +++++ .../providers/forge/MinecraftPatchedProvider.java | 15 +++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index 021388d6..9a35280c 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -87,6 +87,7 @@ public class LoomGradleExtension { public boolean remapMod = true; public String customManifest = null; public File accessWidener = null; + public File accessTransformer = null; public Function intermediaryUrl = mcVer -> "https://maven.fabricmc.net/net/fabricmc/intermediary/" + mcVer + "/intermediary-" + mcVer + "-v2.jar"; public boolean shareCaches = false; public List mixinConfigs = new ArrayList<>(); // FORGE: Passed to Minecraft @@ -280,6 +281,10 @@ public class LoomGradleExtension { this.accessWidener = project.file(file); } + public void accessTransformer(Object file) { + this.accessTransformer = project.file(file); + } + public File getUserCache() { File userCache = new File(project.getGradle().getGradleUserHomeDir(), "caches" + File.separator + "fabric-loom"); diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java index 03895ecb..ede56f51 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java @@ -123,15 +123,18 @@ public class MinecraftPatchedProvider extends DependencyProvider { public void initFiles() throws IOException { filesDirty = false; projectAtHash = new File(getExtension().getProjectPersistentCache(), "at.sha256"); + projectAt = getExtension().accessTransformer; - SourceSet main = getProject().getConvention().findPlugin(JavaPluginConvention.class).getSourceSets().getByName("main"); + if (projectAt == null) { + SourceSet main = getProject().getConvention().findPlugin(JavaPluginConvention.class).getSourceSets().getByName("main"); - for (File srcDir : main.getResources().getSrcDirs()) { - File projectAt = new File(srcDir, "META-INF/accesstransformer.cfg"); + for (File srcDir : main.getResources().getSrcDirs()) { + File projectAt = new File(srcDir, "META-INF/accesstransformer.cfg"); - if (projectAt.exists()) { - this.projectAt = projectAt; - break; + if (projectAt.exists()) { + this.projectAt = projectAt; + break; + } } }