mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-04-02 05:27:43 -05:00
Make LoomGradleExtension.isForge load from gradle.properties
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
26
src/main/java/net/fabricmc/loom/util/LazyBool.java
Normal file
26
src/main/java/net/fabricmc/loom/util/LazyBool.java
Normal file
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user