gnodet commented on a change in pull request #533:
URL: https://github.com/apache/maven/pull/533#discussion_r707066143



##########
File path: 
maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
##########
@@ -387,6 +404,36 @@ private PluginVersionResult resolveFromProject( 
PluginVersionRequest request, Li
         return null;
     }
 
+    @SuppressWarnings( "unchecked" )
+    private Map<String, PluginVersionResult> getCache( SessionData data )
+    {
+        Map<String, PluginVersionResult> cache = ( Map<String, 
PluginVersionResult> ) data.get( CACHE_KEY );
+        while ( cache == null )
+        {
+            cache = new ConcurrentHashMap<>( 256 );
+            if ( data.set( CACHE_KEY, null, cache ) )
+            {
+                break;
+            }
+            cache = ( Map<String, PluginVersionResult> ) data.get( CACHE_KEY );
+        }
+        return cache;
+    }
+
+    private static String getKey( PluginVersionRequest request )
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.append( request.getGroupId() );
+        sb.append( ':' );
+        sb.append( request.getArtifactId() );
+        for ( RemoteRepository repository : request.getRepositories() )

Review comment:
       I've slightly changed the behavior to hit the cache after a possible POM 
resolution.  The effect is basically the same since maven itself does not use 
POM resolution from the request.  I've kept the key to include the 
repositories, which sounds better given the actual request input params.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to