Update deps, move to dev.architectury

Signed-off-by: shedaniel <daniel@shedaniel.me>
This commit is contained in:
shedaniel
2021-05-28 18:50:31 +08:00
parent f8d61a5ae2
commit 6e57469e4e
8 changed files with 33 additions and 102 deletions

View File

@@ -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'
}
}
}

View File

@@ -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

View File

@@ -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<Project> {
class ArchitecturyPlugin : Plugin<Project> {
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)) {

View File

@@ -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()}"

View File

@@ -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<Transformer>()
@Internal
var platform: String? = null

View File

@@ -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

View File

@@ -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

View File

@@ -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()
}
}
}
}
}
}