From 6e57469e4e3d92428089b581991cd8327bbcbc12 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 28 May 2021 18:50:31 +0800 Subject: [PATCH] Update deps, move to dev.architectury Signed-off-by: shedaniel --- build.gradle | 4 +- gradle.properties | 2 +- .../plugin/ArchitecturyPlugin.kt} | 10 +-- .../plugin/ArchitecturyPluginExtension.kt} | 20 +++--- .../architectury}/plugin/TransformingTask.kt | 14 ++-- .../plugin/transformers/AddRefmapName.kt | 14 ++-- .../plugin/utils/GradleSupport.kt | 2 +- .../architect/plugin/utils/Transform.kt | 69 ------------------- 8 files changed, 33 insertions(+), 102 deletions(-) rename src/main/kotlin/{me/shedaniel/architect/plugin/ArchitectPlugin.kt => dev/architectury/plugin/ArchitecturyPlugin.kt} (90%) rename src/main/kotlin/{me/shedaniel/architect/plugin/ArchitectPluginExtension.kt => dev/architectury/plugin/ArchitecturyPluginExtension.kt} (94%) rename src/main/kotlin/{me/shedaniel/architect => dev/architectury}/plugin/TransformingTask.kt (86%) rename src/main/kotlin/{me/shedaniel/architect => dev/architectury}/plugin/transformers/AddRefmapName.kt (82%) rename src/main/kotlin/{me/shedaniel/architect => dev/architectury}/plugin/utils/GradleSupport.kt (95%) delete mode 100644 src/main/kotlin/me/shedaniel/architect/plugin/utils/Transform.kt diff --git a/build.gradle b/build.gradle index cdb877e..3d08b6d 100644 --- a/build.gradle +++ b/build.gradle @@ -38,7 +38,7 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72" implementation "org.jetbrains.kotlin:kotlin-reflect:1.3.72" implementation "gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext:0.10" - implementation "me.shedaniel:architectury-transformer:$transformer_version" + implementation "dev.architectury:architectury-transformer:$transformer_version" compileOnly "me.shedaniel:forgified-fabric-loom:$loom_version" implementation "net.fabricmc:tiny-remapper:0.3.0.70" implementation "net.fabricmc:tiny-mappings-parser:0.2.2.14" @@ -67,7 +67,7 @@ gradlePlugin { plugins { architect { id = pluginId - implementationClass = 'me.shedaniel.architect.plugin.ArchitectPlugin' + implementationClass = 'dev.architectury.plugin.ArchitecturyPlugin' } } } diff --git a/gradle.properties b/gradle.properties index d42fab3..5da5584 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ kotlin.code.style=official loom_version=0.6.96 -transformer_version=2.4.44 +transformer_version=3.0.45 base_version=3.2 \ No newline at end of file diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPlugin.kt b/src/main/kotlin/dev/architectury/plugin/ArchitecturyPlugin.kt similarity index 90% rename from src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPlugin.kt rename to src/main/kotlin/dev/architectury/plugin/ArchitecturyPlugin.kt index 0fa1870..baa773e 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPlugin.kt +++ b/src/main/kotlin/dev/architectury/plugin/ArchitecturyPlugin.kt @@ -1,7 +1,7 @@ -package me.shedaniel.architect.plugin +package dev.architectury.plugin -import me.shedaniel.architect.plugin.transformers.AddRefmapName -import me.shedaniel.architectury.transformer.transformers.* +import dev.architectury.plugin.transformers.AddRefmapName +import dev.architectury.transformer.transformers.* import net.fabricmc.loom.util.LoggerFilter import org.gradle.api.Plugin import org.gradle.api.Project @@ -10,9 +10,9 @@ import org.gradle.plugins.ide.idea.model.IdeaModel import org.jetbrains.gradle.ext.ActionDelegationConfig import java.net.URI -class ArchitectPlugin : Plugin { +class ArchitecturyPlugin : Plugin { override fun apply(project: Project) { - val version = ArchitectPlugin::class.java.getPackage().implementationVersion + val version = ArchitecturyPlugin::class.java.getPackage().implementationVersion val loggedVersions = System.getProperty("architectury.printed.logged", "").split(",").toMutableSet() if (!loggedVersions.contains(version)) { diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPluginExtension.kt b/src/main/kotlin/dev/architectury/plugin/ArchitecturyPluginExtension.kt similarity index 94% rename from src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPluginExtension.kt rename to src/main/kotlin/dev/architectury/plugin/ArchitecturyPluginExtension.kt index 1fcd9c7..65ea4e3 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/ArchitectPluginExtension.kt +++ b/src/main/kotlin/dev/architectury/plugin/ArchitecturyPluginExtension.kt @@ -1,10 +1,10 @@ @file:Suppress("UnstableApiUsage") -package me.shedaniel.architect.plugin +package dev.architectury.plugin -import me.shedaniel.architectury.transformer.Transformer -import me.shedaniel.architectury.transformer.input.OpenedOutputInterface -import me.shedaniel.architectury.transformer.transformers.* +import dev.architectury.transformer.Transformer +import dev.architectury.transformer.input.OpenedOutputInterface +import dev.architectury.transformer.transformers.* import net.fabricmc.loom.LoomGradleExtension import net.fabricmc.loom.task.RemapJarTask import org.gradle.api.Action @@ -19,8 +19,8 @@ import java.util.jar.JarOutputStream import java.util.jar.Manifest open class ArchitectPluginExtension(val project: Project) { - var transformerVersion = "2.4.44" - var injectablesVersion = "1.0.8" + var transformerVersion = "3.0.45" + var injectablesVersion = "1.0.10" var minecraft = "" var injectInjectables = true var addCommonMarker = true @@ -109,10 +109,10 @@ open class ArchitectPluginExtension(val project: Project) { transformedLoom = true with(project.dependencies) { - add("runtimeOnly", "me.shedaniel:architectury-transformer:$transformerVersion:runtime") - add("architecturyJavaAgents", "me.shedaniel:architectury-transformer:$transformerVersion:agent") + add("runtimeOnly", "dev.architectury:architectury-transformer:$transformerVersion:runtime") + add("architecturyJavaAgents", "dev.architectury:architectury-transformer:$transformerVersion:agent") if (plsAddInjectables && injectInjectables) { - add("architecturyTransformerClasspath", "me.shedaniel:architectury-injectables:$injectablesVersion") + add("architecturyTransformerClasspath", "dev.architectury:architectury-injectables:$injectablesVersion") add("architecturyTransformerClasspath", "net.fabricmc:fabric-loader:+")?.also { it as ModuleDependency it.isTransitive = false @@ -123,7 +123,7 @@ open class ArchitectPluginExtension(val project: Project) { val loom = project.extensions.getByType(LoomGradleExtension::class.java) loom.settingsPostEdit.add(Consumer { config -> val s = config.mainClass - config.mainClass = "me.shedaniel.architectury.transformer.TransformerRuntime" + config.mainClass = "dev.architectury.transformer.TransformerRuntime" mainClassTransformerFile.writeText(s) config.vmArgs += " -Darchitectury.main.class=${mainClassTransformerFile.absolutePath.escapeSpaces()}" config.vmArgs += " -Darchitectury.runtime.transformer=${runtimeTransformerFile.absolutePath.escapeSpaces()}" diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/TransformingTask.kt b/src/main/kotlin/dev/architectury/plugin/TransformingTask.kt similarity index 86% rename from src/main/kotlin/me/shedaniel/architect/plugin/TransformingTask.kt rename to src/main/kotlin/dev/architectury/plugin/TransformingTask.kt index dd1097d..e77882c 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/TransformingTask.kt +++ b/src/main/kotlin/dev/architectury/plugin/TransformingTask.kt @@ -1,10 +1,10 @@ -package me.shedaniel.architect.plugin +package dev.architectury.plugin -import me.shedaniel.architect.plugin.utils.GradleSupport -import me.shedaniel.architectury.transformer.Transform -import me.shedaniel.architectury.transformer.Transformer -import me.shedaniel.architectury.transformer.transformers.BuiltinProperties -import me.shedaniel.architectury.transformer.util.Logger +import dev.architectury.plugin.utils.GradleSupport +import dev.architectury.transformer.Transform +import dev.architectury.transformer.Transformer +import dev.architectury.transformer.transformers.BuiltinProperties +import dev.architectury.transformer.util.Logger import org.gradle.api.Project import org.gradle.api.file.RegularFileProperty import org.gradle.api.tasks.InputFile @@ -23,7 +23,7 @@ open class TransformingTask : Jar() { @Internal val transformers = mutableListOf() - + @Internal var platform: String? = null diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/transformers/AddRefmapName.kt b/src/main/kotlin/dev/architectury/plugin/transformers/AddRefmapName.kt similarity index 82% rename from src/main/kotlin/me/shedaniel/architect/plugin/transformers/AddRefmapName.kt rename to src/main/kotlin/dev/architectury/plugin/transformers/AddRefmapName.kt index a9cef8f..1355cad 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/transformers/AddRefmapName.kt +++ b/src/main/kotlin/dev/architectury/plugin/transformers/AddRefmapName.kt @@ -1,12 +1,12 @@ -package me.shedaniel.architect.plugin.transformers +package dev.architectury.plugin.transformers import com.google.gson.JsonObject -import me.shedaniel.architectury.transformer.Transform -import me.shedaniel.architectury.transformer.input.OutputInterface -import me.shedaniel.architectury.transformer.transformers.BuiltinProperties -import me.shedaniel.architectury.transformer.transformers.base.AssetEditTransformer -import me.shedaniel.architectury.transformer.transformers.base.edit.TransformerContext -import me.shedaniel.architectury.transformer.util.Logger +import dev.architectury.transformer.Transform +import dev.architectury.transformer.input.OutputInterface +import dev.architectury.transformer.transformers.BuiltinProperties +import dev.architectury.transformer.transformers.base.AssetEditTransformer +import dev.architectury.transformer.transformers.base.edit.TransformerContext +import dev.architectury.transformer.util.Logger import net.fabricmc.loom.LoomGradlePlugin import java.io.ByteArrayInputStream diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/utils/GradleSupport.kt b/src/main/kotlin/dev/architectury/plugin/utils/GradleSupport.kt similarity index 95% rename from src/main/kotlin/me/shedaniel/architect/plugin/utils/GradleSupport.kt rename to src/main/kotlin/dev/architectury/plugin/utils/GradleSupport.kt index c2d8482..32a8f91 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/utils/GradleSupport.kt +++ b/src/main/kotlin/dev/architectury/plugin/utils/GradleSupport.kt @@ -1,4 +1,4 @@ -package me.shedaniel.architect.plugin.utils +package dev.architectury.plugin.utils import org.gradle.api.Project import org.gradle.api.file.RegularFileProperty diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/utils/Transform.kt b/src/main/kotlin/me/shedaniel/architect/plugin/utils/Transform.kt deleted file mode 100644 index e6b7e19..0000000 --- a/src/main/kotlin/me/shedaniel/architect/plugin/utils/Transform.kt +++ /dev/null @@ -1,69 +0,0 @@ -package me.shedaniel.architect.plugin.utils - -import org.objectweb.asm.ClassReader -import org.objectweb.asm.ClassWriter -import org.objectweb.asm.Opcodes -import org.objectweb.asm.tree.ClassNode -import java.io.File -import java.io.FileNotFoundException -import java.nio.file.Files -import java.nio.file.Path -import java.util.zip.ZipEntry -import java.util.zip.ZipInputStream -import java.util.zip.ZipOutputStream - -typealias ClassTransformer = (clazz: ClassNode, classAdder: (String, ByteArray) -> Unit) -> ClassNode - -object Transform { - inline fun transform(input: Path, output: Path, transform: ClassTransformer) { - output.toFile().delete() - - if (!Files.exists(input)) { - throw FileNotFoundException(input.toString()) - } - - if (input.toFile().absolutePath.endsWith(".class")) { - var allBytes = Files.newInputStream(input).readBytes() - val reader = ClassReader(allBytes) - if ((reader.access and Opcodes.ACC_MODULE) == 0) { - val node = ClassNode(Opcodes.ASM8) - reader.accept(node, ClassReader.EXPAND_FRAMES) - val writer = ClassWriter(ClassWriter.COMPUTE_MAXS) - transform(node) { name, bytes -> - File(output.toFile().parentFile, "$name.class").also { - it.delete() - it.writeBytes(bytes) - } - }.accept(writer) - allBytes = writer.toByteArray() - } - output.toFile().writeBytes(allBytes) - } else { - ZipOutputStream(output.toFile().outputStream()).use { zipOutputStream -> - ZipInputStream(Files.newInputStream(input)).use { - while (true) { - val entry = it.nextEntry ?: break - var allBytes = it.readBytes() - if (entry.name.toString().endsWith(".class")) { - val reader = ClassReader(allBytes) - if ((reader.access and Opcodes.ACC_MODULE) == 0) { - val node = ClassNode(Opcodes.ASM8) - reader.accept(node, ClassReader.EXPAND_FRAMES) - val writer = ClassWriter(ClassWriter.COMPUTE_MAXS) - transform(node) { name, bytes -> - zipOutputStream.putNextEntry(ZipEntry("$name.class")) - zipOutputStream.write(bytes) - zipOutputStream.closeEntry() - }.accept(writer) - allBytes = writer.toByteArray() - } - } - zipOutputStream.putNextEntry(ZipEntry(entry.name)) - zipOutputStream.write(allBytes) - zipOutputStream.closeEntry() - } - } - } - } - } -} \ No newline at end of file