From 08f055489b96878a9d645288d2057aa93867fd76 Mon Sep 17 00:00:00 2001 From: Juuxel <6596629+Juuxel@users.noreply.github.com> Date: Sun, 5 Sep 2021 18:08:16 +0300 Subject: [PATCH] Fix the java software component not working with Loom and fix #200 (#460) * Add modCompileOnlyApi, modRuntimeOnly; deprecate modRuntime * begin * continue * Make RemapSourcesJarTask use properties * finish * Remove cursed version hack :wink: * Finish for real * Add missing header * Clarify a comment * Fix tests * Use Gradle's own *Elements and remove -dev jars * Fix maven test * Put mappingsFinal onto runtimeClasspath instead of implementation * Make non-mod dependencies work with the legacy pom magic too * Be a bit more clever when removing dev artifacts --- .../net/fabricmc/loom/LoomGradlePlugin.java | 2 +- .../loom/api/LoomGradleExtensionAPI.java | 10 ++++ .../configuration/CompileConfiguration.java | 20 ++++--- .../loom/configuration/MavenPublication.java | 52 ++++++++++++++----- .../configuration/RemapConfiguration.java | 31 +++++++++++ .../RemappedConfigurationEntry.java | 10 ++-- .../extension/LoomGradleExtensionApiImpl.java | 10 +++- .../extension/MinecraftGradleExtension.java | 6 +++ .../net/fabricmc/loom/task/RemapJarTask.java | 3 +- .../net/fabricmc/loom/util/Constants.java | 14 ++--- .../projects/accesswidener/build.gradle | 8 +-- .../basic/build.gradle | 8 +-- .../projmap/build.gradle | 8 +-- .../projects/localFileDependency/build.gradle | 8 +-- .../projects/mavenLibrary/build.gradle | 9 +--- .../projects/mixinApAutoRefmap/build.gradle | 8 +-- .../projects/mixinApSimple/build.gradle | 8 +-- .../projects/mojangMappings/build.gradle | 8 +-- .../resources/projects/signed/build.gradle | 7 +-- .../resources/projects/simple/build.gradle | 8 +-- 20 files changed, 134 insertions(+), 104 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/LoomGradlePlugin.java b/src/main/java/net/fabricmc/loom/LoomGradlePlugin.java index 7534473..bf52650 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradlePlugin.java +++ b/src/main/java/net/fabricmc/loom/LoomGradlePlugin.java @@ -73,7 +73,7 @@ public class LoomGradlePlugin implements BootstrappedPlugin { } // Apply default plugins - project.apply(ImmutableMap.of("plugin", "java")); + project.apply(ImmutableMap.of("plugin", "java-library")); project.apply(ImmutableMap.of("plugin", "eclipse")); project.apply(ImmutableMap.of("plugin", "idea")); diff --git a/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java b/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java index bd48bd6..4fb8bae 100644 --- a/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java +++ b/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java @@ -174,4 +174,14 @@ public interface LoomGradleExtensionAPI { getDeprecationHelper().replaceWithInLoom0_11("customManifest", "customMinecraftManifest"); return getCustomMinecraftManifest().getOrNull(); } + + /** + * If true, Loom will replace the {@code -dev} jars in the {@code *Elements} configurations + * with remapped outgoing variants. + * + *

