13
0
geforkt von Mirrors/Velocity

Merge pull request #387 from A248/fix-addToClasspath-preconditions

Permit passing PluginContainer to PluginManager#addToClasspath
Dieser Commit ist enthalten in:
Andrew Steinborn 2020-11-07 20:39:25 -05:00 committet von GitHub
Commit 09de77425d
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23

Datei anzeigen

@ -175,9 +175,12 @@ public class VelocityPluginManager implements PluginManager {
public void addToClasspath(Object plugin, Path path) { public void addToClasspath(Object plugin, Path path) {
checkNotNull(plugin, "instance"); checkNotNull(plugin, "instance");
checkNotNull(path, "path"); checkNotNull(path, "path");
checkArgument(pluginInstances.containsKey(plugin), "plugin is not loaded"); Optional<PluginContainer> optContainer = fromInstance(plugin);
checkArgument(optContainer.isPresent(), "plugin is not loaded");
Optional<?> optInstance = optContainer.get().getInstance();
checkArgument(optInstance.isPresent(), "plugin has no instance");
ClassLoader pluginClassloader = plugin.getClass().getClassLoader(); ClassLoader pluginClassloader = optInstance.get().getClass().getClassLoader();
if (pluginClassloader instanceof PluginClassLoader) { if (pluginClassloader instanceof PluginClassLoader) {
((PluginClassLoader) pluginClassloader).addPath(path); ((PluginClassLoader) pluginClassloader).addPath(path);
} else { } else {