Community
Participate
Working Groups
Currently orbit provides the version 1.0 of javax.annotation. Jetty and Swordfish use the version 1.1 of javax.annotation The original jar has been approved for use for the jetty project in CQ-3212 and also for swordfish CQ-3035. The CQ to package is this jar in orbit is 4633. I volunteer to package the bundle and the source bundle to orbit and maintain it.
Hi David, You raised a question on the CQ and suggested that we answer it here: >Why does this say "geronimo" specifically. Is this "vendor specific"? (so to speak). Another way to ask, are there alternative that are not from geronimo? If so, some care may be needed when put into Orbit to provide "vendor" attribute, as we've had to do with "glassfish" vs. "sun" (or something, don't quite recall). There is nothing specific to Geronimo in this jar. It just happens to be this library was chosen by jetty and swordfish and they did get an approved CQ for it. Thanks for your attention, I have seen indeed some geronimo jars that do contain javax classes and also some geronimo only classes. javax.annotation is really just containing the API and nothing else. We would rename the bundle and redo the MANIFEST.MF as usual anyways.
I forgot to answer the question > Are there alternative that are not from geronimo? There are other Apache projects that repackage those jars. But that would not be much different from the geronimo ones obviously. We could try to find those on the maven2 repository maintained at java.net. But here is what happens: Jetty builds with maven2 and publishes its builds in maven central. To be able to do that they must only depend on jars that are published in maven central. The java.net jars are actually not contributed to maven central: they don't respect all the necessary criterias. The geronimo jars are contributed to maven central and they were probably one of the first projects to package the javax APIs on a grand scale. I guess that is why we end-up downstream seeing so many of them.
Sounds good. Thanks. (My main concern was different implementations, not different sources of same code ... such as in past, we've had javax.activation from both geronimo, and glassfish ... or something like that. But, sounds fine to assume for now there's just one source as far as Eclipse users/providers are concerned. (It was named "geronimo" so prominent in cq, thought there was something special about that). DJ, adding you to CC since you are listed for "1.0" version. I'm sure you won't insist on maintaining all versions :) but wanted to CC you since if you (or others) are using the 1.0 version, you may want to move to 1.1 version and plan for testing ... or, restrict ranges, or whatever. So, just FYI. Thanks Hugues.
As far as I know version 1.1 is backward compatible. Just a couple more classes and a javax.annotation.sql package that was added. No external dependencies.
Well, I am about to close this bug as invalid and explain the confusion: Indeed, DJ's javax.annotation-1.0 is exactly the same content than the geronimo one. Both jetty and swordfish could have piggy back on that one instead. However DJ's packaging of this library is missing the export of javax.annotation.security which is needed by the jetty code. I have filed the bug 330172 to track this. Add to this situation the double versions per name of geronimo and I confused the new annotation-1.1 spec with the annotation-1.0 spec. No CQ has been filed for the version 1.1 of the spec so far.
Marking this bug invalid: no project so far is using version 1.1 of the javax.annotation spec.