Setting up a KNIME development environment (including KNIME-IP (Image Processing) and ClearVolume plugin)

This is mostly a not to self… please do not expect a human-readable post… ūüėČ

To prevent the decay of knowledge my brain is suffering I note here how things should run:

  • Follow instructions from README here:¬†https://github.com/knime/knime-sdk-setup
    • Once you double click KNIME.target, add the following update sites and select KNIME Image Processing in both of them
      • http://update.knime.org/community-contributions/trusted/3.4
      • http://update.knime.org/community-contributions/3.4
    • Wait until workspace is built (see bottom right in Eclipse), then click ‘Set as Target Platform’ on the top right.
    • In Arguments tab, set a more reasonable value for Xmx (default is 2G).
  • We then cloned and imported¬†https://github.com/knime-ip/knip into Eclipse.
    • Here the clone URL: git@github.com:knime-ip/knip.git
    • Then import all projects within this repo into Eclipse.

Here some notes on how to implement on Clear Volume from this setup:

  • Import imglib-clearvolume into eclipse. This is easy, its a Maven plugin.
  • You need to also install clearvolume, cleargl, and clearcuda. This is harder since those are Gradle projects…
    • One option is to first install the Eclipse Gradle plugin, if you installed Eclipse 3.4, it would be on this update site:¬†http://download.eclipse.org/buildship/updates/e46/releases/2.x
    • Then you can import Existing Gradle Projects (the ones named above).
    • Since this Gradle Eclipse plugin sucked for me I used this:¬†http://www.thejavageek.com/2015/05/22/create-eclipse-project-with-gradle/
      • Loic supported it already I guess since gradle eclipse just did the right thing.
      • After it you can import project as existing Eclipse project.
  • Gradle magic to remember
    • Use the gradlew¬†script instead of cradle itself. This is how it works is what I’ve been told…
    • ./gradlew clean build -Preleasebuild¬†… building ClearVolume release version
    • ./gradlew collectDependencies¬†… does what you would expect. Can then be found in ./build/dependecies
  • Maven magic to remember
    • `mvn dependency:copy-dependencies` allows you to collect all dependencies of a given maven project.
      • note: this needs you to add the `maven-dependency-plugin` to the pom.xml (google it).

Leave a Reply

Your email address will not be published. Required fields are marked *