Package com.ultikits.ultitools
Class LinkageAudit
java.lang.Object
com.ultikits.ultitools.LinkageAudit
Read-only startup and offline audit of symbolic server/framework references, not a verifier.
Reflection, string lookups, NMS and behaviour behind unchanged signatures are out of scope.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final classUnclassified pre-scan result; runtime ownership is supplied only after normal main loading.(package private) static final classprivate static final class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static booleaneffectiveClasses(JarFile jar) (package private) static LinkageAudit.Auditinspect(File module, ClassLoader api, List<ClassRewriteRule> rules) static voidThe enclosing type is package-private; this launcher is not a published Java API.private static StringpackageName(String className) (package private) static intrun(String[] arguments, PrintStream output) Explicit API paths never inherit the host process's Paper API.(package private) static List<LinkageAudit.Finding> scan(File module, ClassLoader api, List<ClassRewriteRule> rules) private static voidselectClassEntry(JarEntry entry, boolean multiRelease, int runtime, Map<String, JarEntry> selected, Map<String, Integer> versions) (package private) static voidwarn(File module, ClassLoader api, List<ClassRewriteRule> rules, Logger logger)
-
Constructor Details
-
LinkageAudit
private LinkageAudit()
-
-
Method Details
-
scan
static List<LinkageAudit.Finding> scan(File module, ClassLoader api, List<ClassRewriteRule> rules) throws IOException - Throws:
IOException
-
inspect
static LinkageAudit.Audit inspect(File module, ClassLoader api, List<ClassRewriteRule> rules) throws IOException - Throws:
IOException
-
effectiveClasses
- Throws:
IOException
-
selectClassEntry
-
warn
static void warn(File module, ClassLoader api, List<ClassRewriteRule> rules, Logger logger) throws IOException - Throws:
IOException
-
run
Explicit API paths never inherit the host process's Paper API. Additional API jars are repeatable. The --api index must include every runtime dependency whose classes the audited code extends or calls: the server API and its transitive dependencies, plus the audited artifact's own provided/runtime dependencies.- Throws:
IOException
-
main
The enclosing type is package-private; this launcher is not a published Java API.- Throws:
IOException
-
apiOwner
-
packageName
-