Maven Integration Requirements
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.
- 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.
- 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.