diff options
author | shedaniel <daniel@shedaniel.me> | 2021-10-30 18:54:16 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-10-30 18:54:16 +0800 |
commit | a48989057d62dc573eb919d6cbbd1cabc471f5f1 (patch) | |
tree | e59ae94931690ebf6ae2bf9a4e22f8b7560dea0c /src/main/java | |
parent | e5478c1a769ba43befc1985913f4a524dc00165b (diff) | |
parent | 587db4abae792ef4467c889cabc9a699723e6785 (diff) | |
download | architectury-loom-a48989057d62dc573eb919d6cbbd1cabc471f5f1.tar.gz architectury-loom-a48989057d62dc573eb919d6cbbd1cabc471f5f1.tar.bz2 architectury-loom-a48989057d62dc573eb919d6cbbd1cabc471f5f1.zip |
Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0
Diffstat (limited to 'src/main/java')
3 files changed, 19 insertions, 2 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index 42cccfe3..548e946d 100644 --- a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java @@ -103,6 +103,10 @@ public final class CompileConfiguration { } 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); @@ -110,6 +114,8 @@ public final class CompileConfiguration { extension.createLazyConfiguration(Constants.Configurations.MAPPINGS_FINAL); extension.createLazyConfiguration(Constants.Configurations.LOOM_DEVELOPMENT_DEPENDENCIES); extension.createLazyConfiguration(Constants.Configurations.UNPICK_CLASSPATH); + extension.createLazyConfiguration(Constants.Configurations.LOCAL_RUNTIME); + extendsFrom(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME, Constants.Configurations.LOCAL_RUNTIME, project); for (RemappedConfigurationEntry entry : Constants.MOD_COMPILE_ENTRIES) { extension.createLazyConfiguration(entry.sourceConfiguration()) @@ -210,6 +216,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/task/GenerateSourcesTask.java b/src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java index e124751c..2dbbdec6 100644 --- a/src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java +++ b/src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java @@ -209,7 +209,7 @@ public abstract class GenerateSourcesTask extends AbstractLoomTask { try (IPCClient ipcClient = new IPCClient(ipcPath)) { doDecompile(new ThreadedSimpleProgressLogger(ipcClient)); } catch (Exception e) { - throw new RuntimeException("Failed to setup IPC Client", e); + throw new RuntimeException("Failed to decompile", e); } } diff --git a/src/main/java/net/fabricmc/loom/util/Constants.java b/src/main/java/net/fabricmc/loom/util/Constants.java index 614bcb4a..68034bd1 100644 --- a/src/main/java/net/fabricmc/loom/util/Constants.java +++ b/src/main/java/net/fabricmc/loom/util/Constants.java @@ -50,7 +50,8 @@ public class Constants { 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) + new RemappedConfigurationEntry("modRuntimeOnly", JavaPlugin.RUNTIME_ONLY_CONFIGURATION_NAME, false, true, JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME), + new RemappedConfigurationEntry("modLocalRuntime", Configurations.LOCAL_RUNTIME, false, true, "") ); private Constants() { @@ -82,6 +83,13 @@ public class Constants { public static final String FORGE_EXTRA = "forgeExtra"; public static final String MAPPING_CONSTANTS = "mappingsConstants"; public static final String UNPICK_CLASSPATH = "unpick"; + /** + * A configuration that behaves like {@code runtimeOnly} but is not + * exposed in {@code runtimeElements} to dependents. A bit like + * {@code testRuntimeOnly}, but for mods. + */ + public static final String LOCAL_RUNTIME = "localRuntime"; + public static final String NAMED_ELEMENTS = "namedElements"; private Configurations() { } |