You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2019/04/27 16:23:37 UTC

[maven] 05/05: [MNG-6632] - Remember artifact handlers after they've been used once

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

hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 1e03388d5bd3b84b1c637fbb06010a00834cfa4b
Author: Stefan Oehme <st...@gmail.com>
AuthorDate: Wed Apr 10 11:40:56 2019 +0200

    [MNG-6632] - Remember artifact handlers after they've been used once
    
    Otherwise we have to go through the whole sisu engine again,
    which is very slow, because it does a linear scan.
---
 .../handler/manager/DefaultArtifactHandlerManager.java         | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
index 9394132..a4b2f44 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
@@ -39,11 +39,11 @@ public class DefaultArtifactHandlerManager
     @Requirement( role = ArtifactHandler.class )
     private Map<String, ArtifactHandler> artifactHandlers;
 
-    private Map<String, ArtifactHandler> unmanagedHandlers = new ConcurrentHashMap<>();
+    private Map<String, ArtifactHandler> allHandlers = new ConcurrentHashMap<>();
 
     public ArtifactHandler getArtifactHandler( String type )
     {
-        ArtifactHandler handler = unmanagedHandlers.get( type );
+        ArtifactHandler handler = allHandlers.get( type );
 
         if ( handler == null )
         {
@@ -53,6 +53,10 @@ public class DefaultArtifactHandlerManager
             {
                 handler = new DefaultArtifactHandler( type );
             }
+            else
+            {
+                allHandlers.put( type, handler );
+            }
         }
 
         return handler;
@@ -61,7 +65,7 @@ public class DefaultArtifactHandlerManager
     public void addHandlers( Map<String, ArtifactHandler> handlers )
     {
         // legacy support for maven-gpg-plugin:1.0
-        unmanagedHandlers.putAll( handlers );
+        allHandlers.putAll( handlers );
     }
 
     @Deprecated