mirror of
https://github.com/architectury/architectury-plugin.git
synced 2026-03-28 04:07:01 -05:00
Log skipped transformers
This commit is contained in:
@@ -37,13 +37,22 @@ open class TransformingTask : Jar() {
|
||||
Files.deleteIfExists(o)
|
||||
Files.createDirectories(o.parent)
|
||||
runCatching {
|
||||
var skipped = false
|
||||
measureTime {
|
||||
transformer(project, i, o)
|
||||
try {
|
||||
transformer(project, i, o)
|
||||
} catch (ignored: TransformerStepSkipped) {
|
||||
skipped = true
|
||||
}
|
||||
if (index != 0) {
|
||||
Files.deleteIfExists(i)
|
||||
}
|
||||
}.let { duration ->
|
||||
project.logger.lifecycle(":finished transforming step ${index + 1}/${transformers.size} [${transformer::class.simpleName}] in $duration")
|
||||
if (skipped) {
|
||||
project.logger.lifecycle(":skipped transforming step ${index + 1}/${transformers.size} [${transformer::class.simpleName}] in $duration")
|
||||
} else {
|
||||
project.logger.lifecycle(":finished transforming step ${index + 1}/${transformers.size} [${transformer::class.simpleName}] in $duration")
|
||||
}
|
||||
}
|
||||
}.onFailure {
|
||||
throw RuntimeException(
|
||||
@@ -94,4 +103,6 @@ fun Project.projectUniqueIdentifier(): String {
|
||||
return "architectury_inject_${name}_$id".filter { Character.isJavaIdentifierPart(it) }
|
||||
}
|
||||
|
||||
typealias Transformer = (project: Project, input: Path, output: Path) -> Unit
|
||||
typealias Transformer = (project: Project, input: Path, output: Path) -> Unit
|
||||
|
||||
object TransformerStepSkipped : Throwable()
|
||||
@@ -1,6 +1,7 @@
|
||||
package me.shedaniel.architect.plugin.transformers
|
||||
|
||||
import me.shedaniel.architect.plugin.Transformer
|
||||
import me.shedaniel.architect.plugin.TransformerStepSkipped
|
||||
import net.fabricmc.loom.LoomGradleExtension
|
||||
import org.gradle.api.Project
|
||||
import java.nio.file.Files
|
||||
@@ -36,6 +37,8 @@ object AddRefmapName : Transformer {
|
||||
) as Boolean
|
||||
) {
|
||||
project.logger.debug("Transformed mixin reference maps in output JAR!")
|
||||
} else {
|
||||
throw TransformerStepSkipped
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import com.google.gson.GsonBuilder
|
||||
import com.google.gson.JsonObject
|
||||
import com.google.gson.JsonParser
|
||||
import me.shedaniel.architect.plugin.Transformer
|
||||
import me.shedaniel.architect.plugin.TransformerStepSkipped
|
||||
import net.fabricmc.loom.LoomGradleExtension
|
||||
import org.gradle.api.Project
|
||||
import org.zeroturnaround.zip.ZipUtil
|
||||
@@ -83,6 +84,9 @@ object FixForgeMixin : Transformer {
|
||||
}
|
||||
} else {
|
||||
project.logger.info("Failed to locate refmap: $refmap")
|
||||
if (mixinConfigs.isEmpty()) {
|
||||
throw TransformerStepSkipped
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package me.shedaniel.architect.plugin.transformers
|
||||
|
||||
import me.shedaniel.architect.plugin.Transformer
|
||||
import me.shedaniel.architect.plugin.TransformerStepSkipped
|
||||
import me.shedaniel.architect.plugin.utils.validateJarFs
|
||||
import net.fabricmc.loom.LoomGradleExtension
|
||||
import net.fabricmc.loom.util.LoggerFilter
|
||||
@@ -34,7 +35,7 @@ object RemapMixinVariables : Transformer {
|
||||
|
||||
if (!requiresRemap) {
|
||||
Files.copy(input, output)
|
||||
return
|
||||
throw TransformerStepSkipped
|
||||
}
|
||||
|
||||
val remapper = remapperBuilder.build()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package me.shedaniel.architect.plugin.transformers
|
||||
|
||||
import me.shedaniel.architect.plugin.Transformer
|
||||
import me.shedaniel.architect.plugin.TransformerStepSkipped
|
||||
import org.gradle.api.Project
|
||||
import org.zeroturnaround.zip.ZipUtil
|
||||
import java.nio.file.Files
|
||||
@@ -11,6 +12,8 @@ object RemoveFabricModJson : Transformer {
|
||||
Files.copy(input, output)
|
||||
if (ZipUtil.containsEntry(output.toFile(), "fabric.mod.json")) {
|
||||
ZipUtil.removeEntry(output.toFile(), "fabric.mod.json")
|
||||
} else {
|
||||
throw TransformerStepSkipped
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package me.shedaniel.architect.plugin.transformers
|
||||
|
||||
import me.shedaniel.architect.plugin.Transformer
|
||||
import me.shedaniel.architect.plugin.TransformerStepSkipped
|
||||
import me.shedaniel.architect.plugin.utils.validateJarFs
|
||||
import net.fabricmc.loom.LoomGradleExtension
|
||||
import net.fabricmc.loom.util.LoggerFilter
|
||||
@@ -53,6 +54,7 @@ object TransformForgeEnvironment : Transformer {
|
||||
}
|
||||
|
||||
private fun mapMixin(project: Project, remapperBuilder: TinyRemapper.Builder) {
|
||||
var remap = false
|
||||
val loomExtension = project.extensions.getByType(LoomGradleExtension::class.java)
|
||||
val srg = project.extensions.getByType(LoomGradleExtension::class.java).mappingsProvider.mappingsWithSrg
|
||||
for (mixinMapFile in loomExtension.allMixinMappings) {
|
||||
@@ -65,6 +67,7 @@ object TransformForgeEnvironment : Transformer {
|
||||
.firstOrNull { it.getName("intermediary") == dstName }
|
||||
?.getName("srg") ?: dstName
|
||||
)
|
||||
remap = true
|
||||
}
|
||||
|
||||
override fun acceptMethod(method: IMappingProvider.Member, dstName: String) {
|
||||
@@ -74,6 +77,7 @@ object TransformForgeEnvironment : Transformer {
|
||||
.flatMap { it.methods }
|
||||
.firstOrNull { it.getName("intermediary") == dstName }
|
||||
?.getName("srg") ?: dstName)
|
||||
remap = true
|
||||
}
|
||||
|
||||
override fun acceptField(field: IMappingProvider.Member, dstName: String) {
|
||||
@@ -83,6 +87,7 @@ object TransformForgeEnvironment : Transformer {
|
||||
.flatMap { it.fields }
|
||||
.firstOrNull { it.getName("intermediary") == dstName }
|
||||
?.getName("srg") ?: dstName)
|
||||
remap = true
|
||||
}
|
||||
|
||||
override fun acceptMethodArg(method: IMappingProvider.Member, lvIndex: Int, dstName: String) {}
|
||||
@@ -99,5 +104,8 @@ object TransformForgeEnvironment : Transformer {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!remap) {
|
||||
throw TransformerStepSkipped
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package me.shedaniel.architect.plugin.transformers
|
||||
|
||||
import me.shedaniel.architect.plugin.ArchitectPluginExtension
|
||||
import me.shedaniel.architect.plugin.Transformer
|
||||
import me.shedaniel.architect.plugin.TransformerStepSkipped
|
||||
import me.shedaniel.architect.plugin.projectUniqueIdentifier
|
||||
import me.shedaniel.architect.plugin.utils.validateJarFs
|
||||
import net.fabricmc.loom.util.LoggerFilter
|
||||
@@ -23,6 +24,7 @@ object TransformInjectables : Transformer {
|
||||
transformArchitecturyInjectables(project, input, output)
|
||||
} else {
|
||||
Files.copy(input, output)
|
||||
throw TransformerStepSkipped
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user