aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-01-18 09:08:38 +0800
committershedaniel <daniel@shedaniel.me>2021-01-18 09:08:38 +0800
commite88f78bc6291cfeb6b0ec7c931a6969156ab5487 (patch)
tree91ea17c56eb08842098e846ab5c474bd66bce454 /src/main/java
parent3a49510c0189b787b82b4829a217e99053bfec39 (diff)
parent47097c65cede8a4200a55ad32be1d183f474b80d (diff)
downloadarchitectury-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')
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java2
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/DependencyProvider.java4
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java6
-rw-r--r--src/main/java/net/fabricmc/loom/util/Constants.java25
-rw-r--r--src/main/java/net/fabricmc/loom/util/SourceRemapper.java3
-rw-r--r--src/main/java/net/fabricmc/loom/util/gradle/GradleSupport.java8
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;
+ }
}