You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2013/03/30 07:06:35 UTC
git commit: [MNG-5456] Incorrect exception handling in parallel build
Updated Branches:
refs/heads/master eb164f514 -> 973673721
[MNG-5456] Incorrect exception handling in parallel build
Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/97367372
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/97367372
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/97367372
Branch: refs/heads/master
Commit: 973673721b138e8dde68997fe198dff1417c2299
Parents: eb164f5
Author: Kristian Rosenvold <kr...@gmail.com>
Authored: Sat Mar 30 07:00:05 2013 +0100
Committer: Kristian Rosenvold <kr...@gmail.com>
Committed: Sat Mar 30 07:00:05 2013 +0100
----------------------------------------------------------------------
.../main/java/org/apache/maven/DefaultMaven.java | 28 +++++++-------
.../internal/LifecycleThreadedBuilder.java | 5 ++-
2 files changed, 18 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven/blob/97367372/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
index 070b7f7..c80134f 100644
--- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
+++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
@@ -171,17 +171,17 @@ public class DefaultMaven
}
catch ( OutOfMemoryError e )
{
- result = processResult( new DefaultMavenExecutionResult(), e );
+ result = addExceptionToResult(new DefaultMavenExecutionResult(), e);
}
catch ( MavenExecutionRequestPopulationException e )
{
- result = processResult( new DefaultMavenExecutionResult(), e );
+ result = addExceptionToResult(new DefaultMavenExecutionResult(), e);
}
catch ( RuntimeException e )
{
result =
- processResult( new DefaultMavenExecutionResult(),
- new InternalErrorException( "Internal error: " + e, e ) );
+ addExceptionToResult(new DefaultMavenExecutionResult(),
+ new InternalErrorException("Internal error: " + e, e));
}
finally
{
@@ -211,7 +211,7 @@ public class DefaultMaven
}
catch ( LocalRepositoryNotAccessibleException e )
{
- return processResult( result, e );
+ return addExceptionToResult(result, e);
}
DelegatingLocalArtifactRepository delegatingLocalArtifactRepository =
@@ -233,7 +233,7 @@ public class DefaultMaven
}
catch ( MavenExecutionException e )
{
- return processResult( result, e );
+ return addExceptionToResult(result, e);
}
eventCatapult.fire( ExecutionEvent.Type.ProjectDiscoveryStarted, session, null );
@@ -249,7 +249,7 @@ public class DefaultMaven
}
catch ( ProjectBuildingException e )
{
- return processResult( result, e );
+ return addExceptionToResult(result, e);
}
session.setProjects( projects );
@@ -275,7 +275,7 @@ public class DefaultMaven
}
catch ( org.apache.maven.DuplicateProjectException e )
{
- return processResult( result, e );
+ return addExceptionToResult(result, e);
}
repoSession.setReadOnly();
@@ -292,7 +292,7 @@ public class DefaultMaven
}
catch ( MavenExecutionException e )
{
- return processResult( result, e );
+ return addExceptionToResult(result, e);
}
finally
{
@@ -315,15 +315,15 @@ public class DefaultMaven
ProjectCycleException error = new ProjectCycleException( message, e );
- return processResult( result, error );
+ return addExceptionToResult(result, error);
}
catch ( DuplicateProjectException e )
{
- return processResult( result, e );
+ return addExceptionToResult(result, e);
}
catch ( MavenExecutionException e )
{
- return processResult( result, e );
+ return addExceptionToResult(result, e);
}
result.setTopologicallySortedProjects( session.getProjects() );
@@ -339,7 +339,7 @@ public class DefaultMaven
if ( session.getResult().hasExceptions() )
{
- return processResult( result, session.getResult().getExceptions().get( 0 ) );
+ return addExceptionToResult(result, session.getResult().getExceptions().get(0));
}
return result;
@@ -592,7 +592,7 @@ public class DefaultMaven
return lifecycleListeners;
}
- private MavenExecutionResult processResult( MavenExecutionResult result, Throwable e )
+ private MavenExecutionResult addExceptionToResult(MavenExecutionResult result, Throwable e)
{
if ( !result.getExceptions().contains( e ) )
{
http://git-wip-us.apache.org/repos/asf/maven/blob/97367372/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleThreadedBuilder.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleThreadedBuilder.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleThreadedBuilder.java
index aa95f2a..dbd3f4f 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleThreadedBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleThreadedBuilder.java
@@ -78,7 +78,8 @@ public class LifecycleThreadedBuilder
}
catch ( Exception e )
{
- break; // Why are we just ignoring this exception? Are exceptions are being used for flow control
+ session.getResult().addException(e);
+ break;
}
}
@@ -125,10 +126,12 @@ public class LifecycleThreadedBuilder
}
catch ( InterruptedException e )
{
+ rootSession.getResult().addException(e);
break;
}
catch ( ExecutionException e )
{
+ rootSession.getResult().addException(e);
break;
}
}