diff options
Diffstat (limited to 'src/main/java')
3 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java b/src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java index 0a3dca03..4b922cd6 100644 --- a/src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java +++ b/src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java @@ -45,6 +45,7 @@ import org.gradle.api.artifacts.result.ComponentArtifactsResult; import org.gradle.api.artifacts.result.ResolvedArtifactResult; import org.gradle.api.file.FileCollection; import org.gradle.api.logging.Logger; +import org.gradle.api.plugins.JavaPlugin; import org.gradle.jvm.JvmLibrary; import org.gradle.language.base.artifact.SourcesArtifact; import org.jetbrains.annotations.Nullable; @@ -156,6 +157,11 @@ public class ModCompileRemapper { if (entry.replacedWith() != null && !modDependencies.isEmpty()) { extension.getDeprecationHelper().replaceWithInLoom0_11(entry.sourceConfiguration(), entry.replacedWith()); } + + // Export to other projects + if (entry.targetConfiguration().equals(JavaPlugin.API_CONFIGURATION_NAME)) { + project.getConfigurations().getByName(Constants.Configurations.NAMED_ELEMENTS).extendsFrom(remappedConfig); + } }); } } diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index 789983be..e39634af 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -64,6 +64,7 @@ public final class CompileConfiguration { extension.createLazyConfiguration(Constants.Configurations.NAMED_ELEMENTS).configure(configuration -> { configuration.setCanBeConsumed(true); configuration.setCanBeResolved(false); + configuration.extendsFrom(project.getConfigurations().getByName(JavaPlugin.API_CONFIGURATION_NAME)); }); extendsFrom(JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, Constants.Configurations.MAPPING_CONSTANTS, project); diff --git a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java index 03d19e30..1a9ac21c 100644 --- a/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java @@ -73,7 +73,15 @@ public class RemapConfiguration { return; } - PublishArtifact artifact = artifacts.add(JavaPlugin.SOURCES_ELEMENTS_CONFIGURATION_NAME, task.getOutput()); + PublishArtifact artifact = artifacts.add(JavaPlugin.SOURCES_ELEMENTS_CONFIGURATION_NAME, task.getOutput(), configurablePublishArtifact -> { + Task remapJarTask = task; + + if (extension.getShareRemapCaches().get()) { + remapJarTask = project.getRootProject().getTasks().getByName(DEFAULT_REMAP_ALL_JARS_TASK_NAME); + } + + configurablePublishArtifact.builtBy(remapJarTask); + }); // 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. |