From 8fe681190eeffad79e8ebe122be421352f5fcb7c Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 3 Mar 2023 12:31:05 +0100 Subject: [PATCH] Synchronise archives download --- src/org/argeo/build/Repackage.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/org/argeo/build/Repackage.java b/src/org/argeo/build/Repackage.java index 037ddbd..c6919d7 100644 --- a/src/org/argeo/build/Repackage.java +++ b/src/org/argeo/build/Repackage.java @@ -941,8 +941,11 @@ public class Repackage { return download(url, dir, (String) null); } - /** Effectively download. */ - protected Path download(URL url, Path dir, String name) throws IOException { + /** + * Effectively download. Synchronized in order to avoid downloading twice in + * parallel. + */ + protected synchronized Path download(URL url, Path dir, String name) throws IOException { Path dest; if (name == null) { @@ -951,6 +954,7 @@ public class Repackage { dest = dir.resolve(name); if (Files.exists(dest)) { + // FIXME If new archives have the same name (e.g. nebula-latest.zip) they will be skipped logger.log(Level.TRACE, () -> "File " + dest + " already exists for " + url + ", not downloading again"); return dest; } else { -- 2.39.2