knime-ip / knip-externals

Wraps SciJava projects into OSGi Bundles for use with KNIME Image Processing
BSD 2-Clause "Simplified" License
2 stars 2 forks source link

knip-scijava-bundles

Wraps artifacts distributed via maven into OSGi Bundles for use with KNIME Image Processing.

How to build

Requirements:

To be able to build this project, the following projects must be installed via maven beforehand:

Checkout these projects and run mvn clean install in each of their root directories.

Building

Build the update site by running the rebuild.sh script.

How to install into your eclipse

After successfully building, the update site is available in two forms:

How to add a new bundles

  1. Create or locate the appropriate bundle group file in the auogen/bundlegroups folder. There is one bundlegroup per maven group. The example artifact com.examplegroup.exampleartifact thus would be placed into the bundle group com.examplegroup.xml. A bundlegroup file has the following structure:
  <bundlegroup name="org.examplegroup">
      <!-- bundles -->
  </bundlegroup>

Don't forget to add new bundlegroups to the updatesite.xml file in the autogen folder.

  <include>bundlegroups/com.examplegroup.xml</include>
  1. Add a bundle to a bundlegroup following this template:
    <bundle name="example-bundle-name" version="${example-bundle-name.version}">
       <artifacts>
       <!-- List all artifacts that belong to this bundle. -->
           <artifact>
               <group>com.examplegroup</group>
               <id>exampleartifact</id>
               <version>${example-bundle-name.version}</version>
           </artifact>
       </artifacts>
       <dependencies>
           <!-- You can define dependencies to other bundles created by this project -->
           <bundleref name="org.examplegroup:exampledependency" version="${exampledependency.version}" />
           <!-- You can also define a depency as external if it is sattisfied  by a KNIME update site  -->
           <bundleref name="com.examplegroup:externaldependency" version="${externaldependency.version}" isExternal="true" />
       </dependencies>
       <!-- List all the packages you need to export: you can use the wildcard: "*" to export a packaga and all subpackages, different roots are seperated by ","  -->
       <export>com.examplegroup.exampleartifact.*, com.examplegroup.otherartifact.*</export> 
    </bundle>

Optional parameters for bundles