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

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

commit 142c31b226c9c0477e1b4db2733e85e4dcd6808a
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Sun May 2 13:19:54 2021 +0200

    [MRESOLVER-177] Move pre-/post-processing of metadata from ResolveTask to 
DefaultMetadataResolver
    
    Move out from ResolveTask the read/write of resolver-status.properties
    file, perform those serially in caller thread context instead.
    
    This closes #104
---
 .../internal/impl/DefaultMetadataResolver.java     | 32 +++++++++++-----------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
index 4fe065a..88899fd 100644
--- 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
+++ 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
@@ -321,6 +321,9 @@ public class DefaultMetadataResolver
                         
session.getLocalRepositoryManager().getPathForRemoteMetadata(
                                 metadata, request.getRepository(), 
request.getRequestContext() ) );
 
+                metadataDownloading(
+                        session, trace, result.getRequest().getMetadata(), 
result.getRequest().getRepository() );
+
                 ResolveTask task =
                     new ResolveTask( session, trace, result, installFile, 
checks, policy.getChecksumPolicy() );
                 tasks.add( task );
@@ -354,6 +357,19 @@ public class DefaultMetadataResolver
 
                 for ( ResolveTask task : tasks )
                 {
+                    /*
+                     * NOTE: Touch after registration with local repo to 
ensure concurrent resolution is not
+                     * rejected with "already updated" via session data when 
actual update to local repo is
+                     * still pending.
+                     */
+                    for ( UpdateCheck<Metadata, MetadataTransferException> 
check : task.checks )
+                    {
+                        updateCheckManager.touchMetadata( task.session, 
check.setException( task.exception ) );
+                    }
+
+                    metadataDownloaded( session, task.trace, 
task.request.getMetadata(), task.request.getRepository(),
+                            task.metadataFile, task.exception );
+
                     task.result.setException( task.exception );
                 }
             }
@@ -513,7 +529,6 @@ public class DefaultMetadataResolver
     class ResolveTask
         implements Runnable
     {
-
         final RepositorySystemSession session;
 
         final RequestTrace trace;
@@ -548,8 +563,6 @@ public class DefaultMetadataResolver
             Metadata metadata = request.getMetadata();
             RemoteRepository requestRepository = request.getRepository();
 
-            metadataDownloading( session, trace, metadata, requestRepository );
-
             try
             {
                 List<RemoteRepository> repositories = new ArrayList<>();
@@ -593,19 +606,6 @@ public class DefaultMetadataResolver
             {
                 exception = new MetadataTransferException( metadata, 
requestRepository, e );
             }
-
-            /*
-             * NOTE: Touch after registration with local repo to ensure 
concurrent resolution is not rejected with
-             * "already updated" via session data when actual update to local 
repo is still pending.
-             */
-            for ( UpdateCheck<Metadata, MetadataTransferException> check : 
checks )
-            {
-                updateCheckManager.touchMetadata( session, check.setException( 
exception ) );
-            }
-
-            metadataDownloaded( session, trace, metadata, requestRepository, 
metadataFile, exception );
         }
-
     }
-
 }

Reply via email to