Which OSGi versions should we support in Pax?
Which OSGi version should we use to compile Pax projects?
The reason I'm asking is: There have been a few commits introducing
org.osgi.core:4.3.0 here and there and a few comments not so happy about
that move.
I tend to agree, but changing the POMs back and forth is not a good
idea, so I'd like to discuss the issue and hopefully reach an agreement
before the next release train.
According to [1], only OSGI 4.x is supported.
Pax Exam and Pax Swissbox Framework definitely require 4.2.0 or higher
because of the FrameworkFactory.
The Pax Swissbox Parent POM has org.osgi.core:4.0.1 in the last release
and 4.2.0 in current snapshots (changed by myself in December) - if this
is not desirable, there's no problem reverting to 4.0.1 in the parent
and using 4.2.0 for pax-swissbox-framework only.
Regarding OSGi 4.3.0, there are significant API changes, not only new
classes and methods but also changed signatures due to generic type
arguments. While this is backward compatible (i.e. OSGi 4.3.0 runs
bundles compiled with 4.2.0), I'm not so sure about the opposite
direction, and even if there are no runtime conflicts, you get lots of
ugly compiler warnings when compiling current Pax code with raw types
against OSGi 4.3.0 with generics.
So I think we should stick with (or revert to) 4.2.0 until further
notice, which does not rule out the possibility of individual
subprojects upgrading to 4.3.0 if they unavoidably require some of the
new features (e.g. weaving hooks).
And we should clearly define which projects (if any) shall remain
compatible to 4.0.1 or 4.1.0 and put up a nice handy project/version
matrix in the Wiki.
By the way, anybody voting for 4.1.0 support should be prepared to
contribute integration tests running on old framework versions :-P
What do you think?
[1] http://team.ops4j.org/wiki/display/ops4j/Pax
Cheers,
Harald
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general