You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Richard Vowles (JIRA)" <ji...@codehaus.org> on 2011/05/01 03:12:22 UTC

[jira] Created: (MNG-5084) Resolver for plugins failing

Resolver for plugins failing
----------------------------

                 Key: MNG-5084
                 URL: http://jira.codehaus.org/browse/MNG-5084
             Project: Maven 2 & 3
          Issue Type: Bug
          Components: Dependencies
    Affects Versions: 3.0.3
         Environment: JDK 1.6.24, Mac OS X
            Reporter: Richard Vowles
            Priority: Critical
         Attachments: simple-plugin.tar

We are at a standstill with the easyb plugin for maven as we cannot get it to resolve artefacts when doing its integration tests. Installing it without them and then using it also fails with resolution problems. 

I downloaded the source and did a remote debug, the resolution seems to *require* that the artefact that is missing be deployed locally, even if these artefacts are in central and are listed in the _maven.repositories file as being from central. It seems to be looking for them as groovy-all-1.7.10.jar>= (for example) even when there is a groovy-all-1.7.10.jar>central= and it has previously just downloaded it from central.

I have created a trivial sample, that builds nothing but has an integration test (which also fails). To reproduce, you need to have *no* settings.xml and clear your repository out (rename it to something else) so you have what appears to be a bare repo. Then run a mvn clean verify (using 3.0.3) and it builds, installs the plugin, runs the integration test and fails. If you edit the integration test and specify the version and mvn clean verify again, it still fails (so it has nothing to do with the invoker plugin).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MNG-5084) Resolver for plugins failing

Posted by "Richard Vowles (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-5084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=266470#action_266470 ] 

Richard Vowles commented on MNG-5084:
-------------------------------------

What is strange about the groovy artefact is this appears to relate to its version range. All of the other artefacts are non-ranged versions and all of them resolve with a remote repository. ONLY groovy (because of its version range) resolves to a local repository. 

Tracing it further, it appears in the org.sonatype.aether.impl.internal.DefaultArtifactResolver on line 314, because the version resolver (from line 276 of the same file) does not specify that the repository used is a LocalRepository, it never gets processed, so the artefact is null in the resulting resolved list.

> Resolver for plugins failing
> ----------------------------
>
>                 Key: MNG-5084
>                 URL: http://jira.codehaus.org/browse/MNG-5084
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0.3
>         Environment: JDK 1.6.24, Mac OS X
>            Reporter: Richard Vowles
>            Priority: Critical
>         Attachments: simple-plugin.tar
>
>
> We are at a standstill with the easyb plugin for maven as we cannot get it to resolve artefacts when doing its integration tests. Installing it without them and then using it also fails with resolution problems. 
> I downloaded the source and did a remote debug, the resolution seems to *require* that the artefact that is missing be deployed locally, even if these artefacts are in central and are listed in the _maven.repositories file as being from central. It seems to be looking for them as groovy-all-1.7.10.jar>= (for example) even when there is a groovy-all-1.7.10.jar>central= and it has previously just downloaded it from central.
> I have created a trivial sample, that builds nothing but has an integration test (which also fails). To reproduce, you need to have *no* settings.xml and clear your repository out (rename it to something else) so you have what appears to be a bare repo. Then run a mvn clean verify (using 3.0.3) and it builds, installs the plugin, runs the integration test and fails. If you edit the integration test and specify the version and mvn clean verify again, it still fails (so it has nothing to do with the invoker plugin).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MNG-5084) Resolver for plugins failing

Posted by "Richard Vowles (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-5084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Vowles updated MNG-5084:
--------------------------------

    Attachment: Screen shot 2011-05-12 at 10.43.05 PM.png

demonstrating debug information showing unresolved artifact problem.

> Resolver for plugins failing
> ----------------------------
>
>                 Key: MNG-5084
>                 URL: http://jira.codehaus.org/browse/MNG-5084
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0.3
>         Environment: JDK 1.6.24, Mac OS X
>            Reporter: Richard Vowles
>            Priority: Critical
>         Attachments: Screen shot 2011-05-12 at 10.43.05 PM.png, simple-plugin.tar
>
>
> We are at a standstill with the easyb plugin for maven as we cannot get it to resolve artefacts when doing its integration tests. Installing it without them and then using it also fails with resolution problems. 
> I downloaded the source and did a remote debug, the resolution seems to *require* that the artefact that is missing be deployed locally, even if these artefacts are in central and are listed in the _maven.repositories file as being from central. It seems to be looking for them as groovy-all-1.7.10.jar>= (for example) even when there is a groovy-all-1.7.10.jar>central= and it has previously just downloaded it from central.
> I have created a trivial sample, that builds nothing but has an integration test (which also fails). To reproduce, you need to have *no* settings.xml and clear your repository out (rename it to something else) so you have what appears to be a bare repo. Then run a mvn clean verify (using 3.0.3) and it builds, installs the plugin, runs the integration test and fails. If you edit the integration test and specify the version and mvn clean verify again, it still fails (so it has nothing to do with the invoker plugin).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MNG-5084) Resolver for plugins failing

