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()
     {


Reply via email to