Author: kenney Date: Sat Jul 8 08:46:08 2006 New Revision: 420139 URL: http://svn.apache.org/viewvc?rev=420139&view=rev Log: Merged revisions 420119 and 420127 from trunk:
add support for repositories defined in pom files for the bootstrapper. Modified: maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java Modified: maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java?rev=420139&r1=420138&r2=420139&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java (original) +++ maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java Sat Jul 8 08:46:08 2006 @@ -287,6 +287,8 @@ { Dependency dep = (Dependency) i.next(); + dep.getRepositories().addAll( reader.getRemoteRepositories() ); + if ( modelFileCache.containsKey( dep.getId() ) ) { buildProject( resolver.getArtifactFile( dep.getPomDependency() ).getParentFile(), false ); Modified: maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java?rev=420139&r1=420138&r2=420139&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java (original) +++ maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java Sat Jul 8 08:46:08 2006 @@ -1,5 +1,11 @@ package org.apache.maven.bootstrap.download; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.apache.maven.bootstrap.model.Dependency; + /* * Copyright 2001-2005 The Apache Software Foundation. * @@ -22,10 +28,39 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Brett Porter</a> * @version $Id$ */ -public class DownloadFailedException extends Exception +public class DownloadFailedException + extends Exception { public DownloadFailedException( String message ) { super( message ); + } + + public DownloadFailedException( Dependency dep ) + { + super( createMessage( dep ) ); + } + + private static String createMessage( Dependency dep ) + { + String msg = "Failed to download dependency: \n\n" + dep + "\n\nChain:\n"; + + List repos = new ArrayList(); + + for ( Iterator it = dep.getChain().iterator(); it.hasNext(); ) + { + Dependency chainDep = (Dependency) it.next(); + msg += "\n\t" + chainDep; + repos.addAll( chainDep.getRepositories() ); + } + + msg += "\n\nfrom the following repositories:\n\n"; + + for ( Iterator it = repos.iterator(); it.hasNext(); ) + { + msg += "\n\t" + it.next(); + } + + return msg; } } Modified: maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java?rev=420139&r1=420138&r2=420139&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java (original) +++ maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java Sat Jul 8 08:46:08 2006 @@ -96,7 +96,7 @@ if ( !getRemoteArtifact( dep, destinationFile ) && !destinationFile.exists() ) { - throw new DownloadFailedException( "Failed to download " + dep ); + throw new DownloadFailedException( dep ); } downloadedArtifacts.put( dependencyConflictId, dep ); @@ -123,7 +123,16 @@ { boolean fileFound = false; - for ( Iterator i = getRemoteRepositories().iterator(); i.hasNext(); ) + List repositories = new ArrayList(); + repositories.addAll( getRemoteRepositories() ); + repositories.addAll( dep.getRepositories() ); + + for ( Iterator i = dep.getChain().iterator(); i.hasNext(); ) + { + repositories.addAll( ( (Dependency) i.next() ).getRepositories() ); + } + + for ( Iterator i = repositories.iterator(); i.hasNext(); ) { Repository remoteRepo = (Repository) i.next(); Modified: maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java?rev=420139&r1=420138&r2=420139&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java (original) +++ maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java Sat Jul 8 08:46:08 2006 @@ -17,6 +17,7 @@ */ import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -58,6 +59,8 @@ private List chain; + private Collection repositories; + public Dependency( List chain ) { this.chain = new ArrayList( chain ); @@ -213,6 +216,14 @@ } + public Collection getRepositories() + { + if ( repositories == null ) + repositories = new ArrayList(); + + return repositories; + } + public String toString() { return getId() + ":" + getVersion() + ":" + getType(); @@ -302,7 +313,9 @@ public Dependency getPomDependency() { - return new Dependency( groupId, artifactId, version, "pom", chain ); + Dependency dep = new Dependency( groupId, artifactId, version, "pom", chain ); + dep.repositories = repositories; + return dep; } public void setOptional( boolean optional ) Modified: maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java?rev=420139&r1=420138&r2=420139&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java (original) +++ maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java Sat Jul 8 08:46:08 2006 @@ -180,9 +180,9 @@ } else if ( rawName.equals( "dependency" ) ) { - List chain = + List newChain = Collections.singletonList( new Dependency( groupId, artifactId, version, packaging, this.chain ) ); - currentDependency = new Dependency( chain ); + currentDependency = new Dependency( newChain ); insideDependency = true; } @@ -282,6 +282,8 @@ addDependencies( p.getManagedDependencies(), managedDependencies, inheritedScope, Collections.EMPTY_SET ); + repositories.addAll( p.getRemoteRepositories() ); + resources.addAll( p.getResources() ); insideParent = false; @@ -606,6 +608,11 @@ try { Dependency pom = new Dependency( groupId, artifactId, version, "pom", chain ); + pom.getRepositories().addAll( repositories ); + for ( Iterator it = chain.iterator(); it.hasNext(); ) + { + pom.getRepositories().addAll( ( (Dependency) it.next() ).getRepositories() ); + } resolver.downloadDependencies( Collections.singletonList( pom ) ); Modified: maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java?rev=420139&r1=420138&r2=420139&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java (original) +++ maven/components/branches/maven-2.0.x/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java Sat Jul 8 08:46:08 2006 @@ -33,13 +33,13 @@ private String basedir; - private String layout; + private String layout = LAYOUT_DEFAULT; private String id; - private boolean releases; + private boolean releases = true; - private boolean snapshots; + private boolean snapshots = true; public Repository() {