This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to branch issue/SLING-12037 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-committer-cli.git
The following commit(s) were added to refs/heads/issue/SLING-12037 by this push: new 00edcce SLING-12037 - Allow overriding the Jira release name 00edcce is described below commit 00edcce1870aee833b43d1a5bb3cc444205f7454 Author: Robert Munteanu <romb...@apache.org> AuthorDate: Fri Sep 22 15:44:46 2023 +0200 SLING-12037 - Allow overriding the Jira release name --- .../cli/impl/release/CreateJiraVersionCommand.java | 17 ++++++++++++++--- .../sling/cli/impl/release/PrepareVoteEmailCommand.java | 13 +++++++++++-- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/apache/sling/cli/impl/release/CreateJiraVersionCommand.java b/src/main/java/org/apache/sling/cli/impl/release/CreateJiraVersionCommand.java index 906d6b4..bb8d842 100644 --- a/src/main/java/org/apache/sling/cli/impl/release/CreateJiraVersionCommand.java +++ b/src/main/java/org/apache/sling/cli/impl/release/CreateJiraVersionCommand.java @@ -17,6 +17,7 @@ package org.apache.sling.cli.impl.release; import java.io.IOException; +import java.util.Collection; import java.util.List; import org.apache.sling.cli.impl.Command; @@ -26,8 +27,8 @@ import org.apache.sling.cli.impl.UserInput; import org.apache.sling.cli.impl.jira.Issue; import org.apache.sling.cli.impl.jira.Version; import org.apache.sling.cli.impl.jira.VersionClient; -import org.apache.sling.cli.impl.nexus.StagingRepository; import org.apache.sling.cli.impl.nexus.RepositoryService; +import org.apache.sling.cli.impl.nexus.StagingRepository; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; @@ -60,6 +61,9 @@ public class CreateJiraVersionCommand implements Command { @Reference private VersionClient versionClient; + + @CommandLine.Option(names = {"--version-name"}, description = "Jira version name to use", required = false) + private String jiraVersionName; @CommandLine.Mixin private ReusableCLIOptions reusableCLIOptions; @@ -69,8 +73,7 @@ public class CreateJiraVersionCommand implements Command { @Override public Integer call() { try { - StagingRepository repo = repositoryService.find(repositoryId); - for (Release release : repositoryService.getReleases(repo)) { + for (Release release : releases()) { Version version = versionClient.find(release); logger.info("Found {}.", version); Version successorVersion = versionClient.findSuccessorVersion(release); @@ -126,4 +129,12 @@ public class CreateJiraVersionCommand implements Command { } return CommandLine.ExitCode.OK; } + + private Collection<Release> releases() throws IOException { + if ( jiraVersionName != null ) + return Release.fromString(jiraVersionName.replace('$', ' ')); + + StagingRepository repo = repositoryService.find(repositoryId); + return repositoryService.getReleases(repo); + } } diff --git a/src/main/java/org/apache/sling/cli/impl/release/PrepareVoteEmailCommand.java b/src/main/java/org/apache/sling/cli/impl/release/PrepareVoteEmailCommand.java index b1f6101..3438451 100644 --- a/src/main/java/org/apache/sling/cli/impl/release/PrepareVoteEmailCommand.java +++ b/src/main/java/org/apache/sling/cli/impl/release/PrepareVoteEmailCommand.java @@ -18,6 +18,7 @@ package org.apache.sling.cli.impl.release; import java.io.IOException; import java.nio.charset.StandardCharsets; +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -34,8 +35,8 @@ import org.apache.sling.cli.impl.jira.Issue; import org.apache.sling.cli.impl.jira.Version; import org.apache.sling.cli.impl.jira.VersionClient; import org.apache.sling.cli.impl.mail.Mailer; -import org.apache.sling.cli.impl.nexus.StagingRepository; import org.apache.sling.cli.impl.nexus.RepositoryService; +import org.apache.sling.cli.impl.nexus.StagingRepository; import org.apache.sling.cli.impl.people.Member; import org.apache.sling.cli.impl.people.MembersFinder; import org.osgi.service.component.annotations.Component; @@ -80,6 +81,9 @@ public class PrepareVoteEmailCommand implements Command { @CommandLine.Option(names = {"-r", "--repository"}, description = "Nexus repository id", required = true) private Integer repositoryId; + + @CommandLine.Option(names = {"--version-name"}, description = "Jira version name to use", required = false) + private String jiraVersionName; @CommandLine.Mixin private ReusableCLIOptions reusableCLIOptions; @@ -111,7 +115,12 @@ public class PrepareVoteEmailCommand implements Command { commandLine.usage(commandLine.getOut()); } else { StagingRepository repo = repositoryService.find(repositoryId); - Set<Release> releases = repositoryService.getReleases(repo); + final Collection<Release> releases; + if ( jiraVersionName != null ) + releases = Release.fromString(jiraVersionName.replace('$', ' ')); + else + releases = repositoryService.getReleases(repo); + List<Version> versions = releases.stream() .map(r -> versionClient.find(r)) .collect(Collectors.toList());