Skip to content

Allow loading nodes from jar files #57

@dietzc

Description

@dietzc

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.xml in the .jar (if any, if not just load Command and hope that all dependencies are available).
  • Check all dependencies and find out if we have OSGi bundles for them available.
  • Create OSGi Fragment from pom.xml but replace all .jars which are available as OSGi bundles with Eclipse-Dependencies on these Bundles.
  • The resulting Fragment should 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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions