From 492580683c29c43e41466206b5fb6f063a634bfb Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 18 Apr 2021 23:07:08 +0800 Subject: [PATCH] Pass "architectury.platform.name" --- .../architect/plugin/ArchitectPlugin.kt | 2 ++ .../plugin/ArchitectPluginExtension.kt | 17 +++++++++-------- .../architect/plugin/TransformingTask.kt | 5 ++++- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPlugin.kt b/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPlugin.kt index 5867673..2768c08 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPlugin.kt +++ b/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPlugin.kt @@ -49,6 +49,7 @@ class ArchitectPlugin : Plugin { project.tasks.register("transformProductionFabric", TransformingTask::class.java) { it.group = "Architectury" + it.platform = "fabric" it += RemapMixinVariables() it += TransformExpectPlatform() it += RemapInjectables() @@ -57,6 +58,7 @@ class ArchitectPlugin : Plugin { project.tasks.register("transformProductionForge", TransformingTask::class.java) { it.group = "Architectury" + it.platform = "forge" it += TransformExpectPlatform() it += RemapInjectables() it += AddRefmapName() diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPluginExtension.kt b/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPluginExtension.kt index a764f41..3e46cf9 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPluginExtension.kt +++ b/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPluginExtension.kt @@ -59,19 +59,19 @@ open class ArchitectPluginExtension(val project: Project) { .also { runtimeTransformerFile.writeText(it) } - } - val properties = Properties() - properties().forEach { (key, value) -> - properties.setProperty(key, value) - } - propertiesTransformerFile.writer().use { - properties.store(it, "Architectury Runtime Transformer Properties") + val properties = Properties() + properties(transforms.keys.first()).forEach { (key, value) -> + properties.setProperty(key, value) + } + propertiesTransformerFile.writer().use { + properties.store(it, "Architectury Runtime Transformer Properties") + } } } } - fun properties(): Map { + fun properties(platform: String): Map { val loom = project.extensions.findByType(LoomGradleExtension::class.java) ?: return mapOf() return mutableMapOf( BuiltinProperties.MIXIN_MAPPINGS to loom.allMixinMappings.joinToString(File.pathSeparator), @@ -79,6 +79,7 @@ open class ArchitectPluginExtension(val project: Project) { BuiltinProperties.UNIQUE_IDENTIFIER to project.projectUniqueIdentifier(), BuiltinProperties.COMPILE_CLASSPATH to getCompileClasspath().joinToString(File.pathSeparator), BuiltinProperties.MAPPINGS_WITH_SRG to loom.mappingsProvider.tinyMappingsWithSrg.toString(), + "architectury.platform.name" to platform, BuiltinProperties.REFMAP_NAME to loom.refmapName, BuiltinProperties.MCMETA_VERSION to "4" ) diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/TransformingTask.kt b/src/main/kotlin/me/shedaniel/architect/plugin/TransformingTask.kt index e3ca5ec..572d813 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/TransformingTask.kt +++ b/src/main/kotlin/me/shedaniel/architect/plugin/TransformingTask.kt @@ -23,6 +23,9 @@ open class TransformingTask : Jar() { @Internal val transformers = mutableListOf() + + @Internal + var platform: String? = null @ExperimentalTime @TaskAction @@ -30,7 +33,7 @@ open class TransformingTask : Jar() { val input: Path = this.input.asFile.get().toPath() val output: Path = this.archiveFile.get().asFile.toPath() - project.extensions.getByType(ArchitectPluginExtension::class.java).properties().forEach { (key, value) -> + project.extensions.getByType(ArchitectPluginExtension::class.java).properties(platform ?: throw NullPointerException("No Platform specified")).forEach { (key, value) -> System.setProperty(key, value) } System.setProperty(BuiltinProperties.LOCATION, project.file(".gradle").absolutePath)