You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2026/09/13 17:54:58 UTC
(juneau) branch juneau-release-manager updated: Fix three Sonar findings in release-manager: extract ReleaseRest S1192 duplicated string constants, collapse JavadocVerifyStep S9358 duplicate returns, and drop MilestoneService S5860 named regex groups.
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch juneau-release-manager
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/juneau-release-manager by this push:
new 708f43e9b6 Fix three Sonar findings in release-manager: extract ReleaseRest S1192 duplicated string constants, collapse JavadocVerifyStep S9358 duplicate returns, and drop MilestoneService S5860 named regex groups.
708f43e9b6 is described below
commit 708f43e9b60e5120ddfc161a6d764eb11138f8c8
Author: James Bognar <ja...@apache.org>
AuthorDate: Sun Sep 13 13:54:53 2026 -0400
Fix three Sonar findings in release-manager: extract ReleaseRest S1192 duplicated string constants, collapse JavadocVerifyStep S9358 duplicate returns, and drop MilestoneService S5860 named regex groups.
---
.../juneau/releng/engine/steps/JavadocVerifyStep.java | 4 ++--
.../apache/juneau/releng/milestone/MilestoneService.java | 10 +++++-----
.../java/org/apache/juneau/releng/rest/ReleaseRest.java | 14 ++++++++++----
3 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/src/main/java/org/apache/juneau/releng/engine/steps/JavadocVerifyStep.java b/src/main/java/org/apache/juneau/releng/engine/steps/JavadocVerifyStep.java
index ab1bb92401..53f00bcf23 100644
--- a/src/main/java/org/apache/juneau/releng/engine/steps/JavadocVerifyStep.java
+++ b/src/main/java/org/apache/juneau/releng/engine/steps/JavadocVerifyStep.java
@@ -54,7 +54,7 @@ public class JavadocVerifyStep implements ReleaseStep {
public StepResult apply(StepContext ctx) {
var res = ctx.exec(List.of("mvn", "-f", ctx.stagingRepo.toString() + "/pom.xml", "javadoc:aggregate"));
// Non-zero-but-noisy javadoc historically continues; require human "looks clean" via the review gate.
- return res.ok() ? StepResult.ok("Javadoc generated — review the log, then confirm.")
- : StepResult.ok("Javadoc finished with warnings/errors — review the log carefully, then confirm.");
+ return StepResult.ok(res.ok() ? "Javadoc generated — review the log, then confirm."
+ : "Javadoc finished with warnings/errors — review the log carefully, then confirm.");
}
}
diff --git a/src/main/java/org/apache/juneau/releng/milestone/MilestoneService.java b/src/main/java/org/apache/juneau/releng/milestone/MilestoneService.java
index 6be25c188c..fe5055713c 100644
--- a/src/main/java/org/apache/juneau/releng/milestone/MilestoneService.java
+++ b/src/main/java/org/apache/juneau/releng/milestone/MilestoneService.java
@@ -29,8 +29,8 @@ import org.apache.juneau.releng.release.ReleaseVersion;
public class MilestoneService {
// "Bump <dep> from <old> to <new>" with optional trailing " in <path>".
- private static final Pattern BUMP = Pattern
- .compile("^Bump (?<dep>.+?) from (?<from>\\S+) to (?<to>\\S+?)(?: in (?<path>\\S+))?$");
+ // Capture groups: 1=dependency, 2=from-version, 3=to-version, 4=optional path.
+ private static final Pattern BUMP = Pattern.compile("^Bump (.+?) from (\\S+) to (\\S+?)(?: in (\\S+))?$");
/** The release tag immediately preceding {@code version} (prereleases excluded). */
public String previousTag(List<String> tags, String version) {
@@ -49,10 +49,10 @@ public class MilestoneService {
var m = BUMP.matcher(pr.title == null ? "" : pr.title.strip());
if (!m.matches())
continue; // non-bump / human PR -> excluded from ** Changes
- var dep = m.group("dep");
- var path = m.group("path");
+ var dep = m.group(1);
+ var path = m.group(4);
var key = path == null ? dep : dep + " in " + path;
- groups.computeIfAbsent(key, ChangelogEntry.Builder::new).add(m.group("from"), m.group("to"), pr.number);
+ groups.computeIfAbsent(key, ChangelogEntry.Builder::new).add(m.group(2), m.group(3), pr.number);
}
var out = new ArrayList<ChangelogEntry>();
diff --git a/src/main/java/org/apache/juneau/releng/rest/ReleaseRest.java b/src/main/java/org/apache/juneau/releng/rest/ReleaseRest.java
index 4a5e0a31f2..cc72d25943 100644
--- a/src/main/java/org/apache/juneau/releng/rest/ReleaseRest.java
+++ b/src/main/java/org/apache/juneau/releng/rest/ReleaseRest.java
@@ -62,9 +62,15 @@ public class ReleaseRest extends BasicRestResource {
/** This resource's absolute mount (RootRest {@code /rest/*} + {@code /releases}), used to resolve asset/data URLs. */
static final String MOUNT = "/rest/releases";
+ /** This resource's page/view id, shared by {@link #releasesView()}'s {@link ViewDef} id and {@link #page(RestRequest)}'s template/slot name. */
+ static final String NAME = "releases";
+
/** The rich-view toolkit's cell renderer id for a clickable/href-bearing column (see {@link Column#render(String)}). */
static final String RENDER_LINKED = "linked";
+ /** Cell renderer / format id for a Zulu timestamp column (see {@link Column#render(String)}). */
+ static final String RENDER_TS_ZULU = "ts-zulu";
+
private final ReleaseListService service;
public ReleaseRest(ReleaseListService service) {
@@ -95,7 +101,7 @@ public class ReleaseRest extends BasicRestResource {
* can reuse this same declarative definition when mounting the Admin Releases pair.
*/
static ViewDef releasesView() {
- return ViewDef.create("releases")
+ return ViewDef.create(NAME)
.rowType(Release.class)
.dataMode(DataMode.SERVER)
.dataUrl(MOUNT + "/data")
@@ -105,8 +111,8 @@ public class ReleaseRest extends BasicRestResource {
Column.of("rc").title("RC"),
Column.of("status").title("Status").render("tag:status"),
Column.of("stage").title("Stage").render("tag:stage"),
- Column.of("voteCloses").title("Vote closes").render("ts-zulu").formats("ts-zulu", "datetime", "date"),
- Column.of("released").title("Released").render("date").formats("date", "datetime", "ts-zulu"),
+ Column.of("voteCloses").title("Vote closes").render(RENDER_TS_ZULU).formats(RENDER_TS_ZULU, "datetime", "date"),
+ Column.of("released").title("Released").render("date").formats("date", "datetime", RENDER_TS_ZULU),
Column.of("githubReleaseUrl").title("GitHub").render(RENDER_LINKED).href("{githubReleaseUrl}").orderable(false)
.defaultVisible(false),
Column.of("milestoneUrl").title("Milestone").render(RENDER_LINKED).href("{milestoneUrl}").orderable(false)
@@ -128,7 +134,7 @@ public class ReleaseRest extends BasicRestResource {
/** Human page — empty {@code #releases} slot; the table is mounted from {@link #releasesViewEnvelope}. */
@RestGet("/")
public View page(RestRequest req) {
- return TableSlotPage.of("releases", req, "releases", MOUNT + "/view");
+ return TableSlotPage.of(NAME, req, NAME, MOUNT + "/view");
}
/**