From d77560999818da7fea482950bb663ce6f71cf8a2 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Thu, 13 Feb 2025 14:33:56 +0100 Subject: [PATCH] Include mvn/extensions.xml and jvm.config in CI properties propagation. Closes #105 --- .../infra/InfrastructureOperations.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/springframework/data/release/infra/InfrastructureOperations.java b/src/main/java/org/springframework/data/release/infra/InfrastructureOperations.java index c002bb8..951e777 100644 --- a/src/main/java/org/springframework/data/release/infra/InfrastructureOperations.java +++ b/src/main/java/org/springframework/data/release/infra/InfrastructureOperations.java @@ -24,6 +24,8 @@ import java.io.File; import java.io.FileInputStream; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Properties; @@ -72,20 +74,17 @@ public class InfrastructureOperations extends TimedCommand { * @param iteration */ void distributeCiProperties(TrainIteration iteration) { - distributeFile(iteration, "ci/pipeline.properties", "CI Properties", Predicates.isTrue()); + distributeFiles(iteration, Arrays.asList("ci/pipeline.properties", ".mvn/extensions.xml", ".mvn/jvm.config"), + "CI Properties", Predicates.isTrue()); } void distributeGhWorkflow(TrainIteration iteration) { - distributeFile(iteration, ".github/workflows/project.yml", "GitHub Actions", project -> project != Projects.BOM); + distributeFiles(iteration, Collections.singletonList(".github/workflows/project.yml"), "GitHub Actions", + project -> project != Projects.BOM); } - private void distributeFile(TrainIteration iteration, String file, String description, + private void distributeFiles(TrainIteration iteration, List files, String description, Predicate projectFilter) { - File master = workspace.getFile(file, iteration.getSupportedProject(Projects.BUILD)); - - if (!master.exists()) { - throw new IllegalStateException(String.format("%s file %s does not exist", description, master)); - } ExecutionUtils.run(executor, iteration, module -> { @@ -99,16 +98,22 @@ public class InfrastructureOperations extends TimedCommand { Streamable projects = Streamable.of(iteration.getModulesExcept(Projects.BUILD)) .filter(it -> projectFilter.test(it.getProject())); - verifyExistingFiles(projects, file, description); + for (String file : files) { + verifyExistingFiles(Streamable.of(iteration.getModule(Projects.BUILD)), file, description); + } ExecutionUtils.run(executor, projects, module -> { - File target = workspace.getFile(file, module.getSupportedProject()); - target.delete(); + for (String file : files) { - FileUtils.copyFile(master, target); + File master = workspace.getFile(file, iteration.getSupportedProject(Projects.BUILD)); + File target = workspace.getFile(file, module.getSupportedProject()); + target.delete(); + + FileUtils.copyFile(master, target); + git.add(module.getSupportedProject(), file); + } - git.add(module.getSupportedProject(), file); git.commit(module, String.format("Update %s.", description), Optional.empty(), false); git.push(module); });