diff options
author | shedaniel <daniel@shedaniel.me> | 2021-09-11 04:24:40 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-09-11 04:24:40 +0800 |
commit | d06081d560f3f75e7a9e558828a2ff72cdcde6d2 (patch) | |
tree | 7b7fd1756b179b0aba091713ee6154646e2d8e68 /src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java | |
parent | 3bc5ab25c0e1bcd9a7476ca9f988c8c2b86c253b (diff) | |
parent | 2c464cdef372e92ea719eec618ae713d54cede89 (diff) | |
download | architectury-loom-d06081d560f3f75e7a9e558828a2ff72cdcde6d2.tar.gz architectury-loom-d06081d560f3f75e7a9e558828a2ff72cdcde6d2.tar.bz2 architectury-loom-d06081d560f3f75e7a9e558828a2ff72cdcde6d2.zip |
Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/future
# Conflicts:
# build.gradle
# src/main/java/net/fabricmc/loom/LoomGradleExtension.java
# src/main/java/net/fabricmc/loom/LoomRepositoryPlugin.java
# src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
# src/main/java/net/fabricmc/loom/build/MixinRefmapHelper.java
# src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
# src/main/java/net/fabricmc/loom/configuration/MavenPublication.java
# src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
# src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java
# src/main/java/net/fabricmc/loom/extension/MixinExtensionImpl.java
# src/main/java/net/fabricmc/loom/task/RemapJarTask.java
# src/main/java/net/fabricmc/loom/util/Constants.java
# src/main/java/net/fabricmc/loom/util/SourceRemapper.java
# src/test/groovy/net/fabricmc/loom/test/util/ProjectTestTrait.groovy
Diffstat (limited to 'src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java')
-rw-r--r-- | src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java | 63 |
1 files changed, 38 insertions, 25 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java index d23072f6..b0aaa53b 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; @@ -48,6 +46,7 @@ import net.fabricmc.loom.configuration.providers.forge.McpConfigProvider; import net.fabricmc.loom.configuration.providers.forge.PatchProvider; import net.fabricmc.loom.configuration.providers.forge.SrgProvider; import net.fabricmc.loom.configuration.providers.mappings.MappingsProviderImpl; +import net.fabricmc.loom.extension.MixinExtension; import net.fabricmc.loom.task.GenVsCodeProjectTask; import net.fabricmc.loom.util.Constants; @@ -56,7 +55,6 @@ public final class CompileConfiguration { } public static void setupConfigurations(Project project) { - final ConfigurationContainer configurations = project.getConfigurations(); LoomGradleExtension extension = LoomGradleExtension.get(project); project.afterEvaluate(project1 -> { @@ -121,11 +119,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); } } @@ -137,7 +142,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); @@ -195,25 +200,10 @@ public final class CompileConfiguration { extension.getUnmappedModCollection().from(jarTask); } - // Disable some things used by log4j via the mixin AP that prevent it from being garbage collected - System.setProperty("log4j2.disable.jmx", "true"); - System.setProperty("log4j.shutdownHookEnabled", "false"); - System.setProperty("log4j.skipJansi", "true"); - - project.getLogger().info("Configuring compiler arguments for Java"); - MixinApExtension mixinApExtension = LoomGradleExtension.get(project).getMixin(); - mixinApExtension.init(); - - new JavaApInvoker(project).configureMixin(); - - if (project.getPluginManager().hasPlugin("scala")) { - project.getLogger().info("Configuring compiler arguments for Scala"); - new ScalaApInvoker(project).configureMixin(); - } + MixinExtension mixin = LoomGradleExtension.get(project).getMixin(); - if (project.getPluginManager().hasPlugin("org.jetbrains.kotlin.kapt")) { - project.getLogger().info("Configuring compiler arguments for Kapt plugin"); - new KaptApInvoker(project).configureMixin(); + if (mixin.getUseLegacyMixinAp().get()) { + setupMixinAp(project, mixin); } }); @@ -223,6 +213,29 @@ public final class CompileConfiguration { } } + private static void setupMixinAp(Project project, MixinExtension mixin) { + mixin.init(); + + // Disable some things used by log4j via the mixin AP that prevent it from being garbage collected + System.setProperty("log4j2.disable.jmx", "true"); + System.setProperty("log4j.shutdownHookEnabled", "false"); + System.setProperty("log4j.skipJansi", "true"); + + project.getLogger().info("Configuring compiler arguments for Java"); + + new JavaApInvoker(project).configureMixin(); + + if (project.getPluginManager().hasPlugin("scala")) { + project.getLogger().info("Configuring compiler arguments for Scala"); + new ScalaApInvoker(project).configureMixin(); + } + + if (project.getPluginManager().hasPlugin("org.jetbrains.kotlin.kapt")) { + project.getLogger().info("Configuring compiler arguments for Kapt plugin"); + new KaptApInvoker(project).configureMixin(); + } + } + private static void extendsFrom(String a, String b, Project project) { project.getConfigurations().getByName(a, configuration -> configuration.extendsFrom(project.getConfigurations().getByName(b))); } |