14 Replies Latest reply on Mar 21, 2008 1:54 PM by pgier

    Can't do a release because of bogus dependency issue

      I'm trying to release to 2.0.0.Beta7 of the microcontainer,
      but the maven release plugin is failing because it wants this release to already exist?
      Specifically the test artifiacts:

       [WARNING] Unable to get resource from repository central (http://repo1.maven.org/maven2)
       [INFO] ------------------------------------------------------------------------
       [ERROR] BUILD ERROR
       [INFO] ------------------------------------------------------------------------
       [INFO] Failed to resolve artifact.
      
       Missing:
       ----------
       1) org.jboss.microcontainer:jboss-kernel:test-jar:tests:2.0.0.Beta7
      
       Try downloading the file manually from the project website.
      
       Then, install it using the command:
       mvn install:install-file -DgroupId=org.jboss.microcontainer -DartifactId=jboss-kernel \
       -Dversion=2.0.0.Beta7 -Dpackaging=test-jar -Dfile=/path/to/file
      
       Path to dependency:
       1) org.jboss.microcontainer:jboss-aop-mc-int:jar:2.0.0.Beta7
       2) org.jboss.microcontainer:jboss-kernel:test-jar:tests:2.0.0.Beta7
      
       ----------
       1 required artifact is missing.
      
       for artifact:
       org.jboss.microcontainer:jboss-aop-mc-int:jar:2.0.0.Beta7
      
       from the specified remote repositories:
       central (http://repo1.maven.org/maven2),
       jboss-snapshots (http://snapshots.jboss.org/maven2),
       repository.jboss.org (http://repository.jboss.org/maven2/),
       snapshots.jboss.org (http://snapshots.jboss.org/maven2/),
       jboss (http://repository.jboss.org/maven2)
      


        • 1. Re: Can't do a release because of bogus dependency issue
          pgier

          This is caused by a bug in the maven jar plugin. (http://jira.codehaus.org/browse/MJAR-75). The issue has been fixed, but the fix hasn't been released yet. I can deploy a snapshot version to our repository so that we can use it until this fix has been released.

          • 2. Re: Can't do a release because of bogus dependency issue
            pgier

            I deployed a patched maven jar plugin here:
            http://repository.jboss.com/maven2/org/apache/maven/plugins/maven-jar-plugin/2.1-jboss-1/
            And I updated the jboss kernel pom to use this version. That should resolve the dependency issue.

            • 3. Re: Can't do a release because of bogus dependency issue

               

              "pgier" wrote:
              I deployed a patched maven jar plugin here:
              http://repository.jboss.com/maven2/org/apache/maven/plugins/maven-jar-plugin/2.1-jboss-1/
              And I updated the jboss kernel pom to use this version. That should resolve the dependency issue.


              Is there anything special I need to do to make the release plugin work
              since I've already tagged the release manually?

              • 4. Re: Can't do a release because of bogus dependency issue
                pgier

                I don't think you can use the release plugin if you've already created the tag. If you already updated all the poms, then you can just do a mvn deploy from a checkout of the tag.

                • 5. Re: Can't do a release because of bogus dependency issue

                   

                  "pgier" wrote:
                  I deployed a patched maven jar plugin here:
                  http://repository.jboss.com/maven2/org/apache/maven/plugins/maven-jar-plugin/2.1-jboss-1/
                  And I updated the jboss kernel pom to use this version. That should resolve the dependency issue.


                  This hasn't fixed the problem.

                  The maven-metadata is saying to use the 2.1 release, even
                  though there is also a 2.2 release in our repository as well?
                  http://repository.jboss.com/maven2/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml

                  • 6. Re: Can't do a release because of bogus dependency issue

                    I also don't understand why this shows up on mvn release:prepare
                    but setting -DdryRun=true doesn't see the issue?

                    • 7. Re: Can't do a release because of bogus dependency issue

                      This is the error message

                       [INFO] Compiling 84 source files to /home/ejort/release/microcontainer.2.0.0.Beta11/aop-mc-int/target/classes
                       [WARNING] /home/ejort/release/microcontainer.2.0.0.Beta11/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/beanmetadatafactory/AspectManagerAwareBeanMetaDataFactory.java:[26,48] [deprecation] org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData in org.jboss.beans.metadata.plugins.factory has been deprecated
                      
                       [WARNING] /home/ejort/release/microcontainer.2.0.0.Beta11/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/beanmetadatafactory/AspectManagerAwareBeanMetaDataFactory.java:[32,59] [deprecation] org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData in org.jboss.beans.metadata.plugins.factory has been deprecated
                      
                       [WARNING] /home/ejort/release/microcontainer.2.0.0.Beta11/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java:[89,42] [deprecation] getType() in org.jboss.reflect.spi.TypeInfo has been deprecated
                      
                       [WARNING] /home/ejort/release/microcontainer.2.0.0.Beta11/aop-mc-int/src/main/org/jboss/aop/microcontainer/lazy/JBossAOPLazyInitializer.java:[58,56] [deprecation] getType() in org.jboss.reflect.spi.TypeInfo has been deprecated
                      
                       [WARNING] /home/ejort/release/microcontainer.2.0.0.Beta11/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java:[70,56] [deprecation] getType() in org.jboss.reflect.spi.TypeInfo has been deprecated
                      
                       [INFO] [resources:testResources]
                       [INFO] Using default encoding to copy filtered resources.
                       Downloading: http://repository.jboss.org/maven2/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta11/jboss-kernel-2.0.0.Beta11-tests.jar
                       Downloading: http://repository.jboss.org/maven2/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta11/jboss-kernel-2.0.0.Beta11-tests.jar
                       Downloading: http://repo1.maven.org/maven2/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta11/jboss-kernel-2.0.0.Beta11-tests.jar
                       [INFO] ------------------------------------------------------------------------
                       [ERROR] BUILD ERROR
                       [INFO] ------------------------------------------------------------------------
                       [INFO] Failed to resolve artifact.
                      
                       Missing:
                       ----------
                       1) org.jboss.microcontainer:jboss-kernel:test-jar:tests:2.0.0.Beta11
                      
                       Try downloading the file manually from the project website.
                      
                       Then, install it using the command:
                       mvn install:install-file -DgroupId=org.jboss.microcontainer -DartifactId=jboss-kernel -Dversion=2.0.0.Beta11 -Dclassifier=tests -Dpackaging=test-jar -Dfile=/path/to/file
                      
                       Alternatively, if you host your own repository you can deploy the file there:
                       mvn deploy:deploy-file -DgroupId=org.jboss.microcontainer -DartifactId=jboss-kernel -Dversion=2.0.0.Beta11 -Dclassifier=tests -Dpackaging=test-jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
                      
                       Path to dependency:
                       1) org.jboss.microcontainer:jboss-aop-mc-int:jar:2.0.0.Beta11
                       2) org.jboss.microcontainer:jboss-kernel:test-jar:tests:2.0.0.Beta11
                      
                       ----------
                       1 required artifact is missing.
                      
                       for artifact:
                       org.jboss.microcontainer:jboss-aop-mc-int:jar:2.0.0.Beta11
                      
                       from the specified remote repositories:
                       central (http://repo1.maven.org/maven2),
                       jboss-snapshots (http://snapshots.jboss.org/maven2),
                       repository.jboss.org (http://repository.jboss.org/maven2),
                       snapshots.jboss.org (http://snapshots.jboss.org/maven2),
                       jboss (http://repository.jboss.org/maven2)
                      



                      • 8. Re: Can't do a release because of bogus dependency issue
                        pgier

                         

                        "adrian@jboss.org" wrote:
                        "pgier" wrote:
                        I deployed a patched maven jar plugin here:
                        http://repository.jboss.com/maven2/org/apache/maven/plugins/maven-jar-plugin/2.1-jboss-1/
                        And I updated the jboss kernel pom to use this version. That should resolve the dependency issue.


                        This hasn't fixed the problem.

                        The maven-metadata is saying to use the 2.1 release, even
                        though there is also a 2.2 release in our repository as well?
                        http://repository.jboss.com/maven2/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml


                        Looks like the metadata there is incorrect. Whoever added 2.2 must not have updated it. You should be able to use the 2.2 version now since it includes the fix that was in 2.1-jboss-1. Can you set it to 2.2 in your pom?

                        The next version of the jboss-parent is going to have set versions for all the plugins (which you can still override). So hopefully we won't have to rely on the metadata.



                        • 9. Re: Can't do a release because of bogus dependency issue
                          pgier

                          I need to come up with a better way to handle option 1 http://wiki.jboss.org/wiki/Wiki.jsp?page=MavenThirdPartyJars

                          Following the existing instructions gets stuff into our repository, bu leaves incorrect metadata. This is another situation that having our own mirror of central would help with. Also, it would be nice to have a repository manager software in place that can fix bad metadata.

                          • 10. Re: Can't do a release because of bogus dependency issue

                             

                            "pgier" wrote:

                            Looks like the metadata there is incorrect. Whoever added 2.2 must not have updated it. You should be able to use the 2.2 version now since it includes the fix that was in 2.1-jboss-1. Can you set it to 2.2 in your pom?


                            It already is at 2.2 in my parent pom
                            http://anonsvn.jboss.org/repos/jbossas/projects/microcontainer/trunk/build/pom.xml

                            I can see both getting downloaded:

                            This one initially
                            13K downloaded
                            Downloading: http://repository.jboss.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.1/maven-jar-plugin-2.1.pom
                            2K downloaded
                            Downloading: http://repository.jboss.org/maven2/org/apache/maven/plugins/maven-plugins/3/maven-plugins-3.pom
                            6K downloaded
                            Downloading: http://repository.jboss.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.1/maven-jar-plugin-2.1.jar
                            18K downloaded
                            


                            Then this one during my build
                            Downloading: http://repository.jboss.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom
                            8K downloaded
                            Downloading: http://repository.jboss.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.jar
                            26K downloaded
                            


                            • 11. Re: Can't do a release because of bogus dependency issue
                              pgier

                              This is similar to something I was seeing in the app server builds. I resolved it by updating the jboss-parent pom. I'll do a beta release of the parent pom, and then we can see if that fixes the issue for you.
                              The parent pom is here (https://svn.labs.jboss.org/labs/jbossbuild/jboss-parent/trunk).

                              I will release version 4-beta-1.

                              • 12. Re: Can't do a release because of bogus dependency issue
                                pgier

                                Ok, I deployed 4-beta-1 of the parent, it should be up in the repository in a few minutes. Can you try updating the parent reference to this one?

                                • 13. Re: Can't do a release because of bogus dependency issue

                                   

                                  "pgier" wrote:
                                  Ok, I deployed 4-beta-1 of the parent, it should be up in the repository in a few minutes. Can you try updating the parent reference to this one?


                                  Looks good. Thanks again. ;-)

                                  • 14. Re: Can't do a release because of bogus dependency issue
                                    pgier

                                     

                                    "adrian@jboss.org" wrote:
                                    "pgier" wrote:
                                    Ok, I deployed 4-beta-1 of the parent, it should be up in the repository in a few minutes. Can you try updating the parent reference to this one?


                                    Looks good. Thanks again. ;-)


                                    No problem :-). I still need to figure out exactly why it was happening this way. Since if you specify a plugin version in your pom, it should use that one and not the version the parent specified.

                                    So I still have to do a little testing to make sure that the final version 4 of the parent pom specifies default versions but still allows these to be overridden when needed.