The non OSGied 3rd party artifacts are repackaged in the packager/external modules (main/nucleus/packager/external and main/appserver/packager/external).
Those 3party artifacts don't change often, but are part of the GlassFish build and hence published as part of every published build of GlassFish.
Also, there is no easy way to figure out what version of the 3rd party is used as the GlassFish version is used.
Instead, we should release those modules separately.
This would allow us to binary integrate those repackaged osgi bundles in the build, removing a bunch of modules from the build and the confusion around the version.
I'd suggest we put them in https://svn.java.net/svn/glassfish~svn/trunk/external/modules/, and provide a release.sh script for each module (see https://svn.java.net/svn/glassfish~svn/trunk/api/javaee-api/javax.annotation/release.sh) to facilitate the release process.
Also, we could provide a standard wiki page that describes how to setup the "maven release" environment.
Here is a list of the involved modules:
Some of the repackaged artifacts are not issued from Maven workspace, hence their dependency graph maybe incorrect (or inexistant).
We can leverage that to remove some workarounds present in the GlassFish workspace:
- findbugs needs org.netbeans.external:ddl when introspecting code that uses either dbschema or schema2beans
- antlr maven plugin expect the original antlr dependency in the graph, however it's not provided by our repackaged artifact, hence we have to add the original antlr dependency just to satisfy the plugin. (see ./appserver/persistence/cmp/support-sqlstore/pom.xml)