diff --git a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java index bc10dbd4..0ca3f7b8 100644 --- a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java @@ -25,6 +25,7 @@ package net.fabricmc.loom.configuration; import java.io.IOException; +import java.lang.reflect.InvocationTargetException; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; @@ -33,6 +34,7 @@ import org.gradle.api.Project; import org.gradle.api.Task; import org.gradle.api.UnknownTaskException; import org.gradle.api.plugins.JavaPlugin; +import org.gradle.api.provider.Property; import org.gradle.api.tasks.bundling.AbstractArchiveTask; import org.gradle.api.tasks.bundling.Jar; import org.jetbrains.annotations.ApiStatus; @@ -149,7 +151,8 @@ public class RemapConfiguration { RemapSourcesJarTask remapSourcesJarTask = (RemapSourcesJarTask) project.getTasks().findByName(remapSourcesJarTaskName); Preconditions.checkNotNull(remapSourcesJarTask, "Could not find " + remapSourcesJarTaskName + " in " + project.getName()); remapSourcesJarTask.setOutput(sourcesTask.getArchivePath()); - sourcesTask.setClassifier(sourcesTask.getClassifier() == null ? "dev" : sourcesTask.getClassifier() + "-dev"); + String sourcesTaskClassifer = getTaskClassifier(sourcesTask); + setTaskClassifier(sourcesTask, sourcesTaskClassifer == null ? "dev" : sourcesTaskClassifer + "-dev"); remapSourcesJarTask.setInput(sourcesTask.getArchivePath()); remapSourcesJarTask.dependsOn(sourcesTask); @@ -173,4 +176,26 @@ public class RemapConfiguration { // pass } } + + private static String getTaskClassifier(AbstractArchiveTask sourcesTask) { + try { + Property property = (Property) AbstractArchiveTask.class.getDeclaredMethod("getArchiveClassifier").invoke(sourcesTask); + return property.get(); + } catch (NoSuchMethodException e) { + return sourcesTask.getClassifier(); + } catch (InvocationTargetException | IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + private static void setTaskClassifier(AbstractArchiveTask sourcesTask, String s) { + try { + Property property = (Property) AbstractArchiveTask.class.getDeclaredMethod("getArchiveClassifier").invoke(sourcesTask); + property.set(s); + } catch (NoSuchMethodException e) { + sourcesTask.setClassifier(s); + } catch (InvocationTargetException | IllegalAccessException e) { + throw new RuntimeException(e); + } + } } diff --git a/src/test/resources/projects/accesswidener/build.gradle b/src/test/resources/projects/accesswidener/build.gradle index 42e0b4ec..b339c241 100644 --- a/src/test/resources/projects/accesswidener/build.gradle +++ b/src/test/resources/projects/accesswidener/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' id 'maven-publish' } diff --git a/src/test/resources/projects/decompile/build.gradle b/src/test/resources/projects/decompile/build.gradle index daa90b14..a142f77f 100644 --- a/src/test/resources/projects/decompile/build.gradle +++ b/src/test/resources/projects/decompile/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' } dependencies { diff --git a/src/test/resources/projects/kotlin/build.gradle.kts b/src/test/resources/projects/kotlin/build.gradle.kts index 5330c341..3a72942e 100644 --- a/src/test/resources/projects/kotlin/build.gradle.kts +++ b/src/test/resources/projects/kotlin/build.gradle.kts @@ -2,7 +2,7 @@ import java.util.Properties plugins { kotlin("jvm") version "1.4.31" - id("fabric-loom") + id("dev.architectury.loom") } java { diff --git a/src/test/resources/projects/legacy/build.gradle b/src/test/resources/projects/legacy/build.gradle index 92e5147d..fd6f59fe 100644 --- a/src/test/resources/projects/legacy/build.gradle +++ b/src/test/resources/projects/legacy/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' } sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/src/test/resources/projects/localFileDependency/build.gradle b/src/test/resources/projects/localFileDependency/build.gradle index c56a5a8a..0ee2b84f 100644 --- a/src/test/resources/projects/localFileDependency/build.gradle +++ b/src/test/resources/projects/localFileDependency/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' id 'maven-publish' } diff --git a/src/test/resources/projects/maven/build.gradle b/src/test/resources/projects/maven/build.gradle index 56930fcd..98613ab5 100644 --- a/src/test/resources/projects/maven/build.gradle +++ b/src/test/resources/projects/maven/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' id 'maven-publish' } diff --git a/src/test/resources/projects/mavenLibrary/build.gradle b/src/test/resources/projects/mavenLibrary/build.gradle index e0121c35..92ab7865 100644 --- a/src/test/resources/projects/mavenLibrary/build.gradle +++ b/src/test/resources/projects/mavenLibrary/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' id 'maven-publish' } diff --git a/src/test/resources/projects/mojangMappings/build.gradle b/src/test/resources/projects/mojangMappings/build.gradle index 193627e9..2cceac0e 100644 --- a/src/test/resources/projects/mojangMappings/build.gradle +++ b/src/test/resources/projects/mojangMappings/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' id 'maven-publish' } diff --git a/src/test/resources/projects/multiproject/build.gradle b/src/test/resources/projects/multiproject/build.gradle index 46fab3ed..0d389a0e 100644 --- a/src/test/resources/projects/multiproject/build.gradle +++ b/src/test/resources/projects/multiproject/build.gradle @@ -1,11 +1,11 @@ plugins { id "java" id "java-library" - id 'fabric-loom' apply false + id 'dev.architectury.loom' apply false } allprojects { - apply plugin: "fabric-loom" + apply plugin: "dev.architectury.loom" version = "1.0.0" diff --git a/src/test/resources/projects/reproducible/build.gradle b/src/test/resources/projects/reproducible/build.gradle index de5d2cc3..bfdf85c6 100644 --- a/src/test/resources/projects/reproducible/build.gradle +++ b/src/test/resources/projects/reproducible/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' id 'maven-publish' } diff --git a/src/test/resources/projects/runconfigs/build.gradle b/src/test/resources/projects/runconfigs/build.gradle index dbdd21e5..9ea9de9e 100644 --- a/src/test/resources/projects/runconfigs/build.gradle +++ b/src/test/resources/projects/runconfigs/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' } loom { diff --git a/src/test/resources/projects/simple/build.gradle b/src/test/resources/projects/simple/build.gradle index 771502c4..b8917573 100644 --- a/src/test/resources/projects/simple/build.gradle +++ b/src/test/resources/projects/simple/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' id 'maven-publish' } diff --git a/src/test/resources/projects/unpick/build.gradle b/src/test/resources/projects/unpick/build.gradle index 4b79a1b0..a0d8b223 100644 --- a/src/test/resources/projects/unpick/build.gradle +++ b/src/test/resources/projects/unpick/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' + id 'dev.architectury.loom' } dependencies {