calrissian / mango

Common utilities for rapid application development
Apache License 2.0
17 stars 7 forks source link

OSGi Support #163

Closed skahmann closed 9 years ago

skahmann commented 9 years ago

Would you be open to enabling OSGi support for the project? It's pretty easy to do with the maven-bundle-plugin. I can create a pull-request if required.

Thanks!

eawagner commented 9 years ago

Yes, I would definitely be open do it.

It has been a while since I used the bundle-plugin, but we might need to be careful with the version policy for guava packages. While we build against 15.0, I think we want to allow imports for other major versions. Or alternatively, leave the versions off the guava import packages.

skahmann commented 9 years ago

I wouldn't leave the versions off as that can cause problems down the road, but you can easily provide versions or version ranges that are supported. I'm not very familiar with the project, but I can get a PR together if you'd like. Thank you!

skahmann commented 9 years ago

I created https://github.com/calrissian/mango/pull/164 to create OSGi bundle information. If you have specific version considerations for guava, you can add something like:

<Import-Package>com.google.common*;version="[15.0,17)",*</Import-Package>

More information about version strings here.

Another thing to be careful about is to use semantic versioning for your bundles. Many people forget to increment the major version number when implementing a breaking change.

eawagner commented 9 years ago

Thanks, will look over the pull request tonight.

And I thought my days of working with OSGI headers were behind me :)