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

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


The following commit(s) were added to refs/heads/master by this push:
     new 01ebbe5  [MRESOLVER-177] Move pre-/post-processing of metadata from 
ResolveTask to DefaultMetadataResolver
01ebbe5 is described below

commit 01ebbe52c6dc5552649a1d633b6ac32c223ed60f
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 cd217b5..8774364 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
@@ -323,6 +323,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 );
@@ -356,6 +359,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 );
                 }
             }
@@ -515,7 +531,6 @@ public class DefaultMetadataResolver
     class ResolveTask
         implements Runnable
     {
-
         final RepositorySystemSession session;
 
         final RequestTrace trace;
@@ -550,8 +565,6 @@ public class DefaultMetadataResolver
             Metadata metadata = request.getMetadata();
             RemoteRepository requestRepository = request.getRepository();
 
-            metadataDownloading( session, trace, metadata, requestRepository );
-
             try
             {
                 List<RemoteRepository> repositories = new ArrayList<>();
@@ -595,19 +608,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