From 89b4f30e13305e74d4d81fc3c10bf8efff3b77fd Mon Sep 17 00:00:00 2001 From: strangelookingnerd <49242855+strangelookingnerd@users.noreply.github.com> Date: Mon, 4 Nov 2024 16:50:16 +0100 Subject: [PATCH] Minor improvements * refine codecov action * use java 17 features --- .github/workflows/codecov.yml | 1 - .../badge/action/AbstractBadgeAction.java | 45 ++++++--------- .../badge/action/BadgeSummaryAction.java | 1 + .../badge/dsl/AbstractAddBadgeStep.java | 2 + .../badge/dsl/AbstractRemoveBadgesStep.java | 2 + .../plugins/badge/dsl/AddHtmlBadgeStep.java | 2 + .../plugins/badge/dsl/AddShortTextStep.java | 3 + .../plugins/badge/dsl/CreateSummaryStep.java | 2 + .../badge/dsl/RemoveHtmlBadgesStep.java | 2 + .../plugins/badge/dsl/AddBadgeStepTest.java | 56 +++++++++++-------- .../badge/dsl/CreateSummaryStepTest.java | 1 - .../badge/dsl/RemoveBadgesStepTest.java | 26 +++++---- .../plugins/badge/dsl/ShortTextStepTest.java | 6 +- 13 files changed, 84 insertions(+), 65 deletions(-) diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index dd916a5..dd56bf5 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -11,7 +11,6 @@ jobs: runs-on: ubuntu-latest name: Coverage on Ubuntu steps: - - uses: actions/checkout@v4 - name: Set up JDK 17 and Maven uses: s4u/setup-maven-action@v1.16.0 with: diff --git a/src/main/java/com/jenkinsci/plugins/badge/action/AbstractBadgeAction.java b/src/main/java/com/jenkinsci/plugins/badge/action/AbstractBadgeAction.java index 8402950..c404fa3 100644 --- a/src/main/java/com/jenkinsci/plugins/badge/action/AbstractBadgeAction.java +++ b/src/main/java/com/jenkinsci/plugins/badge/action/AbstractBadgeAction.java @@ -192,6 +192,7 @@ public String getUrlName() { * Translates pre 2.0 build.xml to latest format for backwards compatibility. * @return this instance */ + @Serial @Deprecated(since = "2.0", forRemoval = true) protected Object readResolve() { // field renamed - see AbstractBadgeAction @@ -239,34 +240,24 @@ public static String getJenkinsColorStyle(@NonNull String color) { primary = color.substring(5); } // https://github.com/jenkinsci/jenkins/blob/master/src/main/scss/abstracts/_theme.scss - switch (primary) { + return switch (primary) { // palette - case "blue": - case "brown": - case "cyan": - case "green": - case "indigo": - case "orange": - case "pink": - case "purple": - case "red": - case "yellow": - case "white": - case "black": - return "var(--" + color + ")"; + case "blue", + "brown", + "cyan", + "green", + "indigo", + "orange", + "pink", + "purple", + "red", + "yellow", + "white", + "black" -> "var(--" + color + ")"; // semantics - case "accent": - case "text": - case "error": - case "warning": - case "success": - case "destructive": - case "build": - case "danger": - case "info": - return "var(--" + color + "-color)"; - default: - return color; - } + case "accent", "text", "error", "warning", "success", "destructive", "build", "danger", "info" -> "var(--" + + color + "-color)"; + default -> color; + }; } } diff --git a/src/main/java/com/jenkinsci/plugins/badge/action/BadgeSummaryAction.java b/src/main/java/com/jenkinsci/plugins/badge/action/BadgeSummaryAction.java index 32604eb..217a5a3 100644 --- a/src/main/java/com/jenkinsci/plugins/badge/action/BadgeSummaryAction.java +++ b/src/main/java/com/jenkinsci/plugins/badge/action/BadgeSummaryAction.java @@ -92,6 +92,7 @@ public void appendText(String text, boolean escapeHtml, boolean bold, boolean it * Translates pre 2.0 build.xml to latest format for backwards compatibility. * @return this instance */ + @Serial @Override @Deprecated(since = "2.0", forRemoval = true) protected Object readResolve() { diff --git a/src/main/java/com/jenkinsci/plugins/badge/dsl/AbstractAddBadgeStep.java b/src/main/java/com/jenkinsci/plugins/badge/dsl/AbstractAddBadgeStep.java index ad6a1b2..d10d55a 100644 --- a/src/main/java/com/jenkinsci/plugins/badge/dsl/AbstractAddBadgeStep.java +++ b/src/main/java/com/jenkinsci/plugins/badge/dsl/AbstractAddBadgeStep.java @@ -25,6 +25,7 @@ import com.jenkinsci.plugins.badge.action.AbstractBadgeAction; import hudson.model.Run; +import java.io.Serial; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; @@ -136,6 +137,7 @@ public String toString() { abstract static class Execution extends SynchronousStepExecution { + @Serial private static final long serialVersionUID = 1L; private final String id; diff --git a/src/main/java/com/jenkinsci/plugins/badge/dsl/AbstractRemoveBadgesStep.java b/src/main/java/com/jenkinsci/plugins/badge/dsl/AbstractRemoveBadgesStep.java index 31b526c..735acf2 100644 --- a/src/main/java/com/jenkinsci/plugins/badge/dsl/AbstractRemoveBadgesStep.java +++ b/src/main/java/com/jenkinsci/plugins/badge/dsl/AbstractRemoveBadgesStep.java @@ -26,6 +26,7 @@ import com.jenkinsci.plugins.badge.action.AbstractBadgeAction; import hudson.model.Action; import hudson.model.Run; +import java.io.Serial; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; @@ -75,6 +76,7 @@ public StepExecution start(StepContext context) { public static class Execution extends SynchronousStepExecution { + @Serial private static final long serialVersionUID = 1L; private final String id; diff --git a/src/main/java/com/jenkinsci/plugins/badge/dsl/AddHtmlBadgeStep.java b/src/main/java/com/jenkinsci/plugins/badge/dsl/AddHtmlBadgeStep.java index d764c8c..1b62dcc 100644 --- a/src/main/java/com/jenkinsci/plugins/badge/dsl/AddHtmlBadgeStep.java +++ b/src/main/java/com/jenkinsci/plugins/badge/dsl/AddHtmlBadgeStep.java @@ -30,6 +30,7 @@ import hudson.model.Run; import hudson.model.TaskListener; import java.io.PrintStream; +import java.io.Serial; import org.jenkinsci.plugins.workflow.steps.Step; import org.jenkinsci.plugins.workflow.steps.StepContext; import org.jenkinsci.plugins.workflow.steps.StepExecution; @@ -95,6 +96,7 @@ public boolean isAdvanced() { @Deprecated(since = "2.0", forRemoval = true) public static class Execution extends SynchronousStepExecution { + @Serial private static final long serialVersionUID = 1L; @SuppressFBWarnings(value = "SE_TRANSIENT_FIELD_NOT_RESTORED", justification = "Only used when starting.") diff --git a/src/main/java/com/jenkinsci/plugins/badge/dsl/AddShortTextStep.java b/src/main/java/com/jenkinsci/plugins/badge/dsl/AddShortTextStep.java index 21f250b..c6323fc 100644 --- a/src/main/java/com/jenkinsci/plugins/badge/dsl/AddShortTextStep.java +++ b/src/main/java/com/jenkinsci/plugins/badge/dsl/AddShortTextStep.java @@ -31,6 +31,7 @@ import hudson.model.Run; import hudson.model.TaskListener; import java.io.PrintStream; +import java.io.Serial; import java.io.Serializable; import org.jenkinsci.plugins.workflow.steps.Step; import org.jenkinsci.plugins.workflow.steps.StepContext; @@ -132,6 +133,7 @@ public boolean isAdvanced() { @Deprecated(since = "2.0", forRemoval = true) private static class ShortText implements Serializable { + @Serial private static final long serialVersionUID = 1L; private final String text; @@ -197,6 +199,7 @@ public void setLink(String link) { @Deprecated(since = "2.0", forRemoval = true) public static class Execution extends SynchronousStepExecution { + @Serial private static final long serialVersionUID = 1L; @SuppressFBWarnings(value = "SE_TRANSIENT_FIELD_NOT_RESTORED", justification = "Only used when starting.") diff --git a/src/main/java/com/jenkinsci/plugins/badge/dsl/CreateSummaryStep.java b/src/main/java/com/jenkinsci/plugins/badge/dsl/CreateSummaryStep.java index d893810..fde9bf6 100644 --- a/src/main/java/com/jenkinsci/plugins/badge/dsl/CreateSummaryStep.java +++ b/src/main/java/com/jenkinsci/plugins/badge/dsl/CreateSummaryStep.java @@ -29,6 +29,7 @@ import hudson.model.Run; import hudson.model.TaskListener; import java.io.PrintStream; +import java.io.Serial; import org.apache.commons.lang.StringUtils; import org.jenkinsci.plugins.workflow.steps.Step; import org.jenkinsci.plugins.workflow.steps.StepContext; @@ -105,6 +106,7 @@ public boolean isAdvanced() { @Deprecated(since = "2.0", forRemoval = true) public static class Execution extends SynchronousStepExecution { + @Serial private static final long serialVersionUID = 1L; private final String id; diff --git a/src/main/java/com/jenkinsci/plugins/badge/dsl/RemoveHtmlBadgesStep.java b/src/main/java/com/jenkinsci/plugins/badge/dsl/RemoveHtmlBadgesStep.java index dd05e60..51c1738 100644 --- a/src/main/java/com/jenkinsci/plugins/badge/dsl/RemoveHtmlBadgesStep.java +++ b/src/main/java/com/jenkinsci/plugins/badge/dsl/RemoveHtmlBadgesStep.java @@ -30,6 +30,7 @@ import hudson.model.Run; import hudson.model.TaskListener; import java.io.PrintStream; +import java.io.Serial; import org.jenkinsci.plugins.workflow.steps.Step; import org.jenkinsci.plugins.workflow.steps.StepContext; import org.jenkinsci.plugins.workflow.steps.StepExecution; @@ -90,6 +91,7 @@ public StepExecution start(StepContext context) { public static class Execution extends SynchronousStepExecution { + @Serial private static final long serialVersionUID = 1L; private final String id; diff --git a/src/test/java/com/jenkinsci/plugins/badge/dsl/AddBadgeStepTest.java b/src/test/java/com/jenkinsci/plugins/badge/dsl/AddBadgeStepTest.java index 205f103..9e2b783 100644 --- a/src/test/java/com/jenkinsci/plugins/badge/dsl/AddBadgeStepTest.java +++ b/src/test/java/com/jenkinsci/plugins/badge/dsl/AddBadgeStepTest.java @@ -135,15 +135,20 @@ protected void runAddJob(JenkinsRule r, AbstractAddBadgeStep step, boolean inNod } if (declarativePipeline) { - script = "pipeline {\n" + " agent any\n" - + " stages {\n" - + " stage('Testing') {\n" - + " steps {\n" - + " " + script + "\n" - + " }\n" - + " }\n" - + " }\n" - + "}\n"; + script = + """ + pipeline { + agent any + stages { + stage('Testing') { + steps { + %s + } + } + } + } + """ + .formatted(script); } project.setDefinition(new CpsFlowDefinition(script, true)); @@ -160,25 +165,32 @@ protected void runModifyJob(JenkinsRule r, AbstractAddBadgeStep step, boolean in step.setText(UUID.randomUUID().toString()); assertNotEquals(actualText, step.getText()); - String script = "def badge = " + step + "\n"; - script += "badge.setText('" + actualText + "')"; + String script = """ + def badge = %s + badge.setText('%s') + """.formatted(step, actualText); if (inNode) { script = "node() { " + script + " }"; } if (declarativePipeline) { - script = "pipeline {\n" + " agent any\n" - + " stages {\n" - + " stage('Testing') {\n" - + " steps {\n" - + " script {\n" - + " " + script + "\n" - + " }\n" - + " }\n" - + " }\n" - + " }\n" - + "}\n"; + script = + """ + pipeline { + agent any + stages { + stage('Testing') { + steps { + script { + %s + } + } + } + } + } + """ + .formatted(script); } project.setDefinition(new CpsFlowDefinition(script, true)); diff --git a/src/test/java/com/jenkinsci/plugins/badge/dsl/CreateSummaryStepTest.java b/src/test/java/com/jenkinsci/plugins/badge/dsl/CreateSummaryStepTest.java index f327f66..0aada3d 100644 --- a/src/test/java/com/jenkinsci/plugins/badge/dsl/CreateSummaryStepTest.java +++ b/src/test/java/com/jenkinsci/plugins/badge/dsl/CreateSummaryStepTest.java @@ -101,7 +101,6 @@ void createSummary_html_unescaped_remove_script(JenkinsRule r) throws Exception String html = "
  • " + text + "
"; BadgeSummaryAction action = createSummary(r, "summary.appendText('" + html + "', false);"); assertEquals("
  • " + text + "
", action.getText()); - // assertEquals(html, action.getRawText()); } @Test diff --git a/src/test/java/com/jenkinsci/plugins/badge/dsl/RemoveBadgesStepTest.java b/src/test/java/com/jenkinsci/plugins/badge/dsl/RemoveBadgesStepTest.java index b3d6177..13dcb1a 100644 --- a/src/test/java/com/jenkinsci/plugins/badge/dsl/RemoveBadgesStepTest.java +++ b/src/test/java/com/jenkinsci/plugins/badge/dsl/RemoveBadgesStepTest.java @@ -136,17 +136,21 @@ protected void runRemoveJob( } if (declarativePipeline) { - script = "pipeline {\n" + " agent any\n" - + " stages {\n" - + " stage('Testing') {\n" - + " steps {\n" - + " script {\n" - + " " + script + "\n" - + " }\n" - + " }\n" - + " }\n" - + " }\n" - + "}\n"; + script = + """ + pipeline { + agent any + stages { + stage('Testing') { + steps { + script { + %s + } + } + } + } + }""" + .formatted(script); } project.setDefinition(new CpsFlowDefinition(script, true)); diff --git a/src/test/java/com/jenkinsci/plugins/badge/dsl/ShortTextStepTest.java b/src/test/java/com/jenkinsci/plugins/badge/dsl/ShortTextStepTest.java index f2708e5..17a1a4c 100644 --- a/src/test/java/com/jenkinsci/plugins/badge/dsl/ShortTextStepTest.java +++ b/src/test/java/com/jenkinsci/plugins/badge/dsl/ShortTextStepTest.java @@ -109,7 +109,7 @@ void addShortText(JenkinsRule r) throws Exception { String text = UUID.randomUUID().toString(); String color = UUID.randomUUID().toString(); String background = UUID.randomUUID().toString(); - Integer border = new Random().nextInt(); + int border = new Random().nextInt(); String borderColor = UUID.randomUUID().toString(); String link = "http://" + UUID.randomUUID(); @@ -133,7 +133,7 @@ void addShortText(JenkinsRule r) throws Exception { void jenkinsColorStyle(JenkinsRule r) throws Exception { String text = UUID.randomUUID().toString(); String color = "jenkins-!-color-red"; - Integer border = 1; + int border = 1; WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "p"); p.setDefinition(new CpsFlowDefinition( @@ -152,7 +152,7 @@ void jenkinsColorStyle(JenkinsRule r) throws Exception { void jenkinsWarningStyle(JenkinsRule r) throws Exception { String text = UUID.randomUUID().toString(); String color = "jenkins-!-warning-color"; - Integer border = 1; + int border = 1; WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "p"); p.setDefinition(new CpsFlowDefinition(