You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2017/05/12 19:49:12 UTC

[08/18] maven git commit: MNG-6209 better executeMojo thread context classloader

MNG-6209 better executeMojo thread context classloader

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/dcc12659
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/dcc12659
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/dcc12659

Branch: refs/heads/MNG-6169_2/not-updated-MJAR-MCOMPILER
Commit: dcc126590da0ec48a82b6cd127c148651754952f
Parents: 5f8bfa7
Author: Igor Fedorenko <if...@apache.org>
Authored: Tue Apr 11 07:59:34 2017 -0700
Committer: Michael Osipov <mi...@apache.org>
Committed: Fri May 12 21:46:04 2017 +0200

----------------------------------------------------------------------
 .../java/org/apache/maven/plugin/DefaultBuildPluginManager.java | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/dcc12659/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
index b4f7a4d..3af1125 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
@@ -106,8 +106,11 @@ public class DefaultBuildPluginManager
             throw new PluginExecutionException( mojoExecution, project, e );
         }
 
+        // use project realm as thread context classloader to enable components from all extensions=true plugins
+        ClassRealm tccl = mojoExecution.getPlugin().isExtensions() ? project.getClassRealm() : pluginRealm;
+
         ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
-        Thread.currentThread().setContextClassLoader( pluginRealm );
+        Thread.currentThread().setContextClassLoader( tccl );
 
         MavenSession oldSession = legacySupport.getSession();