496492 fixed MavenExecutionContext#executeBare does not reset thread context classloader
Change-Id: I5ea0fc9aebc1e2329214785123153db49f0cdaa1
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExecutionContext.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExecutionContext.java
index 6d53f5a..b143101 100644
--- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExecutionContext.java
+++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExecutionContext.java
@@ -168,6 +168,7 @@
.createArtifactTransferListener(monitor));
final MavenProject origProject = mavenSession.getCurrentProject();
final List<MavenProject> origProjects = mavenSession.getProjects();
+ final ClassLoader origTCCL = Thread.currentThread().getContextClassLoader();
try {
if(project != null) {
mavenSession.setCurrentProject(project);
@@ -175,6 +176,7 @@
}
return callable.call(this, monitor);
} finally {
+ Thread.currentThread().setContextClassLoader(origTCCL);
repositorySession.setTransferListener(origTransferListener);
if(project != null) {
mavenSession.setCurrentProject(origProject);