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 ?

Reply via email to