PluginJarCollector

Plugin jars for the compile classpath: whatever the host enumerates (Services.PLATFORM) plus the urls of the loaders behind the plugins. PluginBridge searches those same loaders at runtime, and the two MUST agree — a name the compiler resolves and the snippet loader then misses is a NoClassDefFoundError.

Functions

Link copied to clipboard

Plugin + library + jar-in-jar jars, deduped by absolute path. Empty wherever there are no plugins.

Link copied to clipboard
private fun fromLoaders(): List<File>

Jars only the live loaders name: a jar-in-jar payload extracted to a temp file named at random per boot, and the dependencies such a plugin downloads onto its own loader after startup. Neither is on any path a directory walk could predict.