You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ah...@apache.org on 2015/04/01 02:23:44 UTC

[02/50] [abbrv] maven git commit: exit session scope in finally {} block

exit session scope in finally {} block

Signed-off-by: Igor Fedorenko <if...@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 <if...@apache.org>
Authored: Sat Feb 14 08:56:22 2015 -0500
Committer: Igor Fedorenko <if...@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;