maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brett Porter <>
Subject Re: [DISCUSS] Handling of repositories in POMs of dependencies
Date Wed, 28 Oct 2009 12:03:50 GMT
I would advocate not allowing them, but using them to provide useful  
information in the case of a resolution exception that can easily  
guide the user on what to do.

If folks strongly want to continue to allow it, I would go with a  
prominent warning (which is the case for several other things now).

As to what the user is guided to do - I assume that is to declare them  
as repositories in the current project, or to refer to their  
repository manager's documentation to add it there (with this being  
recommended). In the long run I'd hope Maven can better handle  
multiple repositories OOTB (in a way that still complements the use of  
a repository manager) - actually I remember briefly talking to Brian  
about that at last year's ApacheCon Maven BOF :) Time flies...

- Brett

On 28/10/2009, at 10:52 PM, Benjamin Bentmann wrote:

> Hi,
> following a comment by Wendy on JIRA, I wanted to re-check what our  
> plans are for repositories in dependency POMs. In more detail, how  
> is dependency resolution in Maven 3.x expected to work here:
>   project ---depends-on---> A ---depends-on---> B
> where the POM of A declares the repository R hosting B.
> Now, when it comes to resolve B's POM/JAR (and its transitive  
> dependencies) in the context of building the project, should Maven 3  
> also consider R (like currently done in Maven 2) or only those  
> repositories that are available for the root of the dependency  
> graph, i.e. the repositories declared in the POM of the project and  
> the settings?
> Besides the question of the degree of backward-compat we want to  
> keep, the issue with ignoring the repositories declared in  
> dependency POMs I see is the effect on open source projects and  
> their consumers. If one project consumes the artifacts of another,  
> do we want the first project to redeclare all repositories required  
> to resolve the transitive dependencies of the second project? Some  
> arguments for the other side can be found in [1].
> So, where do we want to go with this?
> Benjamin
> [0]
> [1]
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message