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 2021/02/02 17:53:15 UTC

[maven] 01/01: [MNG-6471] Parallel builder should use the module name as thread name

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch MNG-6471
in repository https://gitbox.apache.org/repos/asf/maven.git

commit e3883395411c4864f497f5f884b1b5dab6a80687
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Tue Feb 2 18:52:31 2021 +0100

    [MNG-6471] Parallel builder should use the module name as thread name
    
    This closes #177
---
 .../org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java  | 5 ++++-
 .../org/apache/maven/lifecycle/internal/builder/BuilderCommon.java   | 3 ++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java
index 73839fc..1185107 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java
@@ -85,6 +85,8 @@ public class LifecycleModuleBuilder
         session.setCurrentProject( currentProject );
 
         long buildStartTime = System.currentTimeMillis();
+        final Thread currentThread = Thread.currentThread();
+        final String originalThreadName = currentThread.getName();
 
         // session may be different from rootSession seeded in DefaultMaven
         // explicitly seed the right session here to make sure it is used by Guice
@@ -147,7 +149,8 @@ public class LifecycleModuleBuilder
 
             session.setCurrentProject( null );
 
-            Thread.currentThread().setContextClassLoader( reactorContext.getOriginalContextClassLoader() );
+            currentThread.setName( originalThreadName );
+            currentThread.setContextClassLoader( reactorContext.getOriginalContextClassLoader() );
         }
     }
 }
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
index 2b5d6ec..9b7680c 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
@@ -112,7 +112,7 @@ public class BuilderCommon
         if ( Features.buildConsumer().isActive() )
         {
             Optional<MojoExecution> gpgMojo = executionPlan.getMojoExecutions().stream()
-                            .filter( m -> "maven-gpg-plugin".equals( m.getArtifactId() ) 
+                            .filter( m -> "maven-gpg-plugin".equals( m.getArtifactId() )
                                        && "org.apache.maven.plugins".equals( m.getGroupId() ) )
                             .findAny();
 
@@ -230,6 +230,7 @@ public class BuilderCommon
         {
             Thread.currentThread().setContextClassLoader( projectRealm );
         }
+        Thread.currentThread().setName( "Builder-" + currentProject.getId() );
     }
 
     // TODO I'm really wondering where this method belongs; smells like it should be on MavenProject, but for some