Move all Forge-only properties to Forge extension (#46)

This commit is contained in:
Juuxel
2021-09-20 19:10:50 +03:00
committed by GitHub
parent 6522a826e1
commit 979a9d4882
15 changed files with 355 additions and 281 deletions

View File

@@ -50,6 +50,7 @@ import net.fabricmc.loom.configuration.LoomDependencyManager;
import net.fabricmc.loom.configuration.accesswidener.AccessWidenerFile;
import net.fabricmc.loom.configuration.processors.JarProcessorManager;
import net.fabricmc.loom.util.ModPlatform;
import net.fabricmc.loom.util.function.LazyBool;
public class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl implements LoomGradleExtension {
private final Project project;
@@ -68,6 +69,12 @@ public class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl implemen
private JarProcessorManager jarProcessorManager;
private InstallerData installerData;
// +-------------------+
// | Architectury Loom |
// +-------------------+
private static final String INCLUDE_PROPERTY = "loom.forge.include";
private final LazyBool supportsInclude;
public LoomGradleExtensionImpl(Project project, LoomFiles files) {
super(project, files);
this.project = project;
@@ -75,7 +82,8 @@ public class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl implemen
this.mixinApExtension = project.getObjects().newInstance(MixinExtensionImpl.class, project);
this.loomFiles = files;
this.unmappedMods = project.files();
this.forgeExtension = Suppliers.memoize(() -> isForge() ? project.getObjects().newInstance(ForgeExtensionImpl.class, project) : null);
this.forgeExtension = Suppliers.memoize(() -> isForge() ? project.getObjects().newInstance(ForgeExtensionImpl.class, project, this) : null);
this.supportsInclude = new LazyBool(() -> Boolean.parseBoolean(Objects.toString(project.findProperty(INCLUDE_PROPERTY))));
}
@Override
@@ -200,4 +208,9 @@ public class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl implemen
ModPlatform.assertPlatform(this, ModPlatform.FORGE);
return forgeExtension.get();
}
@Override
public boolean supportsInclude() {
return !isForge() || supportsInclude.getAsBoolean();
}
}