You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/10/16 13:39:40 UTC
svn commit: r825852 - in /maven/maven-3/trunk:
maven-core/src/main/java/org/apache/maven/
maven-core/src/main/java/org/apache/maven/plugin/
maven-core/src/main/java/org/apache/maven/plugin/prefix/
maven-core/src/main/java/org/apache/maven/plugin/prefix...
Author: bentmann
Date: Fri Oct 16 11:39:40 2009
New Revision: 825852
URL: http://svn.apache.org/viewvc?rev=825852&view=rev
Log:
o Improved some exception messages
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=825852&r1=825851&r2=825852&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Fri Oct 16 11:39:40 2009
@@ -92,6 +92,18 @@
public MavenExecutionResult execute( MavenExecutionRequest request )
{
+ try
+ {
+ return doExecute( request );
+ }
+ catch ( OutOfMemoryError e )
+ {
+ return processResult( new DefaultMavenExecutionResult(), e );
+ }
+ }
+
+ private MavenExecutionResult doExecute( MavenExecutionRequest request )
+ {
//TODO: Need a general way to inject standard properties
if ( request.getStartTime() != null )
{
@@ -133,10 +145,6 @@
{
return processResult( result, e );
}
- catch ( MavenExecutionException e )
- {
- return processResult( result, e );
- }
session.setProjects( projects );
@@ -286,7 +294,7 @@
}
private List<MavenProject> getProjectsForMavenReactor( MavenExecutionRequest request )
- throws MavenExecutionException, ProjectBuildingException
+ throws ProjectBuildingException
{
List<MavenProject> projects = new ArrayList<MavenProject>();
@@ -348,7 +356,7 @@
}
private void collectProjects( List<MavenProject> projects, List<File> files, MavenExecutionRequest request )
- throws MavenExecutionException, ProjectBuildingException
+ throws ProjectBuildingException
{
ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest();
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java?rev=825852&r1=825851&r2=825852&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java Fri Oct 16 11:39:40 2009
@@ -42,13 +42,13 @@
public PluginExecutionException( MojoExecution mojoExecution, MavenProject project, Exception cause )
{
- super( mojoExecution.getMojoDescriptor(), project, constructMessage( cause ), cause );
+ super( mojoExecution.getMojoDescriptor(), project, constructMessage( mojoExecution, cause ), cause );
this.mojoExecution = mojoExecution;
}
public PluginExecutionException( MojoExecution mojoExecution, MavenProject project, DuplicateArtifactAttachmentException cause )
{
- super( mojoExecution.getMojoDescriptor(), project, constructMessage( cause ), cause );
+ super( mojoExecution.getMojoDescriptor(), project, constructMessage( mojoExecution, cause ), cause );
this.mojoExecution = mojoExecution;
}
@@ -57,16 +57,31 @@
return mojoExecution;
}
- private static String constructMessage( Throwable cause )
+ private static String constructMessage( MojoExecution mojoExecution, Throwable cause )
{
+ String message;
+
+ if ( mojoExecution != null )
+ {
+ message =
+ "Execution " + mojoExecution.getExecutionId() + " of goal " + mojoExecution.getMojoDescriptor().getId()
+ + " failed";
+ }
+ else
+ {
+ message = "Mojo execution failed";
+ }
+
if ( cause != null )
{
- return "Mojo execution failed: " + cause.getMessage();
+ message = ": " + cause.getMessage();
}
else
{
- return "Mojo execution failed.";
+ message += ".";
}
+
+ return message;
}
}
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java?rev=825852&r1=825851&r2=825852&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java Fri Oct 16 11:39:40 2009
@@ -32,11 +32,42 @@
private List<ArtifactRepository> remoteRepositories;
- public NoPluginFoundForPrefixException( String prefix, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ public NoPluginFoundForPrefixException( String prefix, List<String> pluginGroups,
+ ArtifactRepository localRepository,
+ List<ArtifactRepository> remoteRepositories )
{
- super( "No plugin found for prefix '" + prefix + "'" );
+ super( "No plugin found for prefix '" + prefix + "' in the current project and in the plugin groups "
+ + pluginGroups + " available from the repositories " + format( localRepository, remoteRepositories ) );
this.prefix = prefix;
this.localRepository = localRepository;
- this.remoteRepositories = remoteRepositories;
+ this.remoteRepositories = remoteRepositories;
}
+
+ private static String format( ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ {
+ String repos = "[";
+
+ if ( localRepository != null )
+ {
+ repos += localRepository.getId() + " (" + localRepository.getBasedir() + ")";
+ }
+
+ if ( remoteRepositories != null && !remoteRepositories.isEmpty() )
+ {
+ repos += ", ";
+
+ for ( ArtifactRepository repository : remoteRepositories )
+ {
+ if ( repository != null )
+ {
+ repos += repository.getId() + " (" + repository.getUrl() + ")";
+ }
+ }
+ }
+
+ repos += "]";
+
+ return repos;
+ }
+
}
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java?rev=825852&r1=825851&r2=825852&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java Fri Oct 16 11:39:40 2009
@@ -76,7 +76,8 @@
if ( result == null )
{
- throw new NoPluginFoundForPrefixException( request.getPrefix(), request.getLocalRepository(),
+ throw new NoPluginFoundForPrefixException( request.getPrefix(), request.getPluginGroups(),
+ request.getLocalRepository(),
request.getRemoteRepositories() );
}
}
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java?rev=825852&r1=825851&r2=825852&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java Fri Oct 16 11:39:40 2009
@@ -19,8 +19,9 @@
* under the License.
*/
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.repository.legacy.metadata.ArtifactMetadataRetrievalException;
+import java.util.List;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
public class PluginVersionResolutionException
extends Exception
@@ -33,34 +34,27 @@
public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage, Throwable cause )
{
- super( "Error resolving version for \'" + groupId + ":" + artifactId + "\': " + baseMessage, cause );
-
- this.groupId = groupId;
- this.artifactId = artifactId;
- this.baseMessage = baseMessage;
- }
-
- public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage, ArtifactMetadataRetrievalException cause )
- {
- super( "Error resolving version for \'" + groupId + ":" + artifactId + "\': " + baseMessage, cause );
+ super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\': " + baseMessage, cause );
this.groupId = groupId;
this.artifactId = artifactId;
this.baseMessage = baseMessage;
}
- public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage, InvalidVersionSpecificationException cause )
+ public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage )
{
- super( "Error resolving version for \'" + groupId + ":" + artifactId + "\': " + baseMessage, cause );
+ super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\': " + baseMessage );
this.groupId = groupId;
this.artifactId = artifactId;
this.baseMessage = baseMessage;
}
- public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage )
+ public PluginVersionResolutionException( String groupId, String artifactId, ArtifactRepository localRepository,
+ List<ArtifactRepository> remoteRepositories, String baseMessage )
{
- super( "Error resolving version for \'" + groupId + ":" + artifactId + "\': " + baseMessage );
+ super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\' from the repositories "
+ + format( localRepository, remoteRepositories ) + ": " + baseMessage );
this.groupId = groupId;
this.artifactId = artifactId;
@@ -82,4 +76,31 @@
return baseMessage;
}
+ private static String format( ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ {
+ String repos = "[";
+
+ if ( localRepository != null )
+ {
+ repos += localRepository.getId() + " (" + localRepository.getBasedir() + ")";
+ }
+
+ if ( remoteRepositories != null && !remoteRepositories.isEmpty() )
+ {
+ repos += ", ";
+
+ for ( ArtifactRepository repository : remoteRepositories )
+ {
+ if ( repository != null )
+ {
+ repos += repository.getId() + " (" + repository.getUrl() + ")";
+ }
+ }
+ }
+
+ repos += "]";
+
+ return repos;
+ }
+
}
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java?rev=825852&r1=825851&r2=825852&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java Fri Oct 16 11:39:40 2009
@@ -149,7 +149,8 @@
if ( StringUtils.isEmpty( result.getVersion() ) )
{
throw new PluginVersionResolutionException( request.getGroupId(), request.getArtifactId(),
- "Plugin not found in any repository" );
+ request.getLocalRepository(), request.getRemoteRepositories(),
+ "Plugin not found in any plugin repository" );
}
return result;
Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=825852&r1=825851&r2=825852&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Fri Oct 16 11:39:40 2009
@@ -470,6 +470,17 @@
else
{
logger.error( es.getMessage() );
+ logger.error( "To see the full stack trace of the error, re-run Maven with the -e switch." );
+ }
+
+ logger.error( "Re-run Maven using the -X switch to enable full debug logging." );
+
+ if ( StringUtils.isNotEmpty( es.getReference() ) )
+ {
+ logger.error( "" );
+ logger.error( "For more information about the error and possible solutions"
+ + ", please try the following article:" );
+ logger.error( " " + es.getReference() );
}
}