You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2006/02/21 07:24:00 UTC
svn commit: r379369 - in /maven/components/trunk:
maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/
maven-artifact/src/main/java/org/apache/maven/artifact/resolver/
Author: jdcasey
Date: Mon Feb 20 22:23:57 2006
New Revision: 379369
URL: http://svn.apache.org/viewcvs?rev=379369&view=rev
Log:
[MNG-2083] Added new exception, MultipleArtifactsNotFoundException, to account for cases where multiple artifacts are missing during transitive resolution. This will handle formatting, including downloadUrl and install instructions, for each missing artifact.
Added:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java (with props)
Modified:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=379369&r1=379368&r2=379369&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Mon Feb 20 22:23:57 2006
@@ -269,14 +269,15 @@
if ( missingArtifacts.size() > 0 )
{
- String message = "required artifacts missing:\n";
- for ( Iterator i = missingArtifacts.iterator(); i.hasNext(); )
- {
- Artifact missingArtifact = (Artifact) i.next();
- message += " " + missingArtifact.getId() + "\n";
- }
- message += "\nfor the artifact:";
- throw new ArtifactResolutionException( message, originatingArtifact, remoteRepositories );
+ throw new MultipleArtifactsNotFoundException( originatingArtifact, missingArtifacts, remoteRepositories );
+// String message = "required artifacts missing:\n";
+// for ( Iterator i = missingArtifacts.iterator(); i.hasNext(); )
+// {
+// Artifact missingArtifact = (Artifact) i.next();
+// message += " " + missingArtifact.getId() + "\n";
+// }
+// message += "\nfor the artifact:";
+// throw new ArtifactResolutionException( message, originatingArtifact, remoteRepositories );
}
return artifactResolutionResult;
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java?rev=379369&r1=379368&r2=379369&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java Mon Feb 20 22:23:57 2006
@@ -59,7 +59,7 @@
this.type = type;
this.version = version;
this.remoteRepositories = remoteRepositories;
- this.path = constructArtifactPath( path );
+ this.path = constructArtifactPath( path, "" );
}
protected AbstractArtifactResolutionException( String message, String groupId, String artifactId, String version,
@@ -73,7 +73,7 @@
this.type = type;
this.version = version;
this.remoteRepositories = remoteRepositories;
- this.path = constructArtifactPath( path );
+ this.path = constructArtifactPath( path, "" );
}
protected AbstractArtifactResolutionException( String message, Artifact artifact )
@@ -124,18 +124,20 @@
return originalMessage;
}
- protected static String constructArtifactPath( List path )
+ protected static String constructArtifactPath( List path, String indentation )
{
StringBuffer sb = new StringBuffer();
if ( path != null )
{
sb.append( LS );
+ sb.append( indentation );
sb.append( "Path to dependency: " );
sb.append( LS );
int num = 1;
for ( Iterator i = path.iterator(); i.hasNext(); num++ )
{
+ sb.append( indentation );
sb.append( "\t" );
sb.append( num );
sb.append( ") " );
@@ -177,11 +179,53 @@
}
}
- sb.append( constructArtifactPath( path ) );
+ sb.append( constructArtifactPath( path, "" ) );
sb.append( LS );
return sb.toString();
}
+ protected static String constructMissingArtifactMessage( String message, String indentation, String groupId, String artifactId, String version,
+ String type, String downloadUrl, List path )
+ {
+ StringBuffer sb = new StringBuffer( message );
+
+ if ( downloadUrl != null && !"pom".equals( type ) )
+ {
+ sb.append( LS );
+ sb.append( LS );
+ sb.append( indentation );
+ sb.append( "Try downloading the file manually from" );
+ sb.append( LS );
+ sb.append( indentation );
+ sb.append( " " );
+ sb.append( downloadUrl );
+ sb.append( LS );
+ sb.append( LS );
+ sb.append( indentation );
+ sb.append( "Then, install it using the command: " );
+ sb.append( LS );
+ sb.append( indentation );
+ sb.append( " mvn install:install-file -DgroupId=" );
+ sb.append( groupId );
+ sb.append( " -DartifactId=" );
+ sb.append( artifactId );
+ sb.append( " \\\n");
+ sb.append( indentation );
+ sb.append( " " );
+ sb.append( "-Dversion=" );
+ sb.append( version );
+ sb.append( " -Dpackaging=" );
+ sb.append( type );
+ sb.append( " -Dfile=/path/to/file" );
+ sb.append( LS );
+ }
+
+ sb.append( constructArtifactPath( path, indentation ) );
+ sb.append( LS );
+
+ return sb.toString();
+ }
+
public String getArtifactPath()
{
return path;
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java?rev=379369&r1=379368&r2=379369&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java Mon Feb 20 22:23:57 2006
@@ -28,7 +28,12 @@
extends AbstractArtifactResolutionException
{
private String downloadUrl;
-
+
+ protected ArtifactNotFoundException( String message, Artifact artifact, List remoteRepositories )
+ {
+ super( message, artifact, remoteRepositories );
+ }
+
public ArtifactNotFoundException( String message, Artifact artifact )
{
this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), null,
@@ -44,7 +49,7 @@
public ArtifactNotFoundException( String message, String groupId, String artifactId, String version, String type,
List remoteRepositories, String downloadUrl, List path, Throwable t )
{
- super( constructMessage( message, groupId, artifactId, version, type, downloadUrl, path ), groupId, artifactId,
+ super( constructMissingArtifactMessage( message, "", groupId, artifactId, version, type, downloadUrl, path ), groupId, artifactId,
version, type, remoteRepositories, null, t );
this.downloadUrl = downloadUrl;
@@ -53,42 +58,10 @@
private ArtifactNotFoundException( String message, String groupId, String artifactId, String version, String type,
List remoteRepositories, String downloadUrl, List path )
{
- super( constructMessage( message, groupId, artifactId, version, type, downloadUrl, path ), groupId, artifactId,
+ super( constructMissingArtifactMessage( message, "", groupId, artifactId, version, type, downloadUrl, path ), groupId, artifactId,
version, type, remoteRepositories, null );
this.downloadUrl = downloadUrl;
- }
-
- private static String constructMessage( String message, String groupId, String artifactId, String version,
- String type, String downloadUrl, List path )
- {
- StringBuffer sb = new StringBuffer( message );
-
- if ( downloadUrl != null && !"pom".equals( type ) )
- {
- sb.append( LS );
- sb.append( LS );
- sb.append( "Try downloading the file manually from" );
- sb.append( LS );
- sb.append( " " );
- sb.append( downloadUrl );
- sb.append( LS );
- sb.append( "and install it using the command: " );
- sb.append( LS );
- sb.append( " mvn install:install-file -DgroupId=" );
- sb.append( groupId );
- sb.append( " -DartifactId=" );
- sb.append( artifactId );
- sb.append( " -Dversion=" );
- sb.append( version );
- sb.append( " -Dpackaging=" );
- sb.append( type );
- sb.append( " -Dfile=/path/to/file" );
- }
-
- sb.append( constructArtifactPath( path ) );
- sb.append( LS );
- return sb.toString();
}
public String getDownloadUrl()
Added: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java?rev=379369&view=auto
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java (added)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java Mon Feb 20 22:23:57 2006
@@ -0,0 +1,51 @@
+package org.apache.maven.artifact.resolver;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.maven.artifact.Artifact;
+
+public class MultipleArtifactsNotFoundException
+ extends ArtifactResolutionException
+{
+
+ public MultipleArtifactsNotFoundException( Artifact originatingArtifact, List artifacts, List remoteRepositories )
+ {
+ super( constructMessage( artifacts ), originatingArtifact, remoteRepositories );
+ }
+
+ private static String constructMessage( List artifacts )
+ {
+ StringBuffer buffer = new StringBuffer();
+
+ int size = artifacts.size();
+
+ buffer.append( size ).append( " required artifact" );
+
+ if ( size > 1 )
+ {
+ buffer.append( "s" );
+ }
+
+ buffer.append( " missing:\n" );
+
+ int counter = 0;
+
+ for ( Iterator i = artifacts.iterator(); i.hasNext(); )
+ {
+ Artifact artifact = (Artifact) i.next();
+ String message = "\n" + ( ++counter ) + ") " + artifact.getId();
+
+ buffer.append( constructMissingArtifactMessage( message, " ", artifact.getGroupId(), artifact
+ .getArtifactId(), artifact.getVersion(), artifact.getType(), artifact.getDownloadUrl(), artifact
+ .getDependencyTrail() ) );
+
+ buffer.append( "\n" );
+ }
+
+ buffer.append( "\nfor the artifact:" );
+
+ return buffer.toString();
+ }
+
+}
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/MultipleArtifactsNotFoundException.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"