I didn't want to change interface (ExecutionEvent) for a minor release. But sure I prefer this change too :-)
2010/12/4 <[email protected]>: > Author: bentmann > Date: Sat Dec 4 15:11:01 2010 > New Revision: 1042200 > > URL: http://svn.apache.org/viewvc?rev=1042200&view=rev > Log: > [MNG-4926] ExecutionEvent give on the exception encountered (when having > projectFailed , forkedProjectFailed) > > o Also revised changes for MNG-4922 to follow the same pattern > > Modified: > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuilderCommon.java > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java > > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java > > maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java > Sat Dec 4 15:11:01 2010 > @@ -82,4 +82,11 @@ public interface ExecutionEvent > */ > MojoExecution getMojoExecution(); > > + /** > + * Gets the exception that caused the event (if any). > + * > + * @return The exception or {...@code null} if none. > + */ > + Exception getException(); > + > } > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java > Sat Dec 4 15:11:01 2010 > @@ -1,8 +1,5 @@ > package org.apache.maven.execution; > > -import org.apache.maven.plugin.MojoExecution; > - > - > /* > * Licensed to the Apache Software Foundation (ASF) under one > * or more contributor license agreements. See the NOTICE file > @@ -52,10 +49,6 @@ public interface ExecutionListener > > void mojoSucceeded( ExecutionEvent event ); > > - /** > - * since 3.0.2 {...@link Exception} is in {...@link > MojoExecution#getException()} returned > - * by {...@link ExecutionEvent#getMojoExecution()} > - */ > void mojoFailed( ExecutionEvent event ); > > void forkStarted( ExecutionEvent event ); > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuilderCommon.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuilderCommon.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuilderCommon.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuilderCommon.java > Sat Dec 4 15:11:01 2010 > @@ -134,7 +134,7 @@ public class BuilderCommon > > buildContext.getResult().addBuildSummary( new BuildFailure( > mavenProject, buildEndTime - buildStartTime, e ) ); > > - eventCatapult.fire( ExecutionEvent.Type.ProjectFailed, rootSession, > null ); > + eventCatapult.fire( ExecutionEvent.Type.ProjectFailed, rootSession, > null, e ); > > if ( MavenExecutionRequest.REACTOR_FAIL_NEVER.equals( > rootSession.getReactorFailureBehavior() ) ) > { > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java > Sat Dec 4 15:11:01 2010 > @@ -39,11 +39,14 @@ class DefaultExecutionEvent > > private final MojoExecution mojoExecution; > > - public DefaultExecutionEvent( Type type, MavenSession session, > MojoExecution mojoExecution ) > + private final Exception exception; > + > + public DefaultExecutionEvent( Type type, MavenSession session, > MojoExecution mojoExecution, Exception exception ) > { > this.type = type; > this.session = session; > this.mojoExecution = mojoExecution; > + this.exception = exception; > } > > public Type getType() > @@ -66,4 +69,9 @@ class DefaultExecutionEvent > return mojoExecution; > } > > + public Exception getException() > + { > + return exception; > + } > + > } > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java > Sat Dec 4 15:11:01 2010 > @@ -39,11 +39,17 @@ public class DefaultExecutionEventCatapu > > public void fire( ExecutionEvent.Type eventType, MavenSession session, > MojoExecution mojoExecution ) > { > + fire( eventType, session, mojoExecution, null ); > + } > + > + public void fire( ExecutionEvent.Type eventType, MavenSession session, > MojoExecution mojoExecution, > + Exception exception ) > + { > ExecutionListener listener = > session.getRequest().getExecutionListener(); > > if ( listener != null ) > { > - ExecutionEvent event = new DefaultExecutionEvent( eventType, > session, mojoExecution ); > + ExecutionEvent event = new DefaultExecutionEvent( eventType, > session, mojoExecution, exception ); > > switch ( eventType ) > { > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java > Sat Dec 4 15:11:01 2010 > @@ -35,4 +35,6 @@ public interface ExecutionEventCatapult > > void fire( ExecutionEvent.Type eventType, MavenSession session, > MojoExecution mojoExecution ); > > + void fire( ExecutionEvent.Type eventType, MavenSession session, > MojoExecution mojoExecution, Exception exception ); > + > } > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java > Sat Dec 4 15:11:01 2010 > @@ -215,8 +215,7 @@ public class MojoExecutor > } > catch ( LifecycleExecutionException e ) > { > - mojoExecution.setException( new Exception( e.getCause() ) ); > - eventCatapult.fire( ExecutionEvent.Type.MojoFailed, session, > mojoExecution ); > + eventCatapult.fire( ExecutionEvent.Type.MojoFailed, session, > mojoExecution, e ); > > throw e; > } > @@ -355,7 +354,7 @@ public class MojoExecutor > } > catch ( LifecycleExecutionException e ) > { > - eventCatapult.fire( > ExecutionEvent.Type.ForkedProjectFailed, session, mojoExecution ); > + eventCatapult.fire( > ExecutionEvent.Type.ForkedProjectFailed, session, mojoExecution, e ); > > throw e; > } > @@ -371,7 +370,7 @@ public class MojoExecutor > } > catch ( LifecycleExecutionException e ) > { > - eventCatapult.fire( ExecutionEvent.Type.ForkFailed, session, > mojoExecution ); > + eventCatapult.fire( ExecutionEvent.Type.ForkFailed, session, > mojoExecution, e ); > > throw e; > } > > Modified: > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java > Sat Dec 4 15:11:01 2010 > @@ -39,11 +39,6 @@ public class MojoExecution > private MojoDescriptor mojoDescriptor; > > private Xpp3Dom configuration; > - > - /** > - * @since 3.0.2 > - */ > - private Exception exception; > > /** > * Describes the source of an execution. > @@ -239,23 +234,4 @@ public class MojoExecution > this.forkedExecutions.put( projectKey, forkedExecutions ); > } > > - /** > - * @since 3.0.2 > - * @return {...@link Exception} encountered during the execution > - */ > - public Exception getException() > - { > - return exception; > - } > - > - /** > - * @since 3.0.2 > - * @param exception > - */ > - public MojoExecution setException( Exception exception ) > - { > - this.exception = exception; > - return this; > - } > - > } > > Modified: > maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java?rev=1042200&r1=1042199&r2=1042200&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java > (original) > +++ > maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java > Sat Dec 4 15:11:01 2010 > @@ -35,4 +35,8 @@ public class ExecutionEventCatapultStub > { > } > > + public void fire( Type eventType, MavenSession session, MojoExecution > mojoExecution, Exception exception ) > + { > + } > + > } > > > -- Olivier Lamy http://twitter.com/olamy http://www.linkedin.com/in/olamy --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
