From ddd4a542c542fe3b9ff5f1debe3058ded57bab33 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 13 Nov 2024 10:53:14 +0100 Subject: [PATCH] Add command to create branches. Closes #100 --- .../data/release/cli/ReleaseCommands.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/springframework/data/release/cli/ReleaseCommands.java b/src/main/java/org/springframework/data/release/cli/ReleaseCommands.java index 3bc6f61..8f9096c 100644 --- a/src/main/java/org/springframework/data/release/cli/ReleaseCommands.java +++ b/src/main/java/org/springframework/data/release/cli/ReleaseCommands.java @@ -206,14 +206,26 @@ class ReleaseCommands extends TimedCommand { BranchMapping branches = git.createMaintenanceBranches(iteration, true); // Set project version to maintenance once - setupMaintenanceVersions(iteration); - } - } setupMaintenanceVersions(iteration, branches); } } } + @CliCommand(value = "release create-branches") + public void createBranches(@CliOption(key = "", mandatory = true) TrainIteration iteration) throws Exception { + + if (!iteration.getTrain().isAlwaysUseBranch()) { + throw new IllegalArgumentException( + String.format("Cannot create branches as train %s does not use branches.", iteration.getTrain().getCalver())); + } + + // Create bugfix branches + BranchMapping branchMapping = git.createMaintenanceBranches(iteration, false); + + // Set project version to maintenance once + setupMaintenanceVersions(iteration, branchMapping); + } + @CliCommand(value = "release documentation") public void triggerDocumentation(@CliOption(key = "", mandatory = true) TrainIteration iteration, @CliOption(key = "module", mandatory = false) String module) {