Repository: maven Updated Branches: refs/heads/MNG-6209_multiple-build-extensions [created] 53a2af8ee
MNG-6209 better executeMojo thread context classloader 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/53a2af8e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/53a2af8e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/53a2af8e Branch: refs/heads/MNG-6209_multiple-build-extensions Commit: 53a2af8ee11fc3f4aa829193b99cde95a3f04735 Parents: 6a93bbe Author: Igor Fedorenko <ifedore...@apache.org> Authored: Tue Apr 11 07:59:34 2017 -0700 Committer: Igor Fedorenko <ifedore...@apache.org> Committed: Tue Apr 11 08:00:26 2017 -0700 ---------------------------------------------------------------------- .../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/53a2af8e/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();