exit session scope in finally {} block Signed-off-by: Igor Fedorenko <ifedore...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/e2a07928 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/e2a07928 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/e2a07928 Branch: refs/heads/slf4j-log4j2 Commit: e2a07928401270bc1dc5fbc97c88d975f91861ee Parents: 6b79ac5 Author: Igor Fedorenko <ifedore...@apache.org> Authored: Sat Feb 14 08:56:22 2015 -0500 Committer: Igor Fedorenko <ifedore...@apache.org> Committed: Fri Feb 20 10:26:15 2015 -0500 ---------------------------------------------------------------------- .../java/org/apache/maven/DefaultMaven.java | 29 +++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven/blob/e2a07928/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 83d6f4f..385ff74 100644 --- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java +++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java @@ -170,19 +170,32 @@ public class DefaultMaven return addExceptionToResult( result, e ); } - DefaultRepositorySystemSession repoSession = (DefaultRepositorySystemSession) newRepositorySession( request ); - - MavenSession session = new MavenSession( container, repoSession, request, result ); - // // We enter the session scope right after the MavenSession creation and before any of the AbstractLifecycleParticipant lookups // so that @SessionScoped components can be @Injected into AbstractLifecycleParticipants. // sessionScope.enter(); - sessionScope.seed( MavenSession.class, session ); + try + { + DefaultRepositorySystemSession repoSession = + (DefaultRepositorySystemSession) newRepositorySession( request ); + MavenSession session = new MavenSession( container, repoSession, request, result ); - legacySupport.setSession( session ); + sessionScope.seed( MavenSession.class, session ); + + legacySupport.setSession( session ); + + return doExecute( request, session, result, repoSession ); + } + finally + { + sessionScope.exit(); + } + } + private MavenExecutionResult doExecute( MavenExecutionRequest request, MavenSession session, + MavenExecutionResult result, DefaultRepositorySystemSession repoSession ) + { try { for ( AbstractMavenLifecycleParticipant listener : getLifecycleParticipants( Collections.<MavenProject>emptyList() ) ) @@ -321,10 +334,6 @@ public class DefaultMaven { return addExceptionToResult( result, e ); } - finally - { - sessionScope.exit(); - } } return result;