Building KNIME and Update Sites

With KNIME 2.3 we switched to Buckminster for building KNIME and the Update Sites. Therefore we recommend you to also use Buckminster. In fact it simplifies quite a lot of things compared to traditional PDE-based builds.

To start you need to install a recent version of Buckminter into your Eclipse. Use this Update Site: http://download.eclipse.org/tools/buckminster/updates-3.6 Then install the "KNIME Build System" feature into Eclipse by using this archived Update Site.

Building KNIME

In order to build a KNIME product you need to checkout the org.knime.update.org feature and all its dependencies. This is most conveniently done via a Buckminster CQUERY:

  • Go to Window -> Preferences -> Team -> SVN
    • just open the dialog page - this makes sure that the password prompt opens in the next step
  • Go to File -> Open Component Query and enter http://www.knime.org/KNIME.cquery
  • Specify a component name (usually the name of a feature or update site, e.g. org.knime.features.base) and optionally a version
    • you can specify much more options, see the section about Component Queries in the BuckyBook for details
  • Resolve to wizard (you need to enter your SVN credentials)
  • Hit Next, then hit Finish
    • Source projects end up in your workspace, binary plugins and feature inside the Buckminster Target Platform (also in your workspace, but hidden in .buckminster/tp)
  • If your get error messages in the console about Resource '.buckminster/tp' is not local restart Eclipse once with -refresh as command line argument

In order to build a product you first need to build the Update Site, which is org.knime.update.org:

  • Copy buckminster.properties from the org.knime.build-plugin and make necessary adjustments, e.g. change buckminster.output.root and buckminster.temp.root.
  • Right-click on the Update Site feature and select Buckminster -> Invoke Action
  • Select the copied file as properties file in the dialog.
  • Select the create.product-action. Which product will be built is defined in the properties file as product.target.*.
  • After executing the action you will find the built product (and the Update Site) in ${buckminster.output.root}/org.knime.update* (the Update site is site.p2 and not just site) .

Building an Update Site

An Update Site is just a feature with all features listed in "Included features". See the Buckminster documentation for details. The Update Site is built by executing the knime.site.p2 (or site.p2 if the former does not exist) action on the feature and can be found in ${buckminster.output.root}/[feature name]/site.p2.

Eclipse Help Files

If your plugin contains nodes and you want to include the node descriptions in the Eclipse help system (and not just in the Node description view in KNIME) then you need to add this buckminster.cspex into the root of your plugin. This ensures that the necessary files are generated on-the-fly during the build.

LinkedInTwitterShare