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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions