From e409f13b8c0f24d9b324741169c7e889256c26fc Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Fri, 29 Oct 2021 13:29:29 +0100 Subject: [PATCH] =?UTF-8?q?Add=20dev=20config=20with=20default=20jar=20tas?= =?UTF-8?q?k=20on=20it,=20to=20aid=20with=20depending=20on=20=E2=80=A6=20(?= =?UTF-8?q?#525)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add dev config with default jar task on it, to aid with depending on sub projects. * Rename to `namedElements` * Update src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> --- .../fabricmc/loom/configuration/CompileConfiguration.java | 7 +++++++ src/main/java/net/fabricmc/loom/util/Constants.java | 1 + src/test/resources/projects/multiproject/build.gradle | 4 ---- .../resources/projects/multiproject/example/build.gradle | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index 30b3723..b957068 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -57,6 +57,10 @@ public final class CompileConfiguration { extension.createLazyConfiguration(Constants.Configurations.MINECRAFT).configure(configuration -> configuration.setTransitive(false)); extension.createLazyConfiguration(Constants.Configurations.INCLUDE).configure(configuration -> configuration.setTransitive(false)); // Dont get transitive deps extension.createLazyConfiguration(Constants.Configurations.MAPPING_CONSTANTS); + extension.createLazyConfiguration(Constants.Configurations.NAMED_ELEMENTS).configure(configuration -> { + configuration.setCanBeConsumed(true); + configuration.setCanBeResolved(false); + }); extendsFrom(JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, Constants.Configurations.MAPPING_CONSTANTS, project); @@ -147,6 +151,9 @@ public final class CompileConfiguration { } }); + // Add the "dev" jar to the "namedElements" configuration + p.artifacts(artifactHandler -> artifactHandler.add(Constants.Configurations.NAMED_ELEMENTS, p.getTasks().getByName("jar"))); + if (p.getPluginManager().hasPlugin("org.jetbrains.kotlin.kapt")) { // If loom is applied after kapt, then kapt will use the AP arguments too early for loom to pass the arguments we need for mixin. throw new IllegalArgumentException("fabric-loom must be applied BEFORE kapt in the plugins { } block."); diff --git a/src/main/java/net/fabricmc/loom/util/Constants.java b/src/main/java/net/fabricmc/loom/util/Constants.java index a5e1ed9..46c01b4 100644 --- a/src/main/java/net/fabricmc/loom/util/Constants.java +++ b/src/main/java/net/fabricmc/loom/util/Constants.java @@ -72,6 +72,7 @@ public class Constants { public static final String LOOM_DEVELOPMENT_DEPENDENCIES = "loomDevelopmentDependencies"; public static final String MAPPING_CONSTANTS = "mappingsConstants"; public static final String UNPICK_CLASSPATH = "unpick"; + public static final String NAMED_ELEMENTS = "namedElements"; private Configurations() { } diff --git a/src/test/resources/projects/multiproject/build.gradle b/src/test/resources/projects/multiproject/build.gradle index 5f4ed19..17480a8 100644 --- a/src/test/resources/projects/multiproject/build.gradle +++ b/src/test/resources/projects/multiproject/build.gradle @@ -31,10 +31,6 @@ allprojects { } - configurations { - dev - } - jar { archiveClassifier.set "dev" } diff --git a/src/test/resources/projects/multiproject/example/build.gradle b/src/test/resources/projects/multiproject/example/build.gradle index 65ab979..044e37f 100644 --- a/src/test/resources/projects/multiproject/example/build.gradle +++ b/src/test/resources/projects/multiproject/example/build.gradle @@ -1,7 +1,7 @@ archivesBaseName = "example" dependencies { - implementation project(path: ":core", configuration: "dev") + implementation project(path: ":core", configuration: "namedElements") } loom {