aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-07-27 03:08:03 +0800
committerGitHub <noreply@github.com>2021-07-26 20:08:03 +0100
commit75234f4cbde7392f47a593b670b51cdda821e030 (patch)
treebc90728671a966097da36329ba643c43d1c78cd4 /src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
parentb558ee1a4604a0fbf0eba8edab401f2a831e4fb6 (diff)
downloadarchitectury-loom-75234f4cbde7392f47a593b670b51cdda821e030.tar.gz
architectury-loom-75234f4cbde7392f47a593b670b51cdda821e030.tar.bz2
architectury-loom-75234f4cbde7392f47a593b670b51cdda821e030.zip
Use Property in LoomGradleExtension & Move task groups to constants (#445)
* Use Property in LoomGradleExtension Signed-off-by: shedaniel <daniel@shedaniel.me> * Fix customMinecraftManifest Signed-off-by: shedaniel <daniel@shedaniel.me> * Add deprecation messages, let's wait for the tests to run to fix the tests that are using deprecated apis Signed-off-by: shedaniel <daniel@shedaniel.me> * Apply license Signed-off-by: shedaniel <daniel@shedaniel.me> * Update src/main/java/net/fabricmc/loom/util/DeprecationHelper.java Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> * Fix some tests, move mixinRefmapName -> mixin.defaultRefmapName Signed-off-by: shedaniel <daniel@shedaniel.me> * Move back to the api Signed-off-by: shedaniel <daniel@shedaniel.me> * Fix some tests Signed-off-by: shedaniel <daniel@shedaniel.me> * Apply reviews Signed-off-by: shedaniel <daniel@shedaniel.me> * Update src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> Co-authored-by: modmuss50 <modmuss50@gmail.com>
Diffstat (limited to 'src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java')
-rw-r--r--src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java116
1 files changed, 101 insertions, 15 deletions
diff --git a/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java b/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
index c90a21ce..bd48bd6e 100644
--- a/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
+++ b/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
@@ -31,36 +31,85 @@ import org.gradle.api.Action;
import org.gradle.api.NamedDomainObjectContainer;
import org.gradle.api.artifacts.Dependency;
import org.gradle.api.file.ConfigurableFileCollection;
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.provider.ListProperty;
+import org.gradle.api.provider.Property;
import org.jetbrains.annotations.ApiStatus;
import net.fabricmc.loom.api.decompilers.LoomDecompiler;
import net.fabricmc.loom.configuration.ide.RunConfigSettings;
import net.fabricmc.loom.configuration.processors.JarProcessor;
import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpecBuilder;
+import net.fabricmc.loom.util.DeprecationHelper;
/**
* This is the public api available exposed to build scripts.
*/
public interface LoomGradleExtensionAPI {
- File getAccessWidener();
+ @ApiStatus.Internal
+ DeprecationHelper getDeprecationHelper();
- void setAccessWidener(File file);
+ RegularFileProperty getAccessWidenerPath();
- void setShareCaches(boolean shareCaches);
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default File getAccessWidener() {
+ getDeprecationHelper().replaceWithInLoom0_11("accessWidener", "accessWidenerPath");
+ return getAccessWidenerPath().getAsFile().getOrNull();
+ }
+
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default void setAccessWidener(File file) {
+ getDeprecationHelper().replaceWithInLoom0_11("accessWidener", "accessWidenerPath");
+ getAccessWidenerPath().set(file);
+ }
+
+ Property<Boolean> getShareRemapCaches();
+
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default void setShareCaches(boolean shareCaches) {
+ getDeprecationHelper().replaceWithInLoom0_11("shareCaches", "shareRemapCaches");
+ getShareRemapCaches().set(shareCaches);
+ }
- boolean isShareCaches();
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default boolean isShareCaches() {
+ getDeprecationHelper().replaceWithInLoom0_11("shareCaches", "shareRemapCaches");
+ return getShareRemapCaches().get();
+ }
default void shareCaches() {
- setShareCaches(true);
+ getShareRemapCaches().set(true);
}
- List<LoomDecompiler> getDecompilers();
+ ListProperty<LoomDecompiler> getGameDecompilers();
+
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default List<LoomDecompiler> getDecompilers() {
+ getDeprecationHelper().replaceWithInLoom0_11("decompilers", "gameDecompilers");
+ return getGameDecompilers().get();
+ }
- void addDecompiler(LoomDecompiler decompiler);
+ default void addDecompiler(LoomDecompiler decompiler) {
+ getGameDecompilers().add(decompiler);
+ }
- List<JarProcessor> getJarProcessors();
+ ListProperty<JarProcessor> getGameJarProcessors();
- void addJarProcessor(JarProcessor processor);
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default List<JarProcessor> getJarProcessors() {
+ getDeprecationHelper().replaceWithInLoom0_11("jarProcessors", "gameJarProcessors");
+ return getGameJarProcessors().get();
+ }
+
+ default void addJarProcessor(JarProcessor processor) {
+ getGameJarProcessors().add(processor);
+ }
ConfigurableFileCollection getLog4jConfigs();
@@ -70,13 +119,35 @@ public interface LoomGradleExtensionAPI {
Dependency layered(Action<LayeredMappingSpecBuilder> action);
- String getRefmapName();
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default String getRefmapName() {
+ getDeprecationHelper().replaceWithInLoom0_11("refmapName", "mixin.defaultRefmapName");
+ return getMixin().getDefaultRefmapName().get();
+ }
+
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default void setRefmapName(String refmapName) {
+ getDeprecationHelper().replaceWithInLoom0_11("refmapName", "mixin.defaultRefmapName");
+ getMixin().getDefaultRefmapName().set(refmapName);
+ }
- void setRefmapName(String refmapName);
+ Property<Boolean> getRemapArchives();
- boolean isRemapMod();
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default boolean isRemapMod() {
+ getDeprecationHelper().replaceWithInLoom0_11("remapMod", "remapArchives");
+ return getRemapArchives().get();
+ }
- void setRemapMod(boolean remapMod);
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default void setRemapMod(boolean remapMod) {
+ getDeprecationHelper().replaceWithInLoom0_11("remapMod", "remapArchives");
+ getRemapArchives().set(remapMod);
+ }
void runs(Action<NamedDomainObjectContainer<RunConfigSettings>> action);
@@ -85,7 +156,22 @@ public interface LoomGradleExtensionAPI {
@ApiStatus.Experimental
void mixin(Action<MixinApExtensionAPI> action);
- void setCustomManifest(String customManifest);
+ @ApiStatus.Experimental
+ MixinApExtensionAPI getMixin();
+
+ Property<String> getCustomMinecraftManifest();
- String getCustomManifest();
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default void setCustomManifest(String customManifest) {
+ getDeprecationHelper().replaceWithInLoom0_11("customManifest", "customMinecraftManifest");
+ getCustomMinecraftManifest().set(customManifest);
+ }
+
+ @Deprecated(forRemoval = true)
+ @ApiStatus.ScheduledForRemoval(inVersion = "0.11")
+ default String getCustomManifest() {
+ getDeprecationHelper().replaceWithInLoom0_11("customManifest", "customMinecraftManifest");
+ return getCustomMinecraftManifest().getOrNull();
+ }
}