o Polished error reporting

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@800482 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Benjamin Bentmann 2009-08-03 18:08:55 +00:00
parent 62e07ca349
commit b454fb7cb6
6 changed files with 42 additions and 9 deletions

View File

@ -38,6 +38,7 @@
import org.apache.maven.execution.ProjectDependencyGraph;
import org.apache.maven.execution.ProjectSorter;
import org.apache.maven.lifecycle.LifecycleExecutor;
import org.apache.maven.model.building.ModelProblem;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
@ -293,6 +294,27 @@ private void collectProjects( List<MavenProject> projects, List<File> files, Mav
for ( ProjectBuildingResult result : results )
{
projects.add( result.getProject() );
if ( !result.getProblems().isEmpty() && logger.isWarnEnabled() )
{
logger.warn( "" );
logger.warn( "Some problems were encountered while building the effective model for "
+ result.getProject().getId() );
logger.warn( "" );
for ( ModelProblem problem : result.getProblems() )
{
logger.warn( problem.getMessage() + " @ " + problem.getSource() );
}
logger.warn( "" );
logger.warn( "It is highly recommended to fix these problems"
+ " because they threaten the stability of your build." );
logger.warn( "" );
logger.warn( "For this reason, future Maven versions will no"
+ " longer support building such malformed projects." );
logger.warn( "" );
}
}
}

View File

@ -1115,7 +1115,7 @@ private void populateDefaultConfigurationForPlugin( Plugin plugin, ArtifactRepos
}
catch ( PluginNotFoundException e )
{
throw new LifecycleExecutionException( "Error resolving version for plugin " + plugin, e );
throw new LifecycleExecutionException( "Error resolving version for plugin " + plugin.getKey(), e );
}
}

View File

@ -315,8 +315,12 @@ private static String createMessage( List<ProjectBuildingResult> results )
{
for ( ModelProblem problem : result.getProblems() )
{
writer.print( "o " );
writer.println( problem.getMessage() );
writer.print( "[" );
writer.print( problem.getSeverity() );
writer.print( "] " );
writer.print( problem.getMessage() );
writer.print( " @ " );
writer.println( problem.getSource() );
}
}
writer.close();

View File

@ -185,7 +185,10 @@ else if ( debug || commandLine.hasOption( CLIManager.SHOW_VERSION ) )
{
System.out.println( es.getMessage() );
es.getException().printStackTrace();
if ( showErrors )
{
es.getException().printStackTrace();
}
}
if ( MavenExecutionRequest.REACTOR_FAIL_NEVER.equals( request.getReactorFailureBehavior() ) )

View File

@ -510,9 +510,9 @@ private ModelData readParentExternally( Model childModel, ModelBuildingRequest r
catch ( UnresolvableModelException e )
{
problems.add( new ModelProblem( "Non-resolvable parent POM "
+ ModelProblemUtils.toId( groupId, artifactId, version ) + " for POM "
+ ModelProblemUtils.toSourceHint( childModel ) + ": " + e.getMessage(), ModelProblem.Severity.FATAL,
ModelProblemUtils.toSourceHint( childModel ), e ) );
+ ModelProblemUtils.toId( groupId, artifactId, version ) + ": " + e.getMessage(),
ModelProblem.Severity.FATAL, ModelProblemUtils.toSourceHint( childModel ),
e ) );
throw new ModelBuildingException( problems.getProblems() );
}

View File

@ -75,8 +75,12 @@ private static String toMessage( List<ModelProblem> problems )
for ( ModelProblem problem : problems )
{
writer.print( "o " );
writer.println( problem.getMessage() );
writer.print( "[" );
writer.print( problem.getSeverity() );
writer.print( "] " );
writer.print( problem.getMessage() );
writer.print( " @ " );
writer.println( problem.getSource() );
}
return buffer.toString();