Skip to content
This repository has been archived by the owner on Dec 9, 2018. It is now read-only.

Maven Integration Requirements

Markus Rathgeb edited this page Feb 7, 2016 · 4 revisions

Bndtools should integrate with Maven. There are a large number of developers that use the maven-bundle-plugin and they would really benefit from IDE support as provided by bndtools. Note that a previous attempt done with the bnd-maven-plugin does not give the right type of integration as maven OSGi developers are using the maven-bundle-plugin and migrating away from that plugin is not a feasible solution.

Ideally bndtools would be enhanced a little bit so that it works in the maven-bundle-plugin context as well. This context *is* substantially different from the traditional bndtools context in that maven is used for building, and not bnd, although the maven-bundle-plugin leverages bnd under the hood as well.

    1. Requirements:
  • Provide the bndtools editor/IDE experience for Maven developers. This should include
    • An editor for the OSGi metadata, where package exports and import, versions and other OSGi manifest headers can be edited.
    • Error markers on the source files and packages as provided by bndtools.
  • Use maven dependencies instead of bnd (cnf-based) dependencies.
    • To ensure fidelity between IDE builds and headless Maven builds.
    1. Thoughts:

A reasonably well featured IDE should be buildable with two additions, and a lot of reuse from M2Eclipse.

  • Integrate with the existing M2E builder - they already run a maven build, hook points are needed to collect bnd error-reporting. This should then be able to be handled by the existing bndtools error markers, and avoid us having parallel code paths for error handling.
  • Add a plugin pane to the M2E pom editor - this can include the pieces we know and love from the "Content" pane of the bnd.bnd editor. If we're lucky then we can reuse this whole piece by providing a BndEditModel that sits on top of a pom file.