diff --git a/src/main/java/net/fabricmc/loom/configuration/LoomConfigurations.java b/src/main/java/net/fabricmc/loom/configuration/LoomConfigurations.java index 8922f3af..21a7ae7e 100644 --- a/src/main/java/net/fabricmc/loom/configuration/LoomConfigurations.java +++ b/src/main/java/net/fabricmc/loom/configuration/LoomConfigurations.java @@ -158,6 +158,8 @@ public abstract class LoomConfigurations implements Runnable { extendsFrom(Constants.Configurations.MINECRAFT_TEST_CLIENT_RUNTIME_LIBRARIES, Constants.Configurations.MINECRAFT_NATIVES); extendsFrom(Constants.Configurations.MINECRAFT_TEST_CLIENT_RUNTIME_LIBRARIES, Constants.Configurations.MINECRAFT_CLIENT_RUNTIME_LIBRARIES); extendsFrom(Constants.Configurations.MINECRAFT_TEST_CLIENT_RUNTIME_LIBRARIES, Constants.Configurations.LOADER_DEPENDENCIES); + + register(Constants.Configurations.PRODUCTION_RUNTIME_MODS, Role.RESOLVABLE); } private NamedDomainObjectProvider register(String name, Role role) { diff --git a/src/main/java/net/fabricmc/loom/task/prod/AbstractProductionRunTask.java b/src/main/java/net/fabricmc/loom/task/prod/AbstractProductionRunTask.java index 0661f969..55a28789 100644 --- a/src/main/java/net/fabricmc/loom/task/prod/AbstractProductionRunTask.java +++ b/src/main/java/net/fabricmc/loom/task/prod/AbstractProductionRunTask.java @@ -132,6 +132,8 @@ public abstract sealed class AbstractProductionRunTask extends AbstractLoomTask if (!GradleUtils.getBooleanProperty(getProject(), Constants.Properties.DONT_REMAP)) { getMods().from(getProject().getTasks().named(RemapTaskConfiguration.REMAP_JAR_TASK_NAME)); } + + getMods().from(getProject().getConfigurations().named(Constants.Configurations.PRODUCTION_RUNTIME_MODS)); } @TaskAction diff --git a/src/main/java/net/fabricmc/loom/util/Constants.java b/src/main/java/net/fabricmc/loom/util/Constants.java index deceb58d..8a7a9c08 100644 --- a/src/main/java/net/fabricmc/loom/util/Constants.java +++ b/src/main/java/net/fabricmc/loom/util/Constants.java @@ -86,6 +86,10 @@ public class Constants { * The configuration that contains the Minecraft client and loader runtime libraries, as used by the production run tasks. */ public static final String MINECRAFT_TEST_CLIENT_RUNTIME_LIBRARIES = "minecraftTestClientRuntimeLibraries"; + /** + * Mods to be used by {@link net.fabricmc.loom.task.prod.AbstractProductionRunTask} tasks by default. + */ + public static final String PRODUCTION_RUNTIME_MODS = "productionRuntimeMods"; private Configurations() { } diff --git a/src/test/groovy/net/fabricmc/loom/test/integration/RunConfigTest.groovy b/src/test/groovy/net/fabricmc/loom/test/integration/RunConfigTest.groovy index f0f86bfb..7a8cacb7 100644 --- a/src/test/groovy/net/fabricmc/loom/test/integration/RunConfigTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/integration/RunConfigTest.groovy @@ -174,21 +174,16 @@ class RunConfigTest extends Specification implements GradleProjectTestTrait { def gradle = gradleProject(project: "minimalBase", version: version) gradle.buildGradle << ''' - configurations { - productionMods - } - dependencies { minecraft "com.mojang:minecraft:1.21.4" mappings "net.fabricmc:yarn:1.21.4+build.4:v2" modImplementation "net.fabricmc:fabric-loader:0.16.9" modImplementation "net.fabricmc.fabric-api:fabric-api:0.114.0+1.21.4" - productionMods "net.fabricmc.fabric-api:fabric-api:0.114.0+1.21.4" + productionRuntimeMods "net.fabricmc.fabric-api:fabric-api:0.114.0+1.21.4" } tasks.register("prodClient", net.fabricmc.loom.task.prod.ClientProductionRunTask) { - mods.from(configurations.productionMods) jvmArgs.add("-Dfabric.client.gametest") tracy {