Good real world projects using BND tools with Maven?

We have a home grown Maven build using custom built Maven plugins to run compilation and tests in the OSGi environment (Equinox). Long time ago someone has done an Eclipse plugin that integrates the OSGi bundles from Maven dependencies into the Eclipse model. However, we have been having issues with this setup recently and we are looking for a replacement.

To that note I am looking for some real world examples of non-toy applications that use BND tools with Maven for the build and Eclipse for the editor, using Equinox for the OSGi runtime. Can you recommend any (GitHub) based projects to study and learn from?

I have seen some examples and tests for the BND Maven plugins but it is not entirely clear to me how to use those in larger project. Also, it is not clear to me if I need the BND tools Eclipse plugin and if so, how to use it with Maven based project.

Sure,

a small and nice example can be found here:

A more complex one which uses most aspects of bnd with maven:

and

It hasn’t received much love from us since we moved to Eclipse but lets not forget about enroute:

Have fun :slight_smile:

1 Like

We also use bnd with Maven, Equinox and Apache Karaf in openHAB which is used for powering smart homes in the real world. There is a lot of openHAB code which is spread across several repos like: core, addons, webui, distro. The Maven setup allows for our contributors to use Eclipse, IntelliJ IDEA or VS Code.

There are some instructions on how to develop openHAB using Eclipse. It will install Eclipse using Oomph which automatically installs the bnd Eclipse plug-in. Developers using our Eclipse setup typically debug their changes using our “Demo App” launch config.

For me the main benefit of using the bnd Eclipse plug-in is that it makes it easier to edit .bndrun files and it simplifies running/debugging JUnit 5 based integration tests.

Recently I also spent some time on a PR for migrating the (relatively small) jUPnP library from Maven/tycho to Maven/bnd. :slight_smile:

Thank you both. Your answers give me exactly what I needed.

1 Like