Pass "architectury.platform.name"

This commit is contained in:
shedaniel
2021-04-18 23:07:08 +08:00
parent 178feb836a
commit 492580683c
3 changed files with 15 additions and 9 deletions

View File

@@ -49,6 +49,7 @@ class ArchitectPlugin : Plugin<Project> {
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> {
project.tasks.register("transformProductionForge", TransformingTask::class.java) {
it.group = "Architectury"
it.platform = "forge"
it += TransformExpectPlatform()
it += RemapInjectables()
it += AddRefmapName()

View File

@@ -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<String, String> {
fun properties(platform: String): Map<String, String> {
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"
)

View File

@@ -23,6 +23,9 @@ open class TransformingTask : Jar() {
@Internal
val transformers = mutableListOf<Transformer>()
@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)