glassfish
  1. glassfish
  2. GLASSFISH-20838

Move 3rd party repackaged OSGi bundles out of the GlassFish workspace / build

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 4.0
    • Fix Version/s: future release
    • Component/s: build_system
    • Labels:
      None

      Description

      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:

      • antlr
      • j-interop
      • jmxremote_optional
      • ldapbp
      • trilead-ssh2
      • vboxjws
      • ant
      • dbschema
      • javadb
      • jaxr_ra
      • jmsra
      • libpam4j
      • schema2beans

      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)

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Romain Grécourt
            Reporter:
            Romain Grécourt
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Time Tracking

              Estimated:
              Original Estimate - 2 days
              2d
              Remaining:
              Remaining Estimate - 2 days
              2d
              Logged:
              Time Spent - Not Specified
              Not Specified