aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
diff options
context:
space:
mode:
authorJuuxel <6596629+Juuxel@users.noreply.github.com>2021-09-10 21:08:41 +0300
committerGitHub <noreply@github.com>2021-09-11 02:08:41 +0800
commite1f5f3d6eb674b3513e7dd848c202ef7479a70a8 (patch)
treed7e1c58e1fad0ef3711e1e6143e7fd9fadebe576 /src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
parentaaacd23c8bdd2c52c727ab7119afd8dd968f762a (diff)
downloadarchitectury-loom-e1f5f3d6eb674b3513e7dd848c202ef7479a70a8.tar.gz
architectury-loom-e1f5f3d6eb674b3513e7dd848c202ef7479a70a8.tar.bz2
architectury-loom-e1f5f3d6eb674b3513e7dd848c202ef7479a70a8.zip
Convert AWs on Forge to ATs in RemapJarTask (#24)
* Aw2At * Hook Aw2At up to remapJar * Checkstyle * Checkstyle, part II * Now it's Spotless' turn * Remap the resulting AT * you see, this is why mojmap is bad * Inject(method = "<init>") * Use file systems because ZipUtil is bad * Make it false by default * Add integ tests for aw2at * spotless please * fix year
Diffstat (limited to 'src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java')
-rw-r--r--src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
index 730d683b..172944cc 100644
--- a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
+++ b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
@@ -33,6 +33,7 @@ import java.util.Objects;
import java.util.Set;
import java.util.function.Supplier;
+import com.google.common.base.Suppliers;
import org.cadixdev.lorenz.MappingSet;
import org.cadixdev.mercury.Mercury;
import org.gradle.api.NamedDomainObjectProvider;
@@ -41,15 +42,18 @@ import org.gradle.api.artifacts.Configuration;
import org.gradle.api.file.ConfigurableFileCollection;
import net.fabricmc.loom.LoomGradleExtension;
+import net.fabricmc.loom.api.ForgeExtensionAPI;
import net.fabricmc.loom.configuration.InstallerData;
import net.fabricmc.loom.configuration.LoomDependencyManager;
import net.fabricmc.loom.configuration.processors.JarProcessorManager;
+import net.fabricmc.loom.util.ModPlatform;
public class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl implements LoomGradleExtension {
private final Project project;
private final MixinApExtension mixinApExtension;
private final LoomFiles loomFiles;
private final ConfigurableFileCollection unmappedMods;
+ private final Supplier<ForgeExtensionAPI> forgeExtension;
private final Set<File> mixinMappings = Collections.synchronizedSet(new HashSet<>());
private final MappingSet[] srcMappingCache = new MappingSet[2];
@@ -67,6 +71,7 @@ public class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl implemen
this.mixinApExtension = project.getObjects().newInstance(MixinApExtensionImpl.class, project);
this.loomFiles = files;
this.unmappedMods = project.files();
+ this.forgeExtension = Suppliers.memoize(() -> isForge() ? project.getObjects().newInstance(ForgeExtensionImpl.class, project) : null);
}
@Override
@@ -175,4 +180,10 @@ public class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl implemen
protected String getMinecraftVersion() {
return getMinecraftProvider().minecraftVersion();
}
+
+ @Override
+ public ForgeExtensionAPI getForge() {
+ ModPlatform.assertPlatform(this, ModPlatform.FORGE);
+ return forgeExtension.get();
+ }
}