forked from MirrorHub/authlib-injector
simplify the ignored packages list
This commit is contained in:
parent
45ca1e0f84
commit
dc35c04474
|
@ -261,7 +261,7 @@ public final class AuthlibInjector {
|
||||||
URLProcessor urlProcessor = new URLProcessor(createFilters(config), new DefaultURLRedirector(config));
|
URLProcessor urlProcessor = new URLProcessor(createFilters(config), new DefaultURLRedirector(config));
|
||||||
|
|
||||||
ClassTransformer transformer = new ClassTransformer();
|
ClassTransformer transformer = new ClassTransformer();
|
||||||
transformer.ignores.addAll(Config.ignoredPackages);
|
transformer.setIgnores(Config.ignoredPackages);
|
||||||
|
|
||||||
if (Config.dumpClass) {
|
if (Config.dumpClass) {
|
||||||
transformer.listeners.add(new DumpClassListener(Paths.get("").toAbsolutePath()));
|
transformer.listeners.add(new DumpClassListener(Paths.get("").toAbsolutePath()));
|
||||||
|
|
|
@ -107,39 +107,6 @@ public final class Config {
|
||||||
"com.sun.",
|
"com.sun.",
|
||||||
"sun.",
|
"sun.",
|
||||||
"net.java.",
|
"net.java.",
|
||||||
|
|
||||||
"com.google.",
|
|
||||||
"com.ibm.",
|
|
||||||
"com.jcraft.jogg.",
|
|
||||||
"com.jcraft.jorbis.",
|
|
||||||
"com.oracle.",
|
|
||||||
"com.paulscode.",
|
|
||||||
|
|
||||||
"org.GNOME.",
|
|
||||||
"org.apache.",
|
|
||||||
"org.graalvm.",
|
|
||||||
"org.jcp.",
|
|
||||||
"org.json.",
|
|
||||||
"org.lwjgl.",
|
|
||||||
"com.mojang.blaze3d.",
|
|
||||||
"com.mojang.brigadier.",
|
|
||||||
"com.mojang.datafixers.",
|
|
||||||
"com.mojang.serialization.",
|
|
||||||
"org.objectweb.asm.",
|
|
||||||
"org.slf4j.",
|
|
||||||
"org.w3c.",
|
|
||||||
"org.xml.",
|
|
||||||
"org.yaml.snakeyaml.",
|
|
||||||
|
|
||||||
"gnu.trove.",
|
|
||||||
"io.netty.",
|
|
||||||
"it.unimi.dsi.fastutil.",
|
|
||||||
"javassist.",
|
|
||||||
"jline.",
|
|
||||||
"joptsimple.",
|
|
||||||
"oracle.",
|
|
||||||
"oshi.",
|
|
||||||
"paulscode.",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private static void initIgnoredPackages() {
|
private static void initIgnoredPackages() {
|
||||||
|
|
|
@ -27,11 +27,10 @@ import java.lang.instrument.ClassFileTransformer;
|
||||||
import java.lang.instrument.IllegalClassFormatException;
|
import java.lang.instrument.IllegalClassFormatException;
|
||||||
import java.security.ProtectionDomain;
|
import java.security.ProtectionDomain;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
import org.objectweb.asm.ClassReader;
|
import org.objectweb.asm.ClassReader;
|
||||||
import org.objectweb.asm.ClassVisitor;
|
import org.objectweb.asm.ClassVisitor;
|
||||||
|
@ -43,8 +42,8 @@ public class ClassTransformer implements ClassFileTransformer {
|
||||||
|
|
||||||
public final List<TransformUnit> units = new CopyOnWriteArrayList<>();
|
public final List<TransformUnit> units = new CopyOnWriteArrayList<>();
|
||||||
public final List<ClassLoadingListener> listeners = new CopyOnWriteArrayList<>();
|
public final List<ClassLoadingListener> listeners = new CopyOnWriteArrayList<>();
|
||||||
public final Set<String> ignores = Collections.newSetFromMap(new ConcurrentHashMap<>());
|
|
||||||
public final PerformanceMetrics performanceMetrics = new PerformanceMetrics();
|
public final PerformanceMetrics performanceMetrics = new PerformanceMetrics();
|
||||||
|
private String[] ignores = new String[0];
|
||||||
|
|
||||||
private class TransformHandle {
|
private class TransformHandle {
|
||||||
|
|
||||||
|
@ -224,8 +223,8 @@ public class ClassTransformer implements ClassFileTransformer {
|
||||||
long t0 = System.nanoTime();
|
long t0 = System.nanoTime();
|
||||||
|
|
||||||
String className = internalClassName.replace('/', '.');
|
String className = internalClassName.replace('/', '.');
|
||||||
for (String prefix : ignores) {
|
for (String ignore : ignores) {
|
||||||
if (className.startsWith(prefix)) {
|
if (className.startsWith(ignore)) {
|
||||||
listeners.forEach(it -> it.onClassLoading(loader, className, classfileBuffer, Collections.emptyList()));
|
listeners.forEach(it -> it.onClassLoading(loader, className, classfileBuffer, Collections.emptyList()));
|
||||||
|
|
||||||
long t1 = System.nanoTime();
|
long t1 = System.nanoTime();
|
||||||
|
@ -281,4 +280,8 @@ public class ClassTransformer implements ClassFileTransformer {
|
||||||
}
|
}
|
||||||
return constants;
|
return constants;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setIgnores(Collection<String> newIgnores) {
|
||||||
|
ignores = newIgnores.toArray(ignores);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue