diff --git a/plugin/pom.xml b/plugin/pom.xml
index 1f2c7baa2a..90df6b8953 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -25,8 +25,8 @@
-SNAPSHOT
${project.groupId}.warnings.ng
- 12.5.0
- ${analysis-model-api.version}
+ 12.6.0-rc839.46d92a_4783a_5
+ 12.5.0
335.v525cd64ec76b_
9.2.0
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/steps/WarningChecksPublisherITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/steps/WarningChecksPublisherITest.java
index ecf492d35a..8aaa1a4f74 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/steps/WarningChecksPublisherITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/steps/WarningChecksPublisherITest.java
@@ -11,7 +11,6 @@
import com.google.errorprone.annotations.CanIgnoreReturnValue;
-import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
import hudson.model.AbstractProject;
import hudson.model.FreeStyleProject;
@@ -100,14 +99,14 @@ void shouldCreateChecksDetailsWithNewIssuesAsAnnotations() {
}
private void configureScanner(final WorkflowJob job, final String fileName, final String parameters) {
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " discoverReferenceBuild()\n"
+ " recordIssues tool: checkStyle(pattern: '**/" + fileName + "-*') "
+ parameters
+ "\n"
+ " }\n"
- + "}", true));
+ + "}"));
}
/**
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TimeStamperPluginITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TimeStamperPluginITest.java
index c0b51ba631..8733095591 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TimeStamperPluginITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TimeStamperPluginITest.java
@@ -6,7 +6,6 @@
import edu.hm.hafner.analysis.Severity;
import edu.hm.hafner.util.PathUtil;
-import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
import io.jenkins.plugins.analysis.core.model.AnalysisResult;
@@ -32,12 +31,12 @@ void shouldCorrectlyParseJavacErrors() {
createFileInWorkspace(project, "Test.java", "public class Test {}");
- project.setDefinition(new CpsFlowDefinition("node {\n"
+ project.setDefinition(createPipelineScript("node {\n"
+ " timestamps {\n"
+ " echo '[javac] Test.java:39: warning: Test Warning'\n"
+ " recordIssues tools: [java()], skipBlames: true\n"
+ " }\n"
- + "}", true));
+ + "}"));
AnalysisResult result = scheduleSuccessfulBuild(project);
@@ -71,12 +70,12 @@ void shouldCorrectlyParseClangErrors() {
createFileInWorkspace(project, "test.c", "int main(void) { }");
- project.setDefinition(new CpsFlowDefinition("node {\n"
+ project.setDefinition(createPipelineScript("node {\n"
+ " timestamps {\n"
+ " echo 'test.c:1:2: error: This is an error.'\n"
+ " recordIssues tools: [clang(id: 'clang', name: 'clang')], skipBlames: true\n"
+ " }\n"
- + "}", true));
+ + "}"));
AnalysisResult result = scheduleSuccessfulBuild(project);
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TokenMacroITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TokenMacroITest.java
index c89defe613..f854106afc 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TokenMacroITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TokenMacroITest.java
@@ -2,7 +2,6 @@
import org.junit.jupiter.api.Test;
-import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
import hudson.model.Result;
@@ -44,7 +43,7 @@ void shouldExpandTokenMacro() {
void shouldExpandDifferentSeverities() {
WorkflowJob job = createPipelineWithWorkspaceFilesWithSuffix("all-severities.xml");
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " recordIssues tool: checkStyle(pattern: '**/" + "all-severities" + "*')\n"
+ " def total = tm('${ANALYSIS_ISSUES_COUNT}')\n"
@@ -58,7 +57,7 @@ void shouldExpandDifferentSeverities() {
+ " echo '[normal=' + normal + ']' \n"
+ " echo '[low=' + low + ']' \n"
+ " }\n"
- + "}", true));
+ + "}"));
AnalysisResult baseline = scheduleBuildAndAssertStatus(job, Result.SUCCESS);
@@ -91,7 +90,7 @@ private void verifyConsoleLog(final AnalysisResult baseline, final int totalSize
}
private void configureToken(final WorkflowJob job, final String fileName) {
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " discoverReferenceBuild()\n"
+ " recordIssues tool: checkStyle(pattern: '**/" + fileName + "*')\n"
@@ -106,6 +105,6 @@ private void configureToken(final WorkflowJob job, final String fileName) {
+ " echo '[new=' + additional + ']' \n"
+ " echo '[fixed=' + fixed + ']' \n"
+ " }\n"
- + "}", true));
+ + "}"));
}
}
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/QualityGateITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/QualityGateITest.java
index e3d2053a6b..196b338c6c 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/QualityGateITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/QualityGateITest.java
@@ -10,7 +10,6 @@
import com.google.errorprone.annotations.CanIgnoreReturnValue;
-import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
import hudson.model.AbstractProject;
import hudson.model.FreeStyleProject;
@@ -48,14 +47,14 @@ class QualityGateITest extends IntegrationTestWithJenkinsPerSuite {
void shouldUseTwoQualityGates() {
WorkflowJob job = createPipelineWithWorkspaceFilesWithSuffix("checkstyle1.xml", "checkstyle2.xml");
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " recordIssues tools: [checkStyle(pattern: '**/*issues.txt')],\n"
+ " qualityGates: [\n"
+ " [threshold: 3, type: 'TOTAL', criticality: 'NOTE'],\n"
+ " [threshold: 7, type: 'TOTAL', criticality: 'ERROR']]\n"
+ " }\n"
- + "}", true));
+ + "}"));
AnalysisResult result = scheduleSuccessfulBuild(job);
assertThat(result).hasTotalSize(6);
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsITest.java
index 8439fe8e26..8a76d9366d 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsITest.java
@@ -71,7 +71,7 @@ class StepsITest extends IntegrationTestWithJenkinsPerSuite {
@Test
void shouldNotFailWhenJobHasNoWorkspace() {
var job = createPipelineWithWorkspaceFilesWithSuffix("eclipse.txt");
- job.setDefinition(new CpsFlowDefinition("def r; node {r = scanForIssues tool: eclipse(pattern: '*issues.txt')}; publishIssues issues: [r]", true));
+ job.setDefinition(createPipelineScript("def r; node {r = scanForIssues tool: eclipse(pattern: '*issues.txt')}; publishIssues issues: [r]"));
var build = buildSuccessfully(job);
assertThat(build.getAction(ResultAction.class).getResult().getIssues()).hasSize(8);
@@ -81,12 +81,12 @@ void shouldNotFailWhenJobHasNoWorkspace() {
void shouldParseCheckstyleUsingTheParserRegistry() {
WorkflowJob job = createPipelineWithWorkspaceFilesWithSuffix("checkstyle1.xml", "checkstyle2.xml");
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " recordIssues tool: analysisParser(analysisModelId: 'checkstyle', pattern: '**/"
+ "checkstyle1" + "*')\n"
+ " }\n"
- + "}", true));
+ + "}"));
AnalysisResult baseline = scheduleSuccessfulBuild(job);
assertThat(baseline).hasTotalSize(3);
@@ -157,7 +157,7 @@ void shouldWhitelistRecorderApi() {
}
private void configureRecorder(final WorkflowJob job, final String fileName) {
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " discoverReferenceBuild()\n"
+ " def reports = recordIssues tool: checkStyle(pattern: '**/" + fileName
@@ -173,11 +173,11 @@ private void configureRecorder(final WorkflowJob job, final String fileName) {
+ " echo issue.toString()\n"
+ " }"
+ " }\n"
- + "}", true));
+ + "}"));
}
private void configureScanner(final WorkflowJob job, final String fileName) {
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " def report = scanForIssues tool: checkStyle(pattern: '**/" + fileName + "*')\n"
+ " echo '[total=' + report.size() + ']' \n"
@@ -189,7 +189,7 @@ private void configureScanner(final WorkflowJob job, final String fileName) {
+ " echo issue.getAuthorName()\n"
+ " }"
+ " }\n"
- + "}", true));
+ + "}"));
}
/**
@@ -199,11 +199,11 @@ private void configureScanner(final WorkflowJob job, final String fileName) {
void shouldSkipBlaming() {
WorkflowJob job = createPipelineWithWorkspaceFilesWithSuffix("checkstyle1.xml");
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " recordIssues skipBlames: true, tool: checkStyle(pattern: '**/checkstyle1" + "*')\n"
+ " }\n"
- + "}", true));
+ + "}"));
Run, ?> baseline = buildSuccessfully(job);
assertThat(getConsoleLog(baseline)).contains("Skipping SCM blames as requested");
}
@@ -214,13 +214,13 @@ void shouldSkipBlaming() {
void shouldToggleQuietStatusOfLogger(final boolean quiet) {
WorkflowJob job = createPipelineWithWorkspaceFilesWithSuffix("checkstyle1.xml");
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " recordIssues "
+ " quiet: " + quiet + ", "
+ " tool: checkStyle(pattern: '**/" + "checkstyle1" + "*')\n"
+ " }\n"
- + "}", true));
+ + "}"));
Run, ?> baseline = buildSuccessfully(job);
String consoleLog = getConsoleLog(baseline);
String message = "[CheckStyle]";
@@ -272,7 +272,7 @@ private void verifyApiResults(final Run, ?> baseline, final int totalSize, fin
private void configurePublisher(final WorkflowJob job, final String fileName, final String qualityGate) {
String qualityGateParameter = String.format("qualityGates: [%s]", qualityGate);
- job.setDefinition(new CpsFlowDefinition("node {\n"
+ job.setDefinition(createPipelineScript("node {\n"
+ " stage ('Integration Test') {\n"
+ " discoverReferenceBuild()\n"
+ " def issues = scanForIssues tool: checkStyle(pattern: '**/" + fileName + "*')\n"
@@ -289,7 +289,7 @@ private void configurePublisher(final WorkflowJob job, final String fileName, fi
+ " echo '[new=' + totals.getNewSize() + ']' \n"
+ " echo '[fixed=' + totals.getFixedSize() + ']' \n"
+ " }\n"
- + "}", true));
+ + "}"));
}
/** Verifies that a {@link Tool} defines a {@link Symbol}. */
@@ -307,7 +307,7 @@ void shouldProvideSymbol() {
void shouldRunInDeclarativePipeline() {
WorkflowJob job = createPipeline();
- job.setDefinition(new CpsFlowDefinition("pipeline {\n"
+ job.setDefinition(createPipelineScript("pipeline {\n"
+ " agent 'any'\n"
+ " stages {\n"
+ " stage ('Create a fake warning') {\n"
@@ -321,7 +321,7 @@ void shouldRunInDeclarativePipeline() {
+ " recordIssues tool: gcc4(pattern: 'warnings.log')\n"
+ " }\n"
+ " }\n"
- + "}", true));
+ + "}"));
AnalysisResult result = scheduleSuccessfulBuild(job);
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsOnAgentITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsOnAgentITest.java
index e4d8606d6d..0fd321747e 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsOnAgentITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsOnAgentITest.java
@@ -4,7 +4,6 @@
import org.junit.jupiter.api.Test;
-import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
import hudson.model.Run;
import hudson.model.Slave;
@@ -45,10 +44,10 @@ void shouldCopySourcesIfMasterAgentSecurityIsActive() {
createFileInAgentWorkspace(agent, project, "Test.java", JAVA_CONTENT);
- project.setDefinition(new CpsFlowDefinition("node('agent') {\n"
+ project.setDefinition(createPipelineScript("node('agent') {\n"
+ " echo '[javac] Test.java:39: warning: Test Warning'\n"
+ " recordIssues tool: java(), skipBlames: true\n"
- + "}", true));
+ + "}"));
AnalysisResult result = scheduleSuccessfulBuild(project);
assertThat(result).hasNoErrorMessages();
@@ -112,10 +111,10 @@ void shouldNotCopySourcesWhenSourceCodeRetentionIsNever() {
createFileInAgentWorkspace(agent, project, "Test.java", JAVA_CONTENT);
- project.setDefinition(new CpsFlowDefinition("node('agent') {\n"
+ project.setDefinition(createPipelineScript("node('agent') {\n"
+ " echo '[javac] Test.java:39: warning: Test Warning'\n"
+ " recordIssues tool: java(), sourceCodeRetention: 'NEVER'\n"
- + "}", true));
+ + "}"));
AnalysisResult result = scheduleSuccessfulBuild(project);
assertThat(result).hasNoErrorMessages();