Make sure participants and session scope exit are called

Even in case of failing build.

Signed-off-by: Jason van Zyl <jason@tesla.io>
This commit is contained in:
Tamas Cservenak 2014-05-30 15:26:54 +02:00 committed by Jason van Zyl
parent 73d35ba959
commit 18964baa25
1 changed files with 31 additions and 33 deletions

View File

@ -336,47 +336,45 @@ public class DefaultMaven
//
projectDependencyGraph = createProjectDependencyGraph( session.getProjects(), request, result, false );
if ( result.hasExceptions() )
try
{
try
if ( result.hasExceptions() )
{
return result;
}
session.setProjects( projectDependencyGraph.getSortedProjects() );
session.setProjectDependencyGraph( projectDependencyGraph );
result.setTopologicallySortedProjects( session.getProjects() );
result.setProject( session.getTopLevelProject() );
lifecycleStarter.execute( session );
validateActivatedProfiles( session.getProjects(), request.getActiveProfiles() );
if ( session.getResult().hasExceptions() )
{
return addExceptionToResult( result, session.getResult().getExceptions().get( 0 ) );
}
}
finally
{
try
{
afterSessionEnd( projects, session );
}
}
catch ( MavenExecutionException e )
{
return addExceptionToResult( result, e );
}
return result;
finally
{
sessionScope.exit();
}
}
session.setProjects( projectDependencyGraph.getSortedProjects() );
session.setProjectDependencyGraph( projectDependencyGraph );
result.setTopologicallySortedProjects( session.getProjects() );
result.setProject( session.getTopLevelProject() );
lifecycleStarter.execute( session );
validateActivatedProfiles( session.getProjects(), request.getActiveProfiles() );
if ( session.getResult().hasExceptions() )
{
return addExceptionToResult( result, session.getResult().getExceptions().get( 0 ) );
}
try
{
afterSessionEnd( projects, session );
}
catch ( MavenExecutionException e )
{
return addExceptionToResult( result, e );
}
sessionScope.exit();
return result;
}