You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rz...@apache.org on 2021/11/03 06:58:49 UTC
[tomee-release-tools] branch master updated: TOMEE-3805 - Generate
list of CVEs for release notes
This is an automated email from the ASF dual-hosted git repository.
rzo1 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-release-tools.git
The following commit(s) were added to refs/heads/master by this push:
new 0beaa7d TOMEE-3805 - Generate list of CVEs for release notes
new adcfc30 Merge pull request #1 from rzo1/TOMEE-3805
0beaa7d is described below
commit 0beaa7dcd6cdf712f43fb05e933276d0936e775f
Author: Richard Zowalla <ri...@hs-heilbronn.de>
AuthorDate: Thu Oct 28 09:52:57 2021 +0200
TOMEE-3805 - Generate list of CVEs for release notes
---
.../openejb/tools/release/cmd/ReleaseNotes.java | 30 ++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java b/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java
index 23fe7ab..4a404dd 100644
--- a/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java
+++ b/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java
@@ -39,13 +39,14 @@ import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
-import static com.atlassian.jira.rest.client.api.domain.IssueLinkType.Direction.INBOUND;
import static com.atlassian.jira.rest.client.api.domain.IssueLinkType.Direction.OUTBOUND;
/**
@@ -113,14 +114,23 @@ public class ReleaseNotes {
":jbake-type: page\n" +
":jbake-status: published");
+ final List<Issue> cveIssues = new ArrayList<>();
+
for (final IssueType section : sections) {
- final List<Issue> issues = issuesByKey.values()
+ final Map<Boolean, List<Issue>> issuesPartitionedByCve = issuesByKey.values()
.stream().filter(issue -> issue.getIssueType().getName().equals(section.getName()))
+ .collect(Collectors.partitioningBy(issue ->
+ issue.getLabels().stream().anyMatch(label -> "cve".equals(label.toLowerCase(Locale.ROOT)))));
+
+ final List<Issue> issues = Stream.of(issuesPartitionedByCve.values())
+ .flatMap(Collection::stream).flatMap(Collection::stream)
.collect(Collectors.toList());
if (issues.size() <= 0) continue;
+ cveIssues.addAll(issuesPartitionedByCve.get(true));
+
out.println();
out.printf("== %s%n", section.getName());
out.println();
@@ -145,6 +155,22 @@ public class ReleaseNotes {
issue.getSummary());
}
}
+
+ }
+
+ if(cveIssues.size() > 0) {
+ //CVE section
+ out.println();
+ out.printf("== %s%n", "Fixed Common Vulnerabilities and Exposures (CVEs)");
+ out.println();
+ out.println("[.compact]");
+
+ for (final Issue issue : cveIssues) {
+ out.printf(" - link:https://issues.apache.org/jira/browse/%s[%s] %s%n",
+ issue.getKey(),
+ issue.getKey(),
+ issue.getSummary());
+ }
}
};
}