You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Micah Whitacre (JIRA)" <ji...@codehaus.org> on 2007/06/13 20:09:58 UTC
[jira] Created: (MNG-3052) Transitive Dependency not found when
repo is not listed
Transitive Dependency not found when repo is not listed
-------------------------------------------------------
Key: MNG-3052
URL: http://jira.codehaus.org/browse/MNG-3052
Project: Maven 2
Issue Type: Bug
Components: Artifacts and Repositories
Affects Versions: 2.0.5
Reporter: Micah Whitacre
Priority: Critical
I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
Is that not correct?
--
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
Re: [jira] Closed: (MNG-3052) Transitive Dependency not found when repo is not listed
Posted by Wendy Smoak <ws...@gmail.com>.
On 6/14/07, Carlos Sanchez <ca...@apache.org> wrote:
> this was incorrectly closed as fixed instead of incomplete
Fixed. :)
--
Wendy
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: [jira] Closed: (MNG-3052) Transitive Dependency not found when repo is not listed
Posted by Carlos Sanchez <ca...@apache.org>.
this was incorrectly closed as fixed instead of incomplete
On 6/14/07, Jason van Zyl (JIRA) <ji...@codehaus.org> wrote:
>
> [ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Jason van Zyl closed MNG-3052.
> ------------------------------
>
> Resolution: Fixed
>
> Incomplete provide a sample build to illustrate the problem.
>
> > Transitive Dependency not found when repo is not listed
> > -------------------------------------------------------
> >
> > Key: MNG-3052
> > URL: http://jira.codehaus.org/browse/MNG-3052
> > Project: Maven 2
> > Issue Type: Bug
> > Components: Artifacts and Repositories
> > Affects Versions: 2.0.5
> > Reporter: Micah Whitacre
> > Priority: Critical
> >
> > I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> > It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> > Is that not correct?
>
> --
> 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
>
>
>
--
I could give you my word as a Spaniard.
No good. I've known too many Spaniards.
-- The Princess Bride
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
[jira] Reopened: (MNG-3052) Transitive Dependency not found when
repo is not listed
Posted by "Wendy Smoak (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wendy Smoak reopened MNG-3052:
------------------------------
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Priority: Critical
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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-3052) Transitive Dependency not found when
repo is not listed
Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Casey updated MNG-3052:
----------------------------
Fix Version/s: 2.0.10
Need to incorporate an integration test for this issue to verify that it's fixed.
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Priority: Critical
> Fix For: 2.0.10
>
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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] Work started: (MNG-3052) Transitive Dependency not found
when repo is not listed
Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on MNG-3052 started by John Casey.
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Assignee: John Casey
> Priority: Critical
> Fix For: 2.0.10
>
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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] Closed: (MNG-3052) Transitive Dependency not found when repo
is not listed
Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason van Zyl closed MNG-3052.
------------------------------
Resolution: Fixed
Incomplete provide a sample build to illustrate the problem.
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Priority: Critical
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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-3052) Transitive Dependency not found when
repo is not listed
Posted by "Benjamin Bentmann (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Bentmann updated MNG-3052:
-----------------------------------
Fix Version/s: 2.0.10
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Assignee: John Casey
> Priority: Critical
> Fix For: 2.0.10, 2.1.0-M1
>
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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] Closed: (MNG-3052) Transitive Dependency not found when repo
is not listed
Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Casey closed MNG-3052.
---------------------------
Resolution: Fixed
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Assignee: John Casey
> Priority: Critical
> Fix For: 2.0.10
>
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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] Closed: (MNG-3052) Transitive Dependency not found when repo
is not listed
Posted by "Wendy Smoak (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wendy Smoak closed MNG-3052.
----------------------------
Resolution: Incomplete
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Priority: Critical
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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-3052) Transitive Dependency not found when
repo is not listed
Posted by "Dirk Olmes (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dirk Olmes updated MNG-3052:
----------------------------
Attachment: InheritLegacyRepo.zip
This example does not exactly reproduce the described setup but illustrates the same effect. The toplevel pom defines a repository, module 'foo' defines two other repositories and module 'bar' depends on 'foo' and on artifacts that can be resolved from bar's repository.
The point is here that if you define a dependency you should be able to resolve transient dependencies through the inherited repositories.
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Priority: Critical
> Attachments: InheritLegacyRepo.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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-3052) Transitive Dependency not found when
repo is not listed
Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=139809#action_139809 ]
John Casey commented on MNG-3052:
---------------------------------
The problem is that the DefaultArtifactCollector is not using the repository list aggregated and associated with each dependency is read via the MavenMetadataSource...instead, it's using the repository list that was used to resolve the declaring POM (the one that listed those dependencies).
I've corrected it and verified by hand that it works with the attached test project, but I still need to convert the attached test project into a self-contained integration-test project before I close this issue.
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Assignee: John Casey
> Priority: Critical
> Fix For: 2.0.10
>
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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-3052) Transitive Dependency not found when
repo is not listed
Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=139826#action_139826 ]
John Casey commented on MNG-3052:
---------------------------------
It appears that this problem is NOT expressed unless the dependencies are snapshots (not sure whether they both have to be, but when they both are, the problem happens)...if I change them both to non-snapshot versions, the problem disappears...
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Assignee: John Casey
> Priority: Critical
> Fix For: 2.0.10
>
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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] Reopened: (MNG-3052) Transitive Dependency not found when
repo is not listed
Posted by "Micah Whitacre (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Micah Whitacre reopened MNG-3052:
---------------------------------
reopening because I provided a complete example that illustrates the issues we are seeing.
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Priority: Critical
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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-3052) Transitive Dependency not found when
repo is not listed
Posted by "luke w patterson (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=130754#action_130754 ]
luke w patterson commented on MNG-3052:
---------------------------------------
In 2.0.8, it only worked for me after I modified <distributionManagement> to include <uniqueVersion>false</uniqueVersion>.
In 2.0.9, it seems to work ok without modifications.
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Priority: Critical
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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-3052) Transitive Dependency not found when
repo is not listed
Posted by "Micah Whitacre (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/MNG-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Micah Whitacre updated MNG-3052:
--------------------------------
Attachment: mng_3052.zip
I hacked up Dirk's example (thanks for giving me a starting point) and created an example that illustrates my point. Inside the zip file you will find three projects, foo, bar, and wombat. Wombat depends on Bar which depends on Foo. Using the projects in the zip file, run "mvn clean deploy" on foo and then bar. After that is completed clear out your local repository and try and run "mvn clean compile" on wombat. It will have an issue being able to resolve foo and I get the following output:
Missing:
----------
1) org.mule:mule-foo:jar:1.0-SNAPSHOT
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=org.mule -DartifactId=mule-foo -Dversio
n=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=org.mule -DartifactId=mule-foo -Dversion=
1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id
]
Path to dependency:
1) org.mule:mule-wombat:jar:1.0-SNAPSHOT
2) org.mule:mule-bar:jar:1.0-SNAPSHOT
3) org.mule:mule-foo:jar:1.0-SNAPSHOT
----------
1 required artifact is missing.
for artifact:
org.mule:mule-wombat:jar:1.0-SNAPSHOT
from the specified remote repositories:
central (http://repo1.maven.org/maven2),
example2-repo (file://c:/test/repo2)
You'll notice that it never lists example1-repo as a repository it checked to find foo.
> Transitive Dependency not found when repo is not listed
> -------------------------------------------------------
>
> Key: MNG-3052
> URL: http://jira.codehaus.org/browse/MNG-3052
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.5
> Reporter: Micah Whitacre
> Priority: Critical
> Attachments: InheritLegacyRepo.zip, mng_3052.zip
>
>
> I have seen the situation where a build fails because a project has a transitive dependency that only exists in a repository not listed by my project. An example of this is I have Projects A, B, and C. Where A depends on B, and B on C. B has been released to remote repo 1, and C has been released to remote repo 2. Since A just directly depends on B it only lists remote repo 1 in its POM. However when I try to build project A the build fail because it can't resolve its transitive dependency C in any of the dependencies it is checking (repo 1 only).
> It is my understanding that for project A I shouldn't have to list the remote repos to resolve transitive dependencies. I should only have to list the repos to get to B and Maven then should use the POM of B to resolve C.
> Is that not correct?
--
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