Update transformers to 5.2.80

This commit is contained in:
shedaniel
2023-11-16 23:42:35 +08:00
parent 2c00900be1
commit d56e09b281
3 changed files with 45 additions and 3 deletions

View File

@@ -5,5 +5,5 @@ loom_version_010Legacy=0.10.0.171
loom_version_010=0.10.0.188 loom_version_010=0.10.0.188
loom_version_011=0.11.0.217 loom_version_011=0.11.0.217
loom_version_11=1.1.313 loom_version_11=1.1.313
transformer_version=5.2.79 transformer_version=5.2.80
base_version=3.4 base_version=3.4

View File

@@ -30,7 +30,7 @@ import java.util.jar.JarOutputStream
import java.util.jar.Manifest import java.util.jar.Manifest
open class ArchitectPluginExtension(val project: Project) { open class ArchitectPluginExtension(val project: Project) {
var transformerVersion = "5.2.79" var transformerVersion = "5.2.80"
var injectablesVersion = "1.0.10" var injectablesVersion = "1.0.10"
var minecraft = "" var minecraft = ""
private var compileOnly = false private var compileOnly = false
@@ -126,6 +126,15 @@ open class ArchitectPluginExtension(val project: Project) {
writer.write(file.toPath(), pair.clazz, pair.properties) writer.write(file.toPath(), pair.clazz, pair.properties)
} }
} }
if (transform.name == "neoforge") {
project.configurations.getByName("developmentForgeLike").forEach { file ->
(transform.transformers.map { it.apply(file.toPath()) } + ModLoader.applyNeoForgeForgeLikeDev(loom, transform))
.forEach { pair ->
writer.write(file.toPath(), pair.clazz, pair.properties)
}
}
}
} }
} }
@@ -150,9 +159,13 @@ open class ArchitectPluginExtension(val project: Project) {
fun transform(name: String, action: Action<Transform>) { fun transform(name: String, action: Action<Transform>) {
transforms.getOrPut(name) { transforms.getOrPut(name) {
Transform(project, "development" + (if (name == "neoforge") "NeoForge" else name.capitalize())).also { transform -> Transform(project, name, "development" + (if (name == "neoforge") "NeoForge" else name.capitalize())).also { transform ->
if (!compileOnly) { if (!compileOnly) {
project.configurations.maybeCreate(transform.devConfigName) project.configurations.maybeCreate(transform.devConfigName)
if (name == "neoforge") {
project.configurations.maybeCreate("developmentForgeLike")
}
} }
action.execute(transform) action.execute(transform)
@@ -437,6 +450,21 @@ open class ArchitectPluginExtension(val project: Project) {
}) })
} as Jar } as Jar
} }
fun forgeLike(action: Action<CommonSettings>) {
common {
clear()
action.execute(this)
}
}
@JvmOverloads
fun forgeLike(platforms: Iterable<String>, action: CommonSettings.() -> Unit = {}) {
forgeLike {
it.add(platforms)
action(it)
}
}
} }
private fun File.createEmptyJar() { private fun File.createEmptyJar() {
@@ -446,11 +474,17 @@ private fun File.createEmptyJar() {
data class Transform( data class Transform(
val project: Project, val project: Project,
val name: String,
val devConfigName: String, val devConfigName: String,
val transformers: MutableList<Function<Path, TransformerPair>> = mutableListOf(), val transformers: MutableList<Function<Path, TransformerPair>> = mutableListOf(),
var envAnnotationProvider: String = "net.fabricmc:fabric-loader:+", var envAnnotationProvider: String = "net.fabricmc:fabric-loader:+",
var platformPackage: String? = null, var platformPackage: String? = null,
val extraForgeLikeToNeoForgeRemaps: MutableMap<String, String> = mutableMapOf(),
) { ) {
fun remapForgeLike(remap: String, to: String) {
extraForgeLikeToNeoForgeRemaps[remap] = to
}
operator fun plusAssign(transformer: TransformerPair) { operator fun plusAssign(transformer: TransformerPair) {
transformers.add(Function { transformer }) transformers.add(Function { transformer })
} }

View File

@@ -2,7 +2,9 @@ package dev.architectury.plugin
import dev.architectury.plugin.loom.LoomInterface import dev.architectury.plugin.loom.LoomInterface
import dev.architectury.plugin.transformers.AddRefmapName import dev.architectury.plugin.transformers.AddRefmapName
import dev.architectury.transformer.shadowed.impl.com.google.gson.Gson
import dev.architectury.transformer.transformers.* import dev.architectury.transformer.transformers.*
import dev.architectury.transformer.util.TransformerPair
open class ModLoader( open class ModLoader(
val id: String, val id: String,
@@ -134,6 +136,12 @@ open class ModLoader(
get() = "NeoForge" get() = "NeoForge"
} }
fun applyNeoForgeForgeLikeDev(loom: LoomInterface, transform: Transform): List<TransformerPair> {
val properties = mutableMapOf<String, Any>()
properties[BuiltinProperties.NEOFORGE_LIKE_REMAPS] = transform.extraForgeLikeToNeoForgeRemaps
return listOf(TransformerPair(TransformForgeLikeToNeoForge::class.java, Gson().toJsonTree(properties).asJsonObject))
}
val QUILT = ModLoader( val QUILT = ModLoader(
id = "quilt", id = "quilt",
transformDevelopment = { transformDevelopment = {