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());

Reply via email to