There's one more bit that needs to be resolved before the Geronimo spec
packages can be released, and that's the issue of package export
versions in the different specs. There are a couple of issues involved:
1) Explicitly specified version numbers in the enterprise specification
2) A current proposal under discussion for semantic package versioning
at the OSGi Alliance.
In category 1), the only hit is to the JPA spec. The spec currently is
exporting the javax.persistence* packages as version 2.0, but the
enterprise spec specifically requires 1.1. Unfortunately, we've already
released a version exporting as 2.0, and that's the version that OpenJPA
is using to build their bundles.
For category 2, the current proposal would use the java ee 5 numbers as
a baseline and increment the minor version number. So, for example,
jaxb 2.1 would become jaxb 2.2 for the java ee 6 version, which matches
what we're already doing. It appears the only package we need to change
is servlet, which would switch from 3.0 to 2.6. We have not made an
official release of the servlet 3.0 spec yet, so switching this to 2.6
will have a lower impact.
The JPA spec is a problem. Just changing the export from 2.0 to 1.1
causes the geronimo build to break because the OpenJPA bundles are
looking for version 2.0 of these packages. One solution would be to
package these bundles using the desired package imports, but I'm
concerned that applications built against the current OpenJPA version
would not function correctly when deployed on Geronimo because of the
version mismatche. I suspect the Aries samples would have this problem,
for example.
I did a little experiment, and was able to get Geronimo to build again
by having the bundle export multiple package versions. I think this
will work as a short-term fix until OpenJPA releases a version that
imports the 1.1 version of the packages.
Rick