Will only apply if {@link #getRemapArchives()} is also true. + * + * @return the property controlling the setup of remapped variants + */ + Property getSetupRemappedVariants(); } diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index 549447a..f572d31 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -25,14 +25,12 @@ package net.fabricmc.loom.configuration; import org.gradle.api.Project; -import org.gradle.api.artifacts.ConfigurationContainer; import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPluginConvention; import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.javadoc.Javadoc; import org.gradle.jvm.tasks.Jar; -import net.fabricmc.loom.extension.MixinApExtension; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.build.mixin.JavaApInvoker; import net.fabricmc.loom.build.mixin.KaptApInvoker; @@ -41,6 +39,7 @@ import net.fabricmc.loom.configuration.ide.SetupIntelijRunConfigs; import net.fabricmc.loom.configuration.providers.LaunchProvider; import net.fabricmc.loom.configuration.providers.MinecraftProviderImpl; import net.fabricmc.loom.configuration.providers.mappings.MappingsProviderImpl; +import net.fabricmc.loom.extension.MixinApExtension; import net.fabricmc.loom.util.Constants; public final class CompileConfiguration { @@ -48,8 +47,6 @@ public final class CompileConfiguration { } public static void setupConfigurations(Project project) { - final ConfigurationContainer configurations = project.getConfigurations(); - LoomGradleExtension extension = LoomGradleExtension.get(project); extension.createLazyConfiguration(Constants.Configurations.MOD_COMPILE_CLASSPATH).configure(configuration -> configuration.setTransitive(true)); @@ -76,11 +73,18 @@ public final class CompileConfiguration { extension.createLazyConfiguration(entry.getRemappedConfiguration()) .configure(configuration -> configuration.setTransitive(false)); - extendsFrom(entry.getTargetConfiguration(configurations), entry.getRemappedConfiguration(), project); - - if (entry.isOnModCompileClasspath()) { + if (entry.compileClasspath()) { extendsFrom(Constants.Configurations.MOD_COMPILE_CLASSPATH, entry.sourceConfiguration(), project); extendsFrom(Constants.Configurations.MOD_COMPILE_CLASSPATH_MAPPED, entry.getRemappedConfiguration(), project); + extendsFrom(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME, entry.getRemappedConfiguration(), project); + } + + if (entry.runtimeClasspath()) { + extendsFrom(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME, entry.getRemappedConfiguration(), project); + } + + if (entry.hasConsumerConfiguration()) { + extendsFrom(entry.consumerConfiguration(), entry.sourceConfiguration(), project); } } @@ -92,7 +96,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.IMPLEMENTATION_CONFIGURATION_NAME, Constants.Configurations.MAPPINGS_FINAL, project); + extendsFrom(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME, Constants.Configurations.MAPPINGS_FINAL, project); extendsFrom(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME, Constants.Configurations.LOOM_DEVELOPMENT_DEPENDENCIES, project); extendsFrom(JavaPlugin.TEST_RUNTIME_CLASSPATH_CONFIGURATION_NAME, Constants.Configurations.LOOM_DEVELOPMENT_DEPENDENCIES, project); diff --git a/src/main/java/net/fabricmc/loom/configuration/MavenPublication.java b/src/main/java/net/fabricmc/loom/configuration/MavenPublication.java index 35dd1d8..5578201 100644 --- a/src/main/java/net/fabricmc/loom/configuration/MavenPublication.java +++ b/src/main/java/net/fabricmc/loom/configuration/MavenPublication.java @@ -24,9 +24,12 @@ package net.fabricmc.loom.configuration; +import java.lang.reflect.Method; import java.util.HashSet; +import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.concurrent.atomic.AtomicBoolean; import groovy.util.Node; import org.gradle.api.Project; @@ -34,43 +37,66 @@ import org.gradle.api.artifacts.Configuration; import org.gradle.api.artifacts.Dependency; import org.gradle.api.artifacts.ExcludeRule; import org.gradle.api.artifacts.ModuleDependency; +import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.publish.Publication; import org.gradle.api.publish.PublishingExtension; -import net.fabricmc.loom.util.Constants; +import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.util.GroovyXmlUtil; public final class MavenPublication { + private static final Map CONFIGURATION_TO_SCOPE = Map.of( + JavaPlugin.API_ELEMENTS_CONFIGURATION_NAME, "compile", + JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME, "runtime" + ); + private MavenPublication() { } public static void configure(Project project) { project.afterEvaluate((p) -> { - for (RemappedConfigurationEntry entry : Constants.MOD_COMPILE_ENTRIES) { - if (!entry.hasMavenScope()) { - continue; - } + AtomicBoolean reportedDeprecation = new AtomicBoolean(false); - Configuration compileModsConfig = p.getConfigurations().getByName(entry.sourceConfiguration()); + CONFIGURATION_TO_SCOPE.forEach((configurationName, scope) -> { + Configuration config = p.getConfigurations().getByName(configurationName); // add modsCompile to maven-publish PublishingExtension mavenPublish = p.getExtensions().findByType(PublishingExtension.class); if (mavenPublish != null) { - processEntry(entry, compileModsConfig, mavenPublish); + processEntry(project, scope, config, mavenPublish, reportedDeprecation); } - } + }); }); } - private static void processEntry(RemappedConfigurationEntry entry, Configuration compileModsConfig, PublishingExtension mavenPublish) { + private static boolean hasSoftwareComponent(Publication publication) { + try { + Method getComponent = publication.getClass().getMethod("getComponent"); + return getComponent.invoke(publication) != null; + } catch (ReflectiveOperationException e) { + // our hacks have broken! + return false; + } + } + + // TODO: Remove this in Loom 0.12 + private static void processEntry(Project project, String scope, Configuration config, PublishingExtension mavenPublish, AtomicBoolean reportedDeprecation) { mavenPublish.publications((publications) -> { for (Publication publication : publications) { - if (!(publication instanceof org.gradle.api.publish.maven.MavenPublication)) { + if (!(publication instanceof org.gradle.api.publish.maven.MavenPublication mavenPublication)) { continue; } - ((org.gradle.api.publish.maven.MavenPublication) publication).pom((pom) -> pom.withXml((xml) -> { + if (hasSoftwareComponent(publication)) { + continue; + } else if (!reportedDeprecation.get()) { + var deprecationHelper = LoomGradleExtension.get(project).getDeprecationHelper(); + deprecationHelper.warn("Loom is applying dependency data manually to publications instead of using a software component (from(components[\"java\"])). This is deprecated and will be removed in Loom 0.12."); + reportedDeprecation.set(true); + } + + mavenPublication.pom((pom) -> pom.withXml((xml) -> { Node dependencies = GroovyXmlUtil.getOrCreateNode(xml.asNode(), "dependencies"); Set foundArtifacts = new HashSet<>(); @@ -83,7 +109,7 @@ public final class MavenPublication { } }); - for (Dependency dependency : compileModsConfig.getAllDependencies()) { + for (Dependency dependency : config.getAllDependencies()) { if (foundArtifacts.contains(dependency.getGroup() + ":" + dependency.getName())) { continue; } @@ -92,7 +118,7 @@ public final class MavenPublication { depNode.appendNode("groupId", dependency.getGroup()); depNode.appendNode("artifactId", dependency.getName()); depNode.appendNode("version", dependency.getVersion()); - depNode.appendNode("scope", entry.mavenScope()); + depNode.appendNode("scope", scope); if (!(dependency instanceof ModuleDependency)) { continue; diff --git a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java index 8a14b16..03e8f06 100644 --- a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java @@ -31,6 +31,8 @@ import org.gradle.api.Action; import org.gradle.api.Project; import org.gradle.api.Task; import org.gradle.api.UnknownTaskException; +import org.gradle.api.artifacts.Configuration; +import org.gradle.api.artifacts.dsl.ArtifactHandler; import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.tasks.bundling.AbstractArchiveTask; import org.jetbrains.annotations.ApiStatus; @@ -54,6 +56,35 @@ public class RemapConfiguration { public static void setupDefaultRemap(Project project) { setupRemap(project, true, DEFAULT_JAR_TASK_NAME, DEFAULT_SOURCES_JAR_TASK_NAME, DEFAULT_REMAP_JAR_TASK_NAME, DEFAULT_REMAP_SOURCES_JAR_TASK_NAME, DEFAULT_REMAP_ALL_JARS_TASK_NAME, DEFAULT_REMAP_ALL_SOURCES_TASK_NAME); + + LoomGradleExtension extension = LoomGradleExtension.get(project); + extension.getSetupRemappedVariants().finalizeValue(); + + if (extension.getSetupRemappedVariants().get()) { + ArtifactHandler artifacts = project.getArtifacts(); + project.getTasks().named(DEFAULT_REMAP_JAR_TASK_NAME, task -> { + artifacts.add(JavaPlugin.API_ELEMENTS_CONFIGURATION_NAME, task); + artifacts.add(JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME, task); + }); + project.getTasks().named(DEFAULT_REMAP_SOURCES_JAR_TASK_NAME, RemapSourcesJarTask.class, task -> { + var artifact = artifacts.add(JavaPlugin.SOURCES_ELEMENTS_CONFIGURATION_NAME, task.getOutput()); + + // Remove the existing artifact that does not run remapSourcesJar. + // It doesn't seem to hurt, but I'm not sure if the file-level duplicates cause issues. + Configuration configuration = project.getConfigurations().getByName(JavaPlugin.SOURCES_ELEMENTS_CONFIGURATION_NAME); + configuration.getArtifacts().removeIf(a -> a != artifact && artifact.getFile().equals(a.getFile())); + }); + + // Remove -dev jars from the default jar task + for (String configurationName : new String[] { JavaPlugin.API_ELEMENTS_CONFIGURATION_NAME, JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME }) { + Configuration configuration = project.getConfigurations().getByName(configurationName); + configuration.getArtifacts().removeIf(artifact -> { + Task jarTask = project.getTasks().getByName(DEFAULT_JAR_TASK_NAME); + // if the artifact is a -dev jar and "builtBy jar" + return "dev".equals(artifact.getClassifier()) && artifact.getBuildDependencies().getDependencies(null).contains(jarTask); + }); + } + } } @ApiStatus.Experimental // This is only an api if you squint really hard, expect it to explode every 5 mins. If you must call in afterEvaluate on all projects diff --git a/src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java b/src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java index 5e4cf31..f7f4395 100644 --- a/src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java +++ b/src/main/java/net/fabricmc/loom/configuration/RemappedConfigurationEntry.java @@ -28,13 +28,13 @@ import org.gradle.api.artifacts.ConfigurationContainer; import org.gradle.api.plugins.JavaPlugin; import org.jetbrains.annotations.Nullable; -public record RemappedConfigurationEntry(String sourceConfiguration, String targetConfiguration, boolean isOnModCompileClasspath, String mavenScope, @Nullable String replacedWith) { - public RemappedConfigurationEntry(String sourceConfiguration, String targetConfiguration, boolean isOnModCompileClasspath, String mavenScope) { - this(sourceConfiguration, targetConfiguration, isOnModCompileClasspath, mavenScope, null); +public record RemappedConfigurationEntry(String sourceConfiguration, String targetConfiguration, boolean compileClasspath, boolean runtimeClasspath, String consumerConfiguration, @Nullable String replacedWith) { + public RemappedConfigurationEntry(String sourceConfiguration, String targetConfiguration, boolean compileClasspath, boolean runtimeClasspath, String consumerConfiguration) { + this(sourceConfiguration, targetConfiguration, compileClasspath, runtimeClasspath, consumerConfiguration, null); } - public boolean hasMavenScope() { - return mavenScope != null && !mavenScope.isEmpty(); + public boolean hasConsumerConfiguration() { + return consumerConfiguration != null && !consumerConfiguration.isEmpty(); } public String getRemappedConfiguration() { diff --git a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java index 00cb2f9..9b2edbf 100644 --- a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java +++ b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java @@ -33,9 +33,9 @@ import org.gradle.api.file.RegularFileProperty; import org.gradle.api.provider.ListProperty; import org.gradle.api.provider.Property; +import net.fabricmc.loom.api.LoomGradleExtensionAPI; import net.fabricmc.loom.api.MixinApExtensionAPI; import net.fabricmc.loom.api.decompilers.LoomDecompiler; -import net.fabricmc.loom.api.LoomGradleExtensionAPI; import net.fabricmc.loom.configuration.ide.RunConfigSettings; import net.fabricmc.loom.configuration.processors.JarProcessor; import net.fabricmc.loom.configuration.providers.mappings.GradleMappingContext; @@ -56,6 +56,7 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA protected final Property shareCaches; protected final Property remapArchives; protected final Property customManifest; + protected final Property setupRemappedVariants; private NamedDomainObjectContainer runConfigs; @@ -73,6 +74,8 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA this.remapArchives = project.getObjects().property(Boolean.class) .convention(true); this.customManifest = project.getObjects().property(String.class); + this.setupRemappedVariants = project.getObjects().property(Boolean.class) + .convention(true); this.deprecationHelper = new DeprecationHelper.ProjectBased(project); } @@ -140,6 +143,11 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA return customManifest; } + @Override + public Property getSetupRemappedVariants() { + return setupRemappedVariants; + } + protected abstract Project getProject(); protected abstract LoomFiles getFiles(); diff --git a/src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java b/src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java index ae4804f..c93c010 100644 --- a/src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java @@ -131,4 +131,10 @@ public class MinecraftGradleExtension implements LoomGradleExtensionAPI { reportDeprecation(); return parent.getCustomMinecraftManifest(); } + + @Override + public Property getSetupRemappedVariants() { + reportDeprecation(); + return parent.getSetupRemappedVariants(); + } } diff --git a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java index 8422d4d..98e6cee 100644 --- a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java +++ b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java @@ -45,6 +45,7 @@ import org.gradle.api.Project; import org.gradle.api.artifacts.Configuration; import org.gradle.api.file.FileCollection; import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.provider.Property; import org.gradle.api.tasks.Input; import org.gradle.api.tasks.InputFile; @@ -233,7 +234,7 @@ public class RemapJarTask extends Jar { FileCollection files = this.classpath; if (files == null) { - files = getProject().getConfigurations().getByName("compileClasspath"); + files = getProject().getConfigurations().getByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME); } return files.getFiles().stream() diff --git a/src/main/java/net/fabricmc/loom/util/Constants.java b/src/main/java/net/fabricmc/loom/util/Constants.java index 1d6b735..2309462 100644 --- a/src/main/java/net/fabricmc/loom/util/Constants.java +++ b/src/main/java/net/fabricmc/loom/util/Constants.java @@ -44,14 +44,16 @@ public class Constants { public static final int ASM_VERSION = Opcodes.ASM9; public static final List 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, "", "modRuntimeOnly"), - new RemappedConfigurationEntry("modCompileOnly", JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, true, ""), - new RemappedConfigurationEntry("modCompileOnlyApi", JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, true, "compile"), - new RemappedConfigurationEntry("modRuntimeOnly", JavaPlugin.RUNTIME_ONLY_CONFIGURATION_NAME, false, "runtime") + new RemappedConfigurationEntry("modApi", JavaPlugin.API_CONFIGURATION_NAME, true, true, JavaPlugin.API_ELEMENTS_CONFIGURATION_NAME), + new RemappedConfigurationEntry("modImplementation", JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME, true, true, JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME), + new RemappedConfigurationEntry("modRuntime", JavaPlugin.RUNTIME_ONLY_CONFIGURATION_NAME, false, true, "", "modRuntimeOnly"), + new RemappedConfigurationEntry("modCompileOnly", JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, true, false, ""), + new RemappedConfigurationEntry("modCompileOnlyApi", JavaPlugin.COMPILE_ONLY_API_CONFIGURATION_NAME, true, false, JavaPlugin.API_ELEMENTS_CONFIGURATION_NAME), + new RemappedConfigurationEntry("modRuntimeOnly", JavaPlugin.RUNTIME_ONLY_CONFIGURATION_NAME, false, true, JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME) ); + public static final String SOFTWARE_COMPONENT_NAME = "loom"; + private Constants() { } diff --git a/src/test/resources/projects/accesswidener/build.gradle b/src/test/resources/projects/accesswidener/build.gradle index acebfb6..9fa3cc3 100644 --- a/src/test/resources/projects/accesswidener/build.gradle +++ b/src/test/resources/projects/accesswidener/build.gradle @@ -76,13 +76,7 @@ jar { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } diff --git a/src/test/resources/projects/dependencyResolutionManagement/basic/build.gradle b/src/test/resources/projects/dependencyResolutionManagement/basic/build.gradle index f02447c..c7b6ef6 100644 --- a/src/test/resources/projects/dependencyResolutionManagement/basic/build.gradle +++ b/src/test/resources/projects/dependencyResolutionManagement/basic/build.gradle @@ -72,13 +72,7 @@ jar { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } diff --git a/src/test/resources/projects/dependencyResolutionManagement/projmap/build.gradle b/src/test/resources/projects/dependencyResolutionManagement/projmap/build.gradle index 67733af..6472ec7 100644 --- a/src/test/resources/projects/dependencyResolutionManagement/projmap/build.gradle +++ b/src/test/resources/projects/dependencyResolutionManagement/projmap/build.gradle @@ -76,13 +76,7 @@ loom { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } diff --git a/src/test/resources/projects/localFileDependency/build.gradle b/src/test/resources/projects/localFileDependency/build.gradle index c56a5a8..811d945 100644 --- a/src/test/resources/projects/localFileDependency/build.gradle +++ b/src/test/resources/projects/localFileDependency/build.gradle @@ -80,13 +80,7 @@ jar { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } diff --git a/src/test/resources/projects/mavenLibrary/build.gradle b/src/test/resources/projects/mavenLibrary/build.gradle index e0121c3..ff53dcc 100644 --- a/src/test/resources/projects/mavenLibrary/build.gradle +++ b/src/test/resources/projects/mavenLibrary/build.gradle @@ -30,16 +30,11 @@ java { publishing { publications { mavenJava(MavenPublication) { + from components.java + artifact(remapJar) { - builtBy remapJar - } - artifact(remapJar) { - builtBy remapJar classifier "classifier" } - artifact(sourcesJar) { - builtBy remapSourcesJar - } } } diff --git a/src/test/resources/projects/mixinApAutoRefmap/build.gradle b/src/test/resources/projects/mixinApAutoRefmap/build.gradle index c5199d0..5d40bdf 100644 --- a/src/test/resources/projects/mixinApAutoRefmap/build.gradle +++ b/src/test/resources/projects/mixinApAutoRefmap/build.gradle @@ -118,13 +118,7 @@ assemble { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } diff --git a/src/test/resources/projects/mixinApSimple/build.gradle b/src/test/resources/projects/mixinApSimple/build.gradle index 11fe57e..af36607 100644 --- a/src/test/resources/projects/mixinApSimple/build.gradle +++ b/src/test/resources/projects/mixinApSimple/build.gradle @@ -99,13 +99,7 @@ assemble { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } diff --git a/src/test/resources/projects/mojangMappings/build.gradle b/src/test/resources/projects/mojangMappings/build.gradle index 193627e..895bdb7 100644 --- a/src/test/resources/projects/mojangMappings/build.gradle +++ b/src/test/resources/projects/mojangMappings/build.gradle @@ -72,13 +72,7 @@ jar { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } diff --git a/src/test/resources/projects/signed/build.gradle b/src/test/resources/projects/signed/build.gradle index 5da4823..45a2a27 100644 --- a/src/test/resources/projects/signed/build.gradle +++ b/src/test/resources/projects/signed/build.gradle @@ -29,16 +29,11 @@ java { publishing { publications { mavenJava(MavenPublication) { - artifact(remapJar) { - builtBy remapJar - } + from components.java artifact(remapJar) { builtBy remapJar classifier "classifier" } - artifact(sourcesJar) { - builtBy remapSourcesJar - } } } diff --git a/src/test/resources/projects/simple/build.gradle b/src/test/resources/projects/simple/build.gradle index 771502c..1cd3ca1 100644 --- a/src/test/resources/projects/simple/build.gradle +++ b/src/test/resources/projects/simple/build.gradle @@ -72,13 +72,7 @@ jar { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } }