aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authormodmuss50 <modmuss50@gmail.com>2021-11-12 10:46:23 +0000
committerGitHub <noreply@github.com>2021-11-12 10:46:23 +0000
commit35afda4398c61d2c816e02a827231308e3b58bae (patch)
tree995930d5e1499516b7eb0981187b28ceda4071bb /src/main/java
parent2994c2d4883b4740ed0e86a82c00843b65708baa (diff)
downloadarchitectury-loom-35afda4398c61d2c816e02a827231308e3b58bae.tar.gz
architectury-loom-35afda4398c61d2c816e02a827231308e3b58bae.tar.bz2
architectury-loom-35afda4398c61d2c816e02a827231308e3b58bae.zip
Fix `namedElements` not extending from api (#533)
* Fix `namedElements` not extending from api Fix artifact not waiting for remapAllJars with shared caches * Use apiElements * Add a better test for this. * Also add remapped api mods to namedElements
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java6
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java1
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java10
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.