Posted by "Richard Vowles (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-5084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=266465#action_266465 ] 

Richard Vowles commented on MNG-5084:
-------------------------------------

I have now spent some hours debugging through aether-1.11 (which is used in maven 3.0.3) and what I have found is this.

After the first build, with an empty repository, maven downloads Groovy 1.7.10 and puts it in the local repository and creates a maven-metadata-local.xml file for it which includes only one version (1.7.10). It downloads the poms for all the other versions in the version range. This occurs because of the code in org.sonatype.aether.impl.internal.DefaultDependencyCollector on line 368. Any subsequent attempt to use the artefact (in an invoker plugin test or simply by running verify again on the artefact) causes it to be found locally. The rangeResult on line 481 of the same file returns 1.7.0 -> 1.7.10 with all but 1.7.10 coming from a remote repository. 

The if directly following 481 (on 482 to 493) checks to see if the repo NOT remote or if it is NOT null (i.e. it is local). If it is local, it throws it away on line 492. Thus the artefact is left with no repository to resolve from. 

This appears to be picked up later by the resolver, which checks for the key "groovy-all-1.7.10.jar>=" in the _maven.repositories file in the groovy-1.7.10 local repository directory, and not finding it (because maven has set it to "groovy-all-1.7.10.jar>central=") causes maven to not be able to find  the artefact. I will attempt to track this bit down again.

> Resolver for plugins failing
> ----------------------------
>
>                 Key: MNG-5084
>                 URL: http://jira.codehaus.org/browse/MNG-5084
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0.3
>         Environment: JDK 1.6.24, Mac OS X
>            Reporter: Richard Vowles
>            Priority: Critical
>         Attachments: simple-plugin.tar
>
>
> We are at a standstill with the easyb plugin for maven as we cannot get it to resolve artefacts when doing its integration tests. Installing it without them and then using it also fails with resolution problems. 
> I downloaded the source and did a remote debug, the resolution seems to *require* that the artefact that is missing be deployed locally, even if these artefacts are in central and are listed in the _maven.repositories file as being from central. It seems to be looking for them as groovy-all-1.7.10.jar>= (for example) even when there is a groovy-all-1.7.10.jar>central= and it has previously just downloaded it from central.
> I have created a trivial sample, that builds nothing but has an integration test (which also fails). To reproduce, you need to have *no* settings.xml and clear your repository out (rename it to something else) so you have what appears to be a bare repo. Then run a mvn clean verify (using 3.0.3) and it builds, installs the plugin, runs the integration test and fails. If you edit the integration test and specify the version and mvn clean verify again, it still fails (so it has nothing to do with the invoker plugin).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MNG-5084) Resolver for plugins failing

Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MNG-5084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason van Zyl closed MNG-5084.
------------------------------

    Resolution: Fixed
    
> Resolver for plugins failing
> ----------------------------
>
>                 Key: MNG-5084
>                 URL: https://jira.codehaus.org/browse/MNG-5084
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0.3
>         Environment: JDK 1.6.24, Mac OS X
>            Reporter: Richard Vowles
>            Priority: Critical
>         Attachments: Screen shot 2011-05-12 at 10.43.05 PM.png, simple-plugin.tar
>
>
> We are at a standstill with the easyb plugin for maven as we cannot get it to resolve artefacts when doing its integration tests. Installing it without them and then using it also fails with resolution problems. 
> I downloaded the source and did a remote debug, the resolution seems to *require* that the artefact that is missing be deployed locally, even if these artefacts are in central and are listed in the _maven.repositories file as being from central. It seems to be looking for them as groovy-all-1.7.10.jar>= (for example) even when there is a groovy-all-1.7.10.jar>central= and it has previously just downloaded it from central.
> I have created a trivial sample, that builds nothing but has an integration test (which also fails). To reproduce, you need to have *no* settings.xml and clear your repository out (rename it to something else) so you have what appears to be a bare repo. Then run a mvn clean verify (using 3.0.3) and it builds, installs the plugin, runs the integration test and fails. If you edit the integration test and specify the version and mvn clean verify again, it still fails (so it has nothing to do with the invoker plugin).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MNG-5084) Resolver for plugins failing

Posted by "Richard Vowles (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-5084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=265326#action_265326 ] 

Richard Vowles commented on MNG-5084:
-------------------------------------

