@@ -323,6 +323,9 @@ else if ( exception == null )
323
323
session .getLocalRepositoryManager ().getPathForRemoteMetadata (
324
324
metadata , request .getRepository (), request .getRequestContext () ) );
325
325
326
+ metadataDownloading (
327
+ session , trace , result .getRequest ().getMetadata (), result .getRequest ().getRepository () );
328
+
326
329
ResolveTask task =
327
330
new ResolveTask ( session , trace , result , installFile , checks , policy .getChecksumPolicy () );
328
331
tasks .add ( task );
@@ -356,6 +359,19 @@ else if ( exception == null )
356
359
357
360
for ( ResolveTask task : tasks )
358
361
{
362
+ /*
363
+ * NOTE: Touch after registration with local repo to ensure concurrent resolution is not
364
+ * rejected with "already updated" via session data when actual update to local repo is
365
+ * still pending.
366
+ */
367
+ for ( UpdateCheck <Metadata , MetadataTransferException > check : task .checks )
368
+ {
369
+ updateCheckManager .touchMetadata ( task .session , check .setException ( task .exception ) );
370
+ }
371
+
372
+ metadataDownloaded ( session , task .trace , task .request .getMetadata (), task .request .getRepository (),
373
+ task .metadataFile , task .exception );
374
+
359
375
task .result .setException ( task .exception );
360
376
}
361
377
}
@@ -515,7 +531,6 @@ private void shutdown( Executor executor )
515
531
class ResolveTask
516
532
implements Runnable
517
533
{
518
-
519
534
final RepositorySystemSession session ;
520
535
521
536
final RequestTrace trace ;
@@ -550,8 +565,6 @@ public void run()
550
565
Metadata metadata = request .getMetadata ();
551
566
RemoteRepository requestRepository = request .getRepository ();
552
567
553
- metadataDownloading ( session , trace , metadata , requestRepository );
554
-
555
568
try
556
569
{
557
570
List <RemoteRepository > repositories = new ArrayList <>();
@@ -595,19 +608,6 @@ else if ( request.isDeleteLocalCopyIfMissing() && exception instanceof MetadataN
595
608
{
596
609
exception = new MetadataTransferException ( metadata , requestRepository , e );
597
610
}
598
-
599
- /*
600
- * NOTE: Touch after registration with local repo to ensure concurrent resolution is not rejected with
601
- * "already updated" via session data when actual update to local repo is still pending.
602
- */
603
- for ( UpdateCheck <Metadata , MetadataTransferException > check : checks )
604
- {
605
- updateCheckManager .touchMetadata ( session , check .setException ( exception ) );
606
- }
607
-
608
- metadataDownloaded ( session , trace , metadata , requestRepository , metadataFile , exception );
609
611
}
610
-
611
612
}
612
-
613
613
}
0 commit comments