You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ke...@apache.org on 2006/07/08 17:26:14 UTC
svn commit: r420119 - in
/maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap:
./ download/ model/
Author: kenney
Date: Sat Jul 8 08:26:14 2006
New Revision: 420119
URL: http://svn.apache.org/viewvc?rev=420119&view=rev
Log:
* Fixed defaults for repositories (release true, snapshots true, layout default)
* Added support for using repositories from the poms themselves,
including chained dependencies.
It's not as clean as I would like to, but there's no notion of a Project:
the repository-defining project is not added to a Dependency Chain.
* Updated DownloadFailedException to list the dep chain and the repositories
tried.
Modified:
maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java
maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java
maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java
maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java
maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java
maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java
Modified: maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java?rev=420119&r1=420118&r2=420119&view=diff
==============================================================================
--- maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java (original)
+++ maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/Bootstrap.java Sat Jul 8 08:26:14 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/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java?rev=420119&r1=420118&r2=420119&view=diff
==============================================================================
--- maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java (original)
+++ maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/DownloadFailedException.java Sat Jul 8 08:26:14 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:brett@apache.org">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/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java?rev=420119&r1=420118&r2=420119&view=diff
==============================================================================
--- maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java (original)
+++ maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java Sat Jul 8 08:26:14 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/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java?rev=420119&r1=420118&r2=420119&view=diff
==============================================================================
--- maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java (original)
+++ maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Dependency.java Sat Jul 8 08:26:14 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/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java?rev=420119&r1=420118&r2=420119&view=diff
==============================================================================
--- maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java (original)
+++ maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/ModelReader.java Sat Jul 8 08:26:14 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;
}
@@ -606,6 +606,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/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java?rev=420119&r1=420118&r2=420119&view=diff
==============================================================================
--- maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java (original)
+++ maven/components/trunk/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java Sat Jul 8 08:26:14 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()
{