diff options
author | Juuxel <6596629+Juuxel@users.noreply.github.com> | 2021-09-10 21:08:41 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-11 02:08:41 +0800 |
commit | e1f5f3d6eb674b3513e7dd848c202ef7479a70a8 (patch) | |
tree | d7e1c58e1fad0ef3711e1e6143e7fd9fadebe576 /src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java | |
parent | aaacd23c8bdd2c52c727ab7119afd8dd968f762a (diff) | |
download | architectury-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.java | 11 |
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(); + } } |