1.5 test minimize

This commit is contained in:
sky 2021-06-30 01:52:52 +08:00
parent 4e8d42f4b9
commit becb3f3578
3 changed files with 12 additions and 3 deletions

View File

@ -46,7 +46,7 @@ class RelocateJar extends DefaultTask {
project.logger.info(outJar.getAbsolutePath())
int n
def buf = new byte[32768]
new JarFile(inJar).withCloseable {jarFile ->
new JarFile(inJar).withCloseable { jarFile ->
for (def jarEntry : jarFile.entries()) {
jarFile.getInputStream(jarEntry).withCloseable {
if (jarEntry.name.endsWith(".class")) {
@ -54,7 +54,9 @@ class RelocateJar extends DefaultTask {
def reader = new ClassReader(it)
def writer = new ClassWriter(0)
def visitor = new TabooLibClassVisitor(writer, project)
reader.accept(new ClassRemapper(visitor, remapper), 0)
def rem = new ClassRemapper(visitor, remapper)
remapper.remapper = rem
reader.accept(rem, 0)
isolated.putAll(visitor.isolated)
out.putNextEntry(new JarEntry(remapper.map(jarEntry.name)))
out.write(writer.toByteArray())

View File

@ -1,6 +1,7 @@
package io.izzel.taboolib.gradle
import groovy.transform.Canonical
import org.objectweb.asm.commons.ClassRemapper
import org.objectweb.asm.commons.Remapper
@Canonical
@ -8,6 +9,8 @@ class RelocateRemapper extends Remapper {
Map<String, String> dot
Map<String, String> slash
Map<String, Set<String>> use = new TreeMap()
ClassRemapper remapper
@Override
Object mapValue(Object value) {
@ -20,8 +23,12 @@ class RelocateRemapper extends Remapper {
return super.mapValue(value)
}
@SuppressWarnings('GroovyAccessibility')
@Override
String map(String internalName) {
if (remapper != null) {
use.computeIfAbsent(remapper.className) { new HashSet() }.add(internalName)
}
def match = slash.find { internalName.startsWith(it.key) }
if (match) {
return match.value + internalName.substring(match.key.length())

View File

@ -9,7 +9,7 @@ class TabooLibExtension {
String classifier = "all"
List<String> modules = new ArrayList<>();
List<String> modules = []
Map<String, String> relocation = new LinkedHashMap<>()