diff options
author | shedaniel <daniel@shedaniel.me> | 2021-04-14 08:40:11 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-04-14 08:45:26 +0800 |
commit | aa009c2b2daac03b7ad4d9041fce5440c7183d08 (patch) | |
tree | 3a5b6ec3090c93aa1ddd009aa461c13132742231 /src | |
parent | e3a446965d5b49a942347859b3e8c051dcb211ae (diff) | |
download | architectury-loom-aa009c2b2daac03b7ad4d9041fce5440c7183d08.tar.gz architectury-loom-aa009c2b2daac03b7ad4d9041fce5440c7183d08.tar.bz2 architectury-loom-aa009c2b2daac03b7ad4d9041fce5440c7183d08.zip |
Add "loom.forge.include" for include configuration on forge
Diffstat (limited to 'src')
4 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index dd11e8e0..967921f1 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -72,6 +72,7 @@ import net.fabricmc.loom.util.function.LazyBool; public class LoomGradleExtension { private static final String FORGE_PROPERTY = "loom.forge"; + private static final String INCLUDE_PROPERTY = "loom.forge.include"; public String refmapName; public String loaderLaunchMethod; @@ -100,6 +101,7 @@ public class LoomGradleExtension { private MappingSet[] srcMappingCache = new MappingSet[2]; private Mercury[] srcMercuryCache = new Mercury[2]; private final LazyBool forge; + private final LazyBool supportsInclude; private Set<File> mixinMappings = Collections.synchronizedSet(new HashSet<>()); private final List<String> tasksBeforeRun = Collections.synchronizedList(new ArrayList<>()); public final List<Supplier<SourceSet>> forgeLocalMods = Collections.synchronizedList(new ArrayList<>(Arrays.asList(new Supplier<SourceSet>() { @@ -217,6 +219,7 @@ public class LoomGradleExtension { this.project = project; this.unmappedMods = project.files(); this.forge = new LazyBool(() -> Boolean.parseBoolean(Objects.toString(project.findProperty(FORGE_PROPERTY)))); + this.supportsInclude = new LazyBool(() -> Boolean.parseBoolean(Objects.toString(project.findProperty(INCLUDE_PROPERTY)))); this.runConfigs = project.container(RunConfigSettings.class, baseName -> new RunConfigSettings(project, baseName)); this.launchConfigs = project.container(LaunchProviderSettings.class, @@ -472,6 +475,10 @@ public class LoomGradleExtension { return forge.getAsBoolean(); } + public boolean supportsInclude() { + return !isForge() || supportsInclude.getAsBoolean(); + } + public boolean shouldGenerateSrgTiny() { if (generateSrgTiny != null) { return generateSrgTiny; diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index 078a777d..ad591f76 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -99,7 +99,7 @@ public final class CompileConfiguration { extendsFrom(Constants.Configurations.MINECRAFT_DEPENDENCIES, Constants.Configurations.FORGE_DEPENDENCIES, project); } - if (!project.getExtensions().getByType(LoomGradleExtension.class).isForge()) { + if (project.getExtensions().getByType(LoomGradleExtension.class).supportsInclude()) { Configuration includeConfig = project.getConfigurations().maybeCreate(Constants.Configurations.INCLUDE); includeConfig.setTransitive(false); // Dont get transitive deps } diff --git a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java index e4044a68..7e1a1f3f 100644 --- a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java @@ -95,7 +95,7 @@ public class RemapConfiguration { // TODO this might be wrong? project.getTasks().withType(RemapJarTask.class).forEach(task -> { - if (!extension.isForge() && task.getAddNestedDependencies().getOrElse(false)) { + if (extension.supportsInclude() && task.getAddNestedDependencies().getOrElse(false)) { NestedDependencyProvider.getRequiredTasks(project).forEach(task::dependsOn); } }); diff --git a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java index 85fb8350..cf03e57c 100644 --- a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java +++ b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java @@ -330,7 +330,7 @@ public class RemapJarTask extends Jar { } private NestedJarProvider getNestedJarProvider() { - if (getProject().getExtensions().getByType(LoomGradleExtension.class).isForge()) { + if (!getProject().getExtensions().getByType(LoomGradleExtension.class).supportsInclude()) { return EmptyNestedJarProvider.INSTANCE; } |