diff options
| author | Juuxel <6596629+Juuxel@users.noreply.github.com> | 2020-07-30 15:10:48 +0300 |
|---|---|---|
| committer | Juuxel <6596629+Juuxel@users.noreply.github.com> | 2020-07-30 15:10:48 +0300 |
| commit | 6e5c3a871527ffb7e35f015d7f21febb68f3d6f6 (patch) | |
| tree | 2966b1255b180689d53e938183ca8b0a6323c8c5 /src/main/java/net | |
| parent | 7c9edfedeee75be061a3f306ab48eb260e98d653 (diff) | |
| download | architectury-loom-6e5c3a871527ffb7e35f015d7f21febb68f3d6f6.tar.gz architectury-loom-6e5c3a871527ffb7e35f015d7f21febb68f3d6f6.tar.bz2 architectury-loom-6e5c3a871527ffb7e35f015d7f21febb68f3d6f6.zip | |
Make LoomGradleExtension.isForge load from gradle.properties
Diffstat (limited to 'src/main/java/net')
| -rw-r--r-- | src/main/java/net/fabricmc/loom/LoomGradleExtension.java | 7 | ||||
| -rw-r--r-- | src/main/java/net/fabricmc/loom/util/LazyBool.java | 26 |
2 files changed, 32 insertions, 1 deletions
diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index 0a21c707..3fb9ee97 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -54,9 +54,12 @@ import net.fabricmc.loom.providers.MinecraftMappedProvider; import net.fabricmc.loom.providers.MinecraftProvider; import net.fabricmc.loom.providers.PatchProvider; import net.fabricmc.loom.providers.McpConfigProvider; +import net.fabricmc.loom.util.LazyBool; import net.fabricmc.loom.util.LoomDependencyManager; public class LoomGradleExtension { + private static final String FORGE_PROPERTY = "loom.forge"; + public String runDir = "run"; public String refmapName; public String loaderLaunchMethod; @@ -78,6 +81,7 @@ public class LoomGradleExtension { private JsonObject installerJson; private MappingSet[] srcMappingCache = new MappingSet[2]; private Mercury[] srcMercuryCache = new Mercury[2]; + private final LazyBool forge; /** * Loom will generate a new genSources task (with a new name, based off of {@link LoomDecompiler#name()}) @@ -99,6 +103,7 @@ public class LoomGradleExtension { this.project = project; this.autoGenIDERuns = AbstractPlugin.isRootProject(project); this.unmappedMods = project.files(); + this.forge = new LazyBool(() -> Boolean.parseBoolean(Objects.toString(project.getProperties().get(FORGE_PROPERTY)))); } /** @@ -394,6 +399,6 @@ public class LoomGradleExtension { } public boolean isForge() { - return true; // TODO + return forge.getAsBoolean(); } } diff --git a/src/main/java/net/fabricmc/loom/util/LazyBool.java b/src/main/java/net/fabricmc/loom/util/LazyBool.java new file mode 100644 index 00000000..e76622f7 --- /dev/null +++ b/src/main/java/net/fabricmc/loom/util/LazyBool.java @@ -0,0 +1,26 @@ +package net.fabricmc.loom.util; + +import java.util.Objects; +import java.util.function.BooleanSupplier; + +/** + * A lazily computed boolean value. + */ +public final class LazyBool implements BooleanSupplier { + private BooleanSupplier supplier; + private Boolean value; + + public LazyBool(BooleanSupplier supplier) { + this.supplier = Objects.requireNonNull(supplier, "supplier"); + } + + @Override + public boolean getAsBoolean() { + if (value == null) { + value = supplier.getAsBoolean(); + supplier = null; // Release the supplier + } + + return value; + } +} |
