A feature contains a set of plug-ins and is available for installation as a separate entitiy in KNIME's update site manager. Let's assume we want to create the "Foo" feature and add it as a Labs project. Let's assume "Foo" lives in the knime-foo git repository. Do the following:
- Create the plug-ins org.knime.foo (contains nodes) and org.knime.foo.testing (contains unit tests).
- Create a new feature project org.knime.features.foo (best done by copying an existing feature and changing it)
- Add all these bundles to knime-foo.
- Clone the org.knime.update.labs git repo and
- add the feature definition to org.knime.update.labs/feature.xml
- (in case org.knime.foo depends on org.knime.bar, which is not referenced in other features, you also need to add org.knime.bar to the 'included plug-ins' in this file)
- add org.knime.foo to org.knime.update.labs/build.properties (for the update site category definition)
- Clone knime-internal-testing and add org.knime.foo.testing to org.knime.features.testing/feature.xml
- Clone knime-jenkins
- add all bundles to the look-up in org.knime.build.config/KNIME-git.rmap
- add all bundles to the look-up in org.knime.build.config/jenkins.rmap