diff options
author | shedaniel <daniel@shedaniel.me> | 2021-01-18 09:08:38 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-01-18 09:08:38 +0800 |
commit | e88f78bc6291cfeb6b0ec7c931a6969156ab5487 (patch) | |
tree | 91ea17c56eb08842098e846ab5c474bd66bce454 /src/main/java | |
parent | 3a49510c0189b787b82b4829a217e99053bfec39 (diff) | |
parent | 47097c65cede8a4200a55ad32be1d183f474b80d (diff) | |
download | architectury-loom-e88f78bc6291cfeb6b0ec7c931a6969156ab5487.tar.gz architectury-loom-e88f78bc6291cfeb6b0ec7c931a6969156ab5487.tar.bz2 architectury-loom-e88f78bc6291cfeb6b0ec7c931a6969156ab5487.zip |
Merge remote-tracking branch 'FabricMC/dev/0.6' into dev/0.6-forge
# Conflicts:
# .github/workflows/test-push.yml
# build.gradle
# src/main/java/net/fabricmc/loom/util/Constants.java
Diffstat (limited to 'src/main/java')
6 files changed, 35 insertions, 13 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index 5123755e..c7017312 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -142,7 +142,7 @@ public final class CompileConfiguration { extendsFrom(Constants.Configurations.LOADER_DEPENDENCIES, Constants.Configurations.MINECRAFT_DEPENDENCIES, project); extendsFrom(Constants.Configurations.MINECRAFT_NAMED, Constants.Configurations.LOADER_DEPENDENCIES, project); - extendsFrom(JavaPlugin.COMPILE_CONFIGURATION_NAME, Constants.Configurations.MAPPINGS_FINAL, project); + extendsFrom(JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME, Constants.Configurations.MAPPINGS_FINAL, project); } /** diff --git a/src/main/java/net/fabricmc/loom/configuration/DependencyProvider.java b/src/main/java/net/fabricmc/loom/configuration/DependencyProvider.java index 9d12f01e..d31d05ed 100644 --- a/src/main/java/net/fabricmc/loom/configuration/DependencyProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/DependencyProvider.java @@ -63,10 +63,6 @@ public abstract class DependencyProvider { public abstract String getTargetConfig(); - public void addDependency(Object object) { - addDependency(object, "compile"); - } - public Dependency addDependency(Object object, String target) { if (object instanceof File) { object = project.files(object); diff --git a/src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java b/src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java index 2b0949d5..a796b62c 100644 --- a/src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java +++ b/src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java @@ -25,6 +25,10 @@ package net.fabricmc.loom.configuration; import org.gradle.api.artifacts.ConfigurationContainer; +import org.gradle.api.plugins.JavaPlugin; + +import net.fabricmc.loom.util.Constants; +import net.fabricmc.loom.util.gradle.GradleSupport; public class RemappedConfigurationEntry { private final String sourceConfiguration; @@ -61,7 +65,7 @@ public class RemappedConfigurationEntry { public String getTargetConfiguration(ConfigurationContainer container) { if (container.findByName(targetConfiguration) == null) { - return "compile"; + return GradleSupport.IS_GRADLE_7_OR_NEWER ? JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME : Constants.Configurations.COMPILE; } return targetConfiguration; diff --git a/src/main/java/net/fabricmc/loom/util/Constants.java b/src/main/java/net/fabricmc/loom/util/Constants.java index 17df5138..c9a7c15c 100644 --- a/src/main/java/net/fabricmc/loom/util/Constants.java +++ b/src/main/java/net/fabricmc/loom/util/Constants.java @@ -27,9 +27,11 @@ package net.fabricmc.loom.util; import java.util.List; import com.google.common.collect.ImmutableList; +import org.gradle.api.plugins.JavaPlugin; import org.objectweb.asm.Opcodes; import net.fabricmc.loom.configuration.RemappedConfigurationEntry; +import net.fabricmc.loom.util.gradle.GradleSupport; public class Constants { public static final String LIBRARIES_BASE = "https://libraries.minecraft.net/"; @@ -40,14 +42,23 @@ public class Constants { public static final int ASM_VERSION = Opcodes.ASM9; - public static final List<RemappedConfigurationEntry> MOD_COMPILE_ENTRIES = ImmutableList.of( - new RemappedConfigurationEntry("modCompile", "compile", true, "compile"), - new RemappedConfigurationEntry("modApi", "api", true, "compile"), - new RemappedConfigurationEntry("modImplementation", "implementation", true, "runtime"), - new RemappedConfigurationEntry("modRuntime", "runtimeOnly", false, ""), - new RemappedConfigurationEntry("modCompileOnly", "compileOnly", true, "") + private static final List<RemappedConfigurationEntry> LEGACY_MOD_COMPILE_ENTRIES = ImmutableList.of( + new RemappedConfigurationEntry("modCompile", Configurations.COMPILE, true, "compile"), + new RemappedConfigurationEntry("modApi", JavaPlugin.API_CONFIGURATION_NAME, true, "compile"), + new RemappedConfigurationEntry("modImplementation", JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME, true, "runtime"), + new RemappedConfigurationEntry("modRuntime", JavaPlugin.RUNTIME_ONLY_CONFIGURATION_NAME, false, ""), + new RemappedConfigurationEntry("modCompileOnly", JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, true, "") ); + private static final List<RemappedConfigurationEntry> MODERN_MOD_COMPILE_ENTRIES = ImmutableList.of( + new RemappedConfigurationEntry("modApi", JavaPlugin.API_CONFIGURATION_NAME, true, "compile"), + new RemappedConfigurationEntry("modImplementation", JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME, true, "runtime"), + new RemappedConfigurationEntry("modRuntime", JavaPlugin.RUNTIME_ONLY_CONFIGURATION_NAME, false, ""), + new RemappedConfigurationEntry("modCompileOnly", JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, true, "") + ); + + public static final List<RemappedConfigurationEntry> MOD_COMPILE_ENTRIES = GradleSupport.IS_GRADLE_7_OR_NEWER ? MODERN_MOD_COMPILE_ENTRIES : LEGACY_MOD_COMPILE_ENTRIES; + private Constants() { } @@ -72,6 +83,8 @@ public class Constants { public static final String FORGE_INSTALLER = "forgeInstaller"; public static final String FORGE_UNIVERSAL = "forgeUniversal"; public static final String FORGE_DEPENDENCIES = "forgeDependencies"; + @Deprecated // Not to be used in gradle 7+ + public static final String COMPILE = "compile"; private Configurations() { } diff --git a/src/main/java/net/fabricmc/loom/util/SourceRemapper.java b/src/main/java/net/fabricmc/loom/util/SourceRemapper.java index e3614787..71672d92 100644 --- a/src/main/java/net/fabricmc/loom/util/SourceRemapper.java +++ b/src/main/java/net/fabricmc/loom/util/SourceRemapper.java @@ -38,6 +38,7 @@ import org.cadixdev.mercury.Mercury; import org.cadixdev.mercury.remapper.MercuryRemapper; import org.gradle.api.Project; import org.gradle.api.artifacts.Dependency; +import org.gradle.api.plugins.JavaPlugin; import org.zeroturnaround.zip.ZipUtil; import net.fabricmc.loom.LoomGradleExtension; @@ -196,7 +197,7 @@ public class SourceRemapper { } Dependency annotationDependency = extension.getDependencyManager().getProvider(LaunchProvider.class).annotationDependency; - Set<File> files = project.getConfigurations().getByName("compileOnly") + Set<File> files = project.getConfigurations().getByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME) .files(annotationDependency); for (File file : files) { diff --git a/src/main/java/net/fabricmc/loom/util/gradle/GradleSupport.java b/src/main/java/net/fabricmc/loom/util/gradle/GradleSupport.java index 2ead1f70..068b5438 100644 --- a/src/main/java/net/fabricmc/loom/util/gradle/GradleSupport.java +++ b/src/main/java/net/fabricmc/loom/util/gradle/GradleSupport.java @@ -28,9 +28,12 @@ import java.lang.reflect.Method; import org.gradle.api.Project; import org.gradle.api.file.RegularFileProperty; +import org.gradle.util.GradleVersion; // This is used to bridge the gap over large gradle api changes. public class GradleSupport { + public static final boolean IS_GRADLE_7_OR_NEWER = isIsGradle7OrNewer(); + public static RegularFileProperty getfileProperty(Project project) { try { // First try the new method, if that fails fall back. @@ -59,4 +62,9 @@ public class GradleSupport { method.setAccessible(true); return (RegularFileProperty) method.invoke(object); } + + public static boolean isIsGradle7OrNewer() { + String version = GradleVersion.current().getVersion(); + return Integer.parseInt(version.substring(0, version.indexOf("."))) >= 7; + } } |