-
Notifications
You must be signed in to change notification settings - Fork 2
Description
We want to be able to specify folders in the KNIME settings which can be used to discover Commands on KNIME startup (or just a single, pre-defined folder in the plugins folder of KNIME, e.g. commands-dropin).
We could simply add these folders to the KNIME URLClassLoader in a special implementation of the ResourceAwareClassLoader. However, we have to make sure that all dependencies are resolved gracefully. Therefore, I suggest the following:
- Check the
pom.xmlin the.jar(if any, if not just loadCommandand hope that all dependencies are available). - Check all dependencies and find out if we have
OSGibundles for them available. - Create OSGi
Fragmentfrompom.xmlbut replace all.jars which are available as OSGi bundles withEclipse-Dependencieson theseBundles. - The resulting
Fragmentshould only contain project specific.jars.
The very same mechanism can then later be used to create KNIME update-sites from ImageJ2 update-sites. Parts of the code is available in the current ImageJ2 integration (see https://github.com/knime-ip/knip-imagej2/blob/master/org.knime.knip.imagej2.core/src/org/knime/knip/imagej2/core/FragmentWrapperUtil.java).