Brian Fox wrote:

I think we have to also consider that 2) is what Maven does now.
(Benjamin thinks it might be 3 but I seem to recall repos added along
the way stick around forever)

I was trying to check what Maven 2.x actually does and came up with this POM snippet:

  <dependencies>
    <dependency>
      <groupId>org.sonatype.nexus</groupId>
      <artifactId>nexus-utils</artifactId>
      <version>1.4.0</version>
    </dependency>
    <dependency>
      <groupId>edu.purdue.cs.bloat</groupId>
      <artifactId>edu.purdue.cs.bloat</artifactId>
      <version>1.0</version>
    </dependency>
  </dependencies>

The first dependency nexus-utils is available from central and its POM inherits a repository called sonatype-forge from its parent. The second dependency is not available from central but only from sonatype-forge.

Now in an environment without any mirrors, invoking something like "mvn compile" on this POM to trigger dependency resolution, I observed Maven 2.x failing to resolve the second dependency because it only tried to download it from central and did not consider the repository declared in the POM of nexus-utils.

This seems to indicate that Maven 2 is scoping the repositories discovered in dependency POMs to the sub tree of the dependency graph its about to process.


Benjamin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to