From e67de3f9af849dc29c018dc4c95aea5792325b9d Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 22 Oct 2025 23:20:14 +0100 Subject: [PATCH] Export runtime jars from companion projects. --- .../java/net/fabricmc/loom/util/gradle/GradleUtils.java | 5 +++++ .../net/fabricmc/loom/util/gradle/SourceSetHelper.java | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java b/src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java index 1cfcc2b7..7f97bfc3 100644 --- a/src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java +++ b/src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java @@ -32,6 +32,7 @@ import org.gradle.api.file.RegularFileProperty; import org.gradle.api.invocation.Gradle; import org.gradle.api.provider.Provider; +import net.fabricmc.loom.LoomCompanionGradlePlugin; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.LoomGradlePlugin; @@ -63,6 +64,10 @@ public final class GradleUtils { return project.getPluginManager().hasPlugin(LoomGradlePlugin.NAME); } + public static boolean isLoomCompanionProject(Project project) { + return project.getPluginManager().hasPlugin(LoomCompanionGradlePlugin.NAME); + } + public static Provider getBooleanPropertyProvider(Project project, String key) { LoomGradleExtension extension = LoomGradleExtension.get(project); diff --git a/src/main/java/net/fabricmc/loom/util/gradle/SourceSetHelper.java b/src/main/java/net/fabricmc/loom/util/gradle/SourceSetHelper.java index a85d0610..32399b25 100644 --- a/src/main/java/net/fabricmc/loom/util/gradle/SourceSetHelper.java +++ b/src/main/java/net/fabricmc/loom/util/gradle/SourceSetHelper.java @@ -42,6 +42,7 @@ import javax.xml.xpath.XPathFactory; import org.gradle.api.Project; import org.gradle.api.Task; import org.gradle.api.artifacts.Configuration; +import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.SourceSetContainer; @@ -140,8 +141,10 @@ public final class SourceSetHelper { } // Add dev jars from dependency projects if the source set is "main". - if (forExport && SourceSet.MAIN_SOURCE_SET_NAME.equals(reference.sourceSet().getName()) && GradleUtils.isLoomProject(reference.project())) { - final Configuration namedElements = reference.project().getConfigurations().getByName(Constants.Configurations.NAMED_ELEMENTS); + if (forExport && SourceSet.MAIN_SOURCE_SET_NAME.equals(reference.sourceSet().getName()) && GradleUtils.isLoomCompanionProject(reference.project())) { + String configurationName = GradleUtils.isLoomProject(reference.project()) + ? Constants.Configurations.NAMED_ELEMENTS : JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME; + final Configuration namedElements = reference.project().getConfigurations().getByName(configurationName); // Note: We're not looking at the artifacts from configuration variants. It's probably not needed // (certainly not with Loom's setup), but technically someone could add child variants that add additional