PluginLoader extends LoaderBase { public PluginInfo loadPluginInfoFrom(File pluginFile, Collection<JarClassLoader> dependencyClassLoaders) throws IOException { ReflectionsAndClassLoader tuple = makeJarFileScanner(pluginFile, dependencyClassLoaders); Class<?> pluginClass = readPluginConfigurationClasses(pluginFile, tuple.reflections); return readPluginInfoFrom(pluginClass); } PluginLoader(SoapUIFactoryRegistry factoryRegistry,
                        SoapUIActionRegistry actionRegistry, ListenerRegistry listenerRegistry); void unloadPlugin(Plugin plugin); PluginInfo loadPluginInfoFrom(File pluginFile, Collection<JarClassLoader> dependencyClassLoaders); static Logger log; }
@Test public void loadsPluginInfoFromFile() throws IOException { File pluginFile = new File(PluginLoaderTest.class.getResource("plugin-example-1.0.jar").getPath()); PluginInfo pluginInfo = pluginLoader.loadPluginInfoFrom(pluginFile, java.util.Collections.<JarClassLoader>emptySet()); assertThat(pluginInfo.getId().getName(), is("Example plugin")); assertThat(pluginInfo.getId().getGroupId(), is("com.smartbear.soapui")); assertThat(pluginInfo.getVersion(), is(Version.fromString("0.1"))); }