On 11/16/10 4:07, Guillaume Nodet wrote:
I'd like to improve the maven bundle plugin to make it very easy to actually create good bundles for people that have had limited exposure to OSGi. I think in such cases, we should have something like the following: * export all the packages from the src/main/java (this is done by default by the plugin if nothing is specified, but there's no way to add things without having to list all the packages again)
Not sure what you are proposing here, since it already is the default as you mention. Are you proposing some sort of macro to specify "export all" ?
* use the pom version for the version of the exported packages
I don't think this is a good idea. You might as well just set them all to 0.0.0, since it is about as meaningful. The bundle-version attribute is already added implicitly, so if someone wants to use the bundle version they already can.
* do not import exported packages by default (most of the projects i've worked with do not use api + impl in the same bundle)
You should experiment with the snapshot, since I integrated the latest bnd that attempts to do a better job at figuring this out.
* use default version ranges for third party libraries * use a stricter version range for packages imported from the same build (i.e. if you have two bundles build in the same build, they will import packages using a stricter version range)
I'm not sure one way or the other...maybe need some examples.
Before you try to shoot me down, I do understand this is not the best way to create bundles, and ideally, the version of the packages would be different than the overall version of the system, but I think a lot of projects aren't prepared to have OSGi have such a big impact on their code (as OSGi is for them a side thing). So for those, I'd still like to have a set of defaults that works better than the current default (which has no version on the packages, does not use version ranges, etc...).
As I said above, they already have the bundle version, so I don't really see the value in adding the bundle version again, but as the package version.
I'm not sure how to do that yet, maybe having a simple option that activate different profiles if people think this should not be the overall defaults. I haven't given much thoughts about the technical aspect yet, but I do think we should make it easier to package OSGi bundles.
I agree that we should generate better bundles by default. The new bnd helps in some cases. I think the most controversial aspect is the default package version, which I'd argue against.
Also maybe a different profile to package an existing jar into a bundle more easily would be good too.
Possibly. -> richard
THoughts ?