KNIME node skeleton with sample code as described here.
This project uses Eclipse Tycho to perform build steps.
Requirements:
- KNIME, https://www.knime.org, version 4.0 or higher
Steps to get the Dummy KNIME node inside KNIME:
- Goto Help > Install new software ... menu
- Press add button
- Fill text fields with url of update site which contains this node.
- Select --all sites-- in
work with
pulldown - Select the node
- Install software
- Restart KNIME
- Create a new KNIME workflow.
- Find node in Node navigator panel.
- Drag node to workflow canvas.
To build the node extension and verify the tests run with the following command:
mvn verify
Make sure all code is commited as the snapshot version is determined by git commit timestamp.
An Eclipse update site will be made in p2/target/repository
directory.
The update site can be used to perform a local installation.
Configuration files to run Continuous Integration builds on Linux (Travis-CI), OS X (Travis-CI) and Windows (AppVeyor) are present.
See ./.travis.yml
file how to trigger a Travis-CI build for every push or pull request.
Also see ./.travis.yml
file how to perform a SonarCloud analysis and code coverage.
See ./appveyor.yml
file how to run on https://www.appveyor.com .
To cite the KNIME node, a DOI can be generated when a GitHub release is made. To enable, the GitHub repository must be connected on https://zenodo.org/account/settings/github/ . The connection must be made before creating a GitHub release.
To cite the software a human and computer readable file called CITATION.cff
is included.
Steps to get development environment setup based on https://github.com/knime/knime-sdk-setup#sdk-setup:
- Install Java 8
- Install Eclipse for RCP and RAP developers
- Configure Java 8 inside Eclipse Window > Preferences > Java > Installed JREs
- Import this repo as an Existing Maven project
- Activate target platform by going to Window > Preferences > Plug-in Development > Target Platform and check the
KNIME Analytics Platform (4.0) - pm4knime.targetplatform/KNIME-AP-4.0.target
target definition. - A KNIME Analytics Platform instance can be started by right clicking on the
targetplatform/KNIME\ Analytics\ Platform.launch
file and selectingRun As → KNIME Analytics Platform
. The KNIME instance will contain the target platform together with all extensions defined in the workspace.
During import the Tycho Eclipse providers must be installed.
Tests for the node are in tests/src
directory.
Tests can be executed with mvn verify
, they will be run in a separate KNIME environment.
Test results will be written to test/target/surefire-reports
directory.
Code coverage reports (html+xml) can be found in the tests/target/jacoco/report/
directory.
The tests can be run against a different KNIME version using mvn verify -Dtarget.file=KNIME-AP-4.1
where 4.1
is the major.minor version of KNIME and KNIME-AP-4.1
is a target platform definition file called targetplatform/KNIME-AP-4.1.target
.
Unit tests written in Junit4 format can be put in tests/src/java
.
See https://github.com/3D-e-Chem/knime-testflow#3-add-test-workflow
Running mvn commands can take a long time as Tycho fetches indices of all p2 update sites.
This can be skipped by running maven offline using mvn -o
.
- Update versions in pom files with
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version>-SNAPSHOT
command. - Create package with
mvn package
, will create update site inp2/target/repository
- Run tests with
mvn verify
- Optionally, test node by installing it in KNIME from a local update site
- Append new release to an update site
- Make clone of an update site repo
- Append release to the update site with
mvn install -Dtarget.update.site=<path to update site>
- Commit and push changes in this repo and update site repo.
- Create a Github release
- Update Zenodo entry
- Correct authors
- Correct license
The https://github.com/3D-e-Chem/tycho-knime-node-archetype was used as as archetype for this repository.