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 <[email protected]>
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 );
}
-
}
-
}