glassfish
  1. glassfish
  2. GLASSFISH-13982

javax.inject in glassfish repo does not match Maven central repo

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 3.1
    • Fix Version/s: None
    • Component/s: build_system
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: Linux

      Description

      The javax.inject version 1 jar in the glassfish repository [1] does not match
      the same jar in the central Maven repository [2]. The class files in the
      glassfish jar are compiled for Java 6 and the class files in the central jar are
      compiled for Java 5. Artifacts that have the same GAV (groupId, artifactId, and
      version) in a Maven repository should have exactly the same content. Otherwise
      you can run into conflicts in the local Maven repository. For example, someone
      expecting to download the artifact from central could add the glassfish
      repository for some unrelated artifacts and end up with the incorrect file.

      [1]http://download.java.net/maven/glassfish/javax/inject/javax.inject/1/
      [2]http://repo2.maven.org/maven2/javax/inject/javax.inject/1/

        Activity

        Hide
        Romain Grécourt added a comment -

        download.java.net is not a supported maven repository anymore. See maven central and maven.java.net

        Show
        Romain Grécourt added a comment - download.java.net is not a supported maven repository anymore. See maven central and maven.java.net
        Hide
        janey added a comment -

        Thanks for the suggestion. Our source build requirement is that we don't make any customization to the
        build script and source code.

        I spoke to Sahoo and we discussed that we will deploy the 3rd party artifacts to our internal Nexus server.
        The GlassFish Hudson job will reference the internal Nexus Server. The community GF build should not be
        impacted by this change.

        Thanks,
        Jane

        Show
        janey added a comment - Thanks for the suggestion. Our source build requirement is that we don't make any customization to the build script and source code. I spoke to Sahoo and we discussed that we will deploy the 3rd party artifacts to our internal Nexus server. The GlassFish Hudson job will reference the internal Nexus Server. The community GF build should not be impacted by this change. Thanks, Jane
        Hide
        pgier added a comment -

        Just FYI, we've had this same issue come up in the JBoss repository since we
        also sometimes rebuild dependency jars. The solution that we came up with is to
        give an extra version qualifier to any jars that have been rebuilt. So the
        original jar in central might be version 1.0, but our rebuilt jar in the JBoss
        repository is version 1.0-jboss-1. This way the GAV is still unique, but it's
        clear that these jars are related.

        Show
        pgier added a comment - Just FYI, we've had this same issue come up in the JBoss repository since we also sometimes rebuild dependency jars. The solution that we came up with is to give an extra version qualifier to any jars that have been rebuilt. So the original jar in central might be version 1.0, but our rebuilt jar in the JBoss repository is version 1.0-jboss-1. This way the GAV is still unique, but it's clear that these jars are related.
        Hide
        janey added a comment -

        The artifacts javax.inject:1 is published to the GlassFish Maven repository because we are doing
        source-build for external projects that are referenced in GlassFish v3. The original thought was that
        GlassFish is the only recipient of the source-build artifacts. Since Glassfish Maven repository is open
        to the community, other project can reference it.

        To fix this inconsistency with the central Maven repo, I will remove javax.inject from GlassFish repo.

        Show
        janey added a comment - The artifacts javax.inject:1 is published to the GlassFish Maven repository because we are doing source-build for external projects that are referenced in GlassFish v3. The original thought was that GlassFish is the only recipient of the source-build artifacts. Since Glassfish Maven repository is open to the community, other project can reference it. To fix this inconsistency with the central Maven repo, I will remove javax.inject from GlassFish repo.
        Hide
        Sivakumar Thyagarajan added a comment -

        Adding myself to the interest list

        Show
        Sivakumar Thyagarajan added a comment - Adding myself to the interest list

          People

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

            Dates

            • Created:
              Updated:
              Resolved: