From 61eb5d065c81e28a9811f13a5be368c6ec584032 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Mon, 20 Mar 2023 07:47:24 +0100 Subject: [PATCH] Environment variable to run repackaging sequentially --- src/org/argeo/build/Repackage.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/org/argeo/build/Repackage.java b/src/org/argeo/build/Repackage.java index 780fddf..8a1a809 100644 --- a/src/org/argeo/build/Repackage.java +++ b/src/org/argeo/build/Repackage.java @@ -76,12 +76,16 @@ public class Repackage { * integrated in the bundles. */ final static String ENV_SOURCE_BUNDLES = "SOURCE_BUNDLES"; + /** Environment variable on whether operations should be parallelised. */ + final static String ENV_ARGEO_BUILD_SEQUENTIAL = "ARGEO_BUILD_SEQUENTIAL"; - /** Whether repackaging should run in parallel or sequentially. */ - final static boolean parallel = true; + /** Whether repackaging should run in parallel (default) or sequentially. */ + final static boolean sequential = Boolean.parseBoolean(System.getenv(ENV_ARGEO_BUILD_SEQUENTIAL)); /** Main entry point. */ public static void main(String[] args) { + if (sequential) + logger.log(INFO, "Build will be sequential"); if (args.length < 2) { System.err.println("Usage: ..."); System.exit(1); @@ -93,12 +97,13 @@ public class Repackage { List> toDos = new ArrayList<>(); for (int i = 1; i < args.length; i++) { Path p = Paths.get(args[i]); - if (parallel) - toDos.add(CompletableFuture.runAsync(() -> factory.processCategory(p))); - else + if (sequential) factory.processCategory(p); + else + toDos.add(CompletableFuture.runAsync(() -> factory.processCategory(p))); } - CompletableFuture.allOf(toDos.toArray(new CompletableFuture[toDos.size()])).join(); + if (!sequential) + CompletableFuture.allOf(toDos.toArray(new CompletableFuture[toDos.size()])).join(); // Summary StringBuilder sb = new StringBuilder(); -- 2.30.2