It also appears that the behavior is such, that when you do the mvn clean verify the first time, the plugin compiles and the integration test does not. If you do a clean verify again, the plugin won't compile with the same error as the integration test.

> Resolver for plugins failing
> ----------------------------
>
>                 Key: MNG-5084
>                 URL: http://jira.codehaus.org/browse/MNG-5084
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0.3
>         Environment: JDK 1.6.24, Mac OS X
>            Reporter: Richard Vowles
>            Priority: Critical
>         Attachments: simple-plugin.tar
>
>
> We are at a standstill with the easyb plugin for maven as we cannot get it to resolve artefacts when doing its integration tests. Installing it without them and then using it also fails with resolution problems. 
> I downloaded the source and did a remote debug, the resolution seems to *require* that the artefact that is missing be deployed locally, even if these artefacts are in central and are listed in the _maven.repositories file as being from central. It seems to be looking for them as groovy-all-1.7.10.jar>= (for example) even when there is a groovy-all-1.7.10.jar>central= and it has previously just downloaded it from central.
> I have created a trivial sample, that builds nothing but has an integration test (which also fails). To reproduce, you need to have *no* settings.xml and clear your repository out (rename it to something else) so you have what appears to be a bare repo. Then run a mvn clean verify (using 3.0.3) and it builds, installs the plugin, runs the integration test and fails. If you edit the integration test and specify the version and mvn clean verify again, it still fails (so it has nothing to do with the invoker plugin).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MNG-5084) Resolver for plugins failing

Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=313492#comment-313492 ] 

Jason van Zyl commented on MNG-5084:
------------------------------------

Aether is now at 1.13.1. Seems this resolves your issue.
                
> Resolver for plugins failing
> ----------------------------
>
>                 Key: MNG-5084
>                 URL: https://jira.codehaus.org/browse/MNG-5084
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0.3
>         Environment: JDK 1.6.24, Mac OS X
>            Reporter: Richard Vowles
>            Priority: Critical
>         Attachments: Screen shot 2011-05-12 at 10.43.05 PM.png, simple-plugin.tar
>
>
> We are at a standstill with the easyb plugin for maven as we cannot get it to resolve artefacts when doing its integration tests. Installing it without them and then using it also fails with resolution problems. 
> I downloaded the source and did a remote debug, the resolution seems to *require* that the artefact that is missing be deployed locally, even if these artefacts are in central and are listed in the _maven.repositories file as being from central. It seems to be looking for them as groovy-all-1.7.10.jar>= (for example) even when there is a groovy-all-1.7.10.jar>central= and it has previously just downloaded it from central.
> I have created a trivial sample, that builds nothing but has an integration test (which also fails). To reproduce, you need to have *no* settings.xml and clear your repository out (rename it to something else) so you have what appears to be a bare repo. Then run a mvn clean verify (using 3.0.3) and it builds, installs the plugin, runs the integration test and fails. If you edit the integration test and specify the version and mvn clean verify again, it still fails (so it has nothing to do with the invoker plugin).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MNG-5084) Resolver for plugins failing

Posted by "Mark Derricutt (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=272435#comment-272435 ] 

Mark Derricutt commented on MNG-5084:
-------------------------------------

Swapping our aether 1.11 for 1.12 in my maven/lib directory seems to solve this problem.  After removing settings.xml and clearing out .m2/repository maven would fail the IT tests with 1.11, 1.12 works as expected.

What would it take to propose a 3.0.4 release of maven with the newer aether included?


> Resolver for plugins failing
> ----------------------------
>
>                 Key: MNG-5084
>                 URL: https://jira.codehaus.org/browse/MNG-5084
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0.3
>         Environment: JDK 1.6.24, Mac OS X
>            Reporter: Richard Vowles
>            Priority: Critical
>         Attachments: Screen shot 2011-05-12 at 10.43.05 PM.png, simple-plugin.tar
>
>
> We are at a standstill with the easyb plugin for maven as we cannot get it to resolve artefacts when doing its integration tests. Installing it without them and then using it also fails with resolution problems. 
> I downloaded the source and did a remote debug, the resolution seems to *require* that the artefact that is missing be deployed locally, even if these artefacts are in central and are listed in the _maven.repositories file as being from central. It seems to be looking for them as groovy-all-1.7.10.jar>= (for example) even when there is a groovy-all-1.7.10.jar>central= and it has previously just downloaded it from central.
> I have created a trivial sample, that builds nothing but has an integration test (which also fails). To reproduce, you need to have *no* settings.xml and clear your repository out (rename it to something else) so you have what appears to be a bare repo. Then run a mvn clean verify (using 3.0.3) and it builds, installs the plugin, runs the integration test and fails. If you edit the integration test and specify the version and mvn clean verify again, it still fails (so it has nothing to do with the invoker plugin).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira