From 73a3ed6853f0f7048f812121bab8a0e88164b281 Mon Sep 17 00:00:00 2001 From: Ulli Hafner Date: Fri, 3 Nov 2023 16:49:40 +0100 Subject: [PATCH] Cleanup scripts and dependency to annotations. --- .github/dependabot.yml | 7 +- .github/workflows/enforce-labels.yml | 2 +- README.md | 2 +- SUPPORTED-FORMATS.md | 128 +++++++++++++++++- bin/german.sh | 4 - bin/release.sh | 2 - .../assertions_entry_point_class_template.txt | 2 +- ..._assertions_entry_point_class_template.txt | 2 +- .../core/columns/IssuesTotalColumnTest.java | 2 +- .../core/model/AnalysisResultTest.java | 2 +- .../core/model/ReportXmlStreamTest.java | 2 +- .../StaticAnalysisLabelProviderTest.java | 2 +- .../core/util/AbsolutePathGeneratorITest.java | 2 +- .../core/util/ModelValidationTest.java | 2 +- .../warnings/groovy/GroovyParserTest.java | 2 +- .../warnings/groovy/GroovyScriptITest.java | 2 +- .../ConfigurationAsCodeITest.java | 2 +- .../warnings/steps/QualityGateITest.java | 2 +- .../warnings/tasks/AgentScannerTest.java | 2 +- pom.xml | 2 + .../assertions_entry_point_class_template.txt | 2 +- ..._assertions_entry_point_class_template.txt | 2 +- ui-tests/javac.20231019_113650.args | 1 + ui-tests/pom.xml | 25 +++- 24 files changed, 172 insertions(+), 31 deletions(-) delete mode 100755 bin/german.sh create mode 100644 ui-tests/javac.20231019_113650.args diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b9d9453bf7..6fe8aae364 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -14,12 +14,9 @@ updates: - dependency-name: org.eclipse.collections:eclipse-collections-api versions: - ">= 10.a" - - dependency-name: org.webjars:popper.js + - dependency-name: net.javacrumbs.json-unit:json-unit-assertj versions: - - ">= 2.0.0" - - dependency-name: org.webjars:bootstrap - versions: - - ">= 5.0.0" + - ">= 3.0.0" - package-ecosystem: "github-actions" directory: "/" diff --git a/.github/workflows/enforce-labels.yml b/.github/workflows/enforce-labels.yml index 5a27f6a053..a0a9164adc 100644 --- a/.github/workflows/enforce-labels.yml +++ b/.github/workflows/enforce-labels.yml @@ -11,7 +11,7 @@ jobs: steps: - uses: mheap/github-action-required-labels@v5 with: - mode: exactly + mode: minimum count: 1 labels: "bug,feature,enhancement,breaking,tests,documentation,internal,dependencies" message: "Maintainer needs to assign at least one label before merge" diff --git a/README.md b/README.md index cfb8e7fadf..5dd41508ca 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Join the chat at https://gitter.im/jenkinsci/warnings-plugin](https://badges.gitter.im/jenkinsci/warnings-plugin.svg)](https://gitter.im/jenkinsci/warnings-plugin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Jenkins Plugin Installs](https://img.shields.io/jenkins/plugin/i/warnings-ng.svg?color=red)](https://plugins.jenkins.io/warnings-ng) [![Jenkins](https://ci.jenkins.io/job/Plugins/job/warnings-ng-plugin/job/master/badge/icon?subject=Jenkins%20CI)](https://ci.jenkins.io/job/Plugins/job/warnings-ng-plugin/job/master/) -[![GitHub Actions](https://github.com/jenkinsci/warnings-ng-plugin/workflows/GitHub%20CI/badge.svg?branch=master)](https://github.com/jenkinsci/warnings-ng-plugin/actions) +[![GitHub Actions](https://github.com/jenkinsci/warnings-ng-plugin/workflows/GitHub%20CI/badge.svg)](https://github.com/jenkinsci/warnings-ng-plugin/actions) [![Codecov](https://codecov.io/gh/jenkinsci/warnings-ng-plugin/branch/master/graph/badge.svg)](https://app.codecov.io/gh/jenkinsci/warnings-ng-plugin) The Jenkins Next Generation Warnings plugin collects compiler warnings or issues reported by static analysis tools and diff --git a/SUPPORTED-FORMATS.md b/SUPPORTED-FORMATS.md index 294d23d7bc..b03d0ba3f0 100644 --- a/SUPPORTED-FORMATS.md +++ b/SUPPORTED-FORMATS.md @@ -1,4 +1,4 @@ - + # Supported Report Formats Jenkins' Warnings Next Generation Plugin supports the following report formats. @@ -467,6 +467,25 @@ the [Analysis Parsers Library](https://github.com/jenkinsci/analysis-model/). - + + + code-generator + + + codeGeneratorParser() + + + Code Generator Tool + + + + Code Generator Tool + + + + - + + code-checker @@ -581,6 +600,25 @@ the [Analysis Parsers Library](https://github.com/jenkinsci/analysis-model/). :bulb: You need to use the Eclipse format with the option --output=eclipse + + + crosscore-embedded-studio + + + CrossCoreEmbeddedStudioParser() + + + CrossCore Embedded Studio (CCES) + + + + CrossCore Embedded Studio (CCES) + + + + - + + csslint @@ -762,6 +800,25 @@ the [Analysis Parsers Library](https://github.com/jenkinsci/analysis-model/). :bulb:

Create an output file that contains Eclipse ECJ output, in either XML or text format.

To log in XML format, specify ".xml" as the file extension to the -log argument:

java -jar ecj.jar -log <logfile>.xml <other arguments>

To log in text format, specify any file extension except ".xml" to the -log argument:

java -jar ecj.jar -log <logfile>.log <other arguments>

+ + + embedded-engineer + + + embeddedEngineerParser() + + + Embedded Engineer Tool + + + + Embedded Engineer Tool + + + + - + + erlc @@ -1057,6 +1114,25 @@ the [Analysis Parsers Library](https://github.com/jenkinsci/analysis-model/). - + + + grype + + + grype() + + + Grype + + + + Grype + + + + **/grype-report.json + + hadolint @@ -1817,6 +1893,30 @@ analyze - iccxxxxcompiler_opts cstat2.cFor details check the IAR C- **/pmd.xml + + + polyspace-parser + + + polyspaceParser() + + + Polyspace Tool + + + + Polyspace Tool + + + + - + + + + + :bulb: Reads reports of Polyspace Static Analysis Tool by MathWorks. Used for BugFinder and CodeProver result files.
Report can be generated with command: polyspace-results-export -format csv -results-dir -output-name -key + + prefast @@ -1930,7 +2030,7 @@ analyze - iccxxxxcompiler_opts cstat2.cFor details check the IAR C- - :bulb:

Create a./pylintrc that contains:

msg-template={path}:{module}:{line}: [{msg_id}({symbol}), {obj}] {msg}

Start pylint using the command:

pylint --rcfile=./pylintrc CODE > pylint.log

+ :bulb:

Start Pylint using this custom message template (can also be configured via a pylintrc configuration file):

pylint --msg-template='{path}:{line}: [{msg_id}, {obj}] {msg} ({symbol})' modules_or_packages > pylint.log

@@ -2153,6 +2253,30 @@ analyze - iccxxxxcompiler_opts cstat2.cFor details check the IAR C- - + + + simulink-check-parser + + + simulinkCheckParser() + + + Simulink Check Tool + + + + Simulink Check Tool + + + + - + + + + + :bulb: Reads and Parses HTML reports of Simulink Check Tool by MathWorks. Report can be generated with command: ModelAdvisor.summaryReport(ModelAdvisor.run(, , , )) + + sonar diff --git a/bin/german.sh b/bin/german.sh deleted file mode 100755 index 5fd0b284ba..0000000000 --- a/bin/german.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -mvn stapler:i18n -Dlocale=de - diff --git a/bin/release.sh b/bin/release.sh index 8f59a95ea5..1ea05281cc 100755 --- a/bin/release.sh +++ b/bin/release.sh @@ -4,5 +4,3 @@ git pull git push cd plugin mvn -B clean build-helper:parse-version release:prepare release:perform -DdevelopmentVersion=\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0-SNAPSHOT - - diff --git a/plugin/etc/assertj-templates/assertions_entry_point_class_template.txt b/plugin/etc/assertj-templates/assertions_entry_point_class_template.txt index a57b90468c..ed4706b5f0 100644 --- a/plugin/etc/assertj-templates/assertions_entry_point_class_template.txt +++ b/plugin/etc/assertj-templates/assertions_entry_point_class_template.txt @@ -5,7 +5,7 @@ package ${package}; * type-specific assertion objects. */ @edu.umd.cs.findbugs.annotations.SuppressFBWarnings("NM") -@javax.annotation.Generated(value="assertj-assertions-generator") +@edu.hm.hafner.util.Generated(value="assertj-assertions-generator") public class Assertions extends edu.hm.hafner.analysis.assertions.Assertions { ${all_assertions_entry_points} /** diff --git a/plugin/etc/assertj-templates/soft_assertions_entry_point_class_template.txt b/plugin/etc/assertj-templates/soft_assertions_entry_point_class_template.txt index ca86565af9..0f29596e24 100644 --- a/plugin/etc/assertj-templates/soft_assertions_entry_point_class_template.txt +++ b/plugin/etc/assertj-templates/soft_assertions_entry_point_class_template.txt @@ -4,7 +4,7 @@ package ${package}; * Entry point for soft assertions of different data types. */ @edu.umd.cs.findbugs.annotations.SuppressFBWarnings("NM") -@javax.annotation.Generated(value="assertj-assertions-generator") +@edu.hm.hafner.util.Generated(value="assertj-assertions-generator") public class SoftAssertions extends edu.hm.hafner.analysis.assertions.SoftAssertions { ${all_assertions_entry_points} } diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/columns/IssuesTotalColumnTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/columns/IssuesTotalColumnTest.java index be384fffa5..d472db28fa 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/columns/IssuesTotalColumnTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/columns/IssuesTotalColumnTest.java @@ -4,7 +4,7 @@ import java.util.Collections; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import hudson.model.Job; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/AnalysisResultTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/AnalysisResultTest.java index 7f0477a752..3d466462e6 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/AnalysisResultTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/AnalysisResultTest.java @@ -5,7 +5,7 @@ import java.util.Collections; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import edu.hm.hafner.util.ResourceTest; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/ReportXmlStreamTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/ReportXmlStreamTest.java index a5021bbb3b..c38ade5537 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/ReportXmlStreamTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/ReportXmlStreamTest.java @@ -3,7 +3,7 @@ import java.nio.file.Path; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import edu.hm.hafner.analysis.Report; import edu.hm.hafner.analysis.Severity; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/StaticAnalysisLabelProviderTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/StaticAnalysisLabelProviderTest.java index 7af3e0b370..d840e068a0 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/StaticAnalysisLabelProviderTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/StaticAnalysisLabelProviderTest.java @@ -4,7 +4,7 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import edu.hm.hafner.analysis.IssueBuilder; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/AbsolutePathGeneratorITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/AbsolutePathGeneratorITest.java index e24a44950f..c9ffeefdea 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/AbsolutePathGeneratorITest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/AbsolutePathGeneratorITest.java @@ -7,7 +7,7 @@ import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import org.jvnet.hudson.test.JenkinsRule; import hudson.FilePath; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/ModelValidationTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/ModelValidationTest.java index 4b1ddbc2da..1209c94d32 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/ModelValidationTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/util/ModelValidationTest.java @@ -5,7 +5,7 @@ import java.util.Optional; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import edu.hm.hafner.analysis.Severity; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/groovy/GroovyParserTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/groovy/GroovyParserTest.java index 8cec7d5940..5d675f7edd 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/groovy/GroovyParserTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/groovy/GroovyParserTest.java @@ -5,7 +5,7 @@ import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import edu.hm.hafner.analysis.IssueParser; import edu.hm.hafner.analysis.Report; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/groovy/GroovyScriptITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/groovy/GroovyScriptITest.java index 26fb595182..23b13f3fa5 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/groovy/GroovyScriptITest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/groovy/GroovyScriptITest.java @@ -3,7 +3,7 @@ import java.util.Collections; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import io.jenkins.plugins.analysis.core.model.Tool; import io.jenkins.plugins.analysis.core.testutil.IntegrationTestWithJenkinsPerSuite; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/ConfigurationAsCodeITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/ConfigurationAsCodeITest.java index 3a302eb8c6..a35f25b924 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/ConfigurationAsCodeITest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/ConfigurationAsCodeITest.java @@ -3,7 +3,7 @@ import java.util.List; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import hudson.model.FreeStyleProject; import hudson.model.TopLevelItem; 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 8be4b95a90..ab6ffbdf56 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 @@ -5,7 +5,7 @@ import org.eclipse.collections.impl.factory.Maps; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import com.google.errorprone.annotations.CanIgnoreReturnValue; diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/tasks/AgentScannerTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/tasks/AgentScannerTest.java index b9aa468781..402a741d36 100644 --- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/tasks/AgentScannerTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/tasks/AgentScannerTest.java @@ -3,7 +3,7 @@ import java.nio.file.Path; import org.junit.jupiter.api.Test; -import org.jvnet.hudson.test.Issue; +import org.junitpioneer.jupiter.Issue; import edu.hm.hafner.analysis.Report; import edu.hm.hafner.util.SerializableTest; diff --git a/pom.xml b/pom.xml index e10d1a48a9..5b14d3db18 100644 --- a/pom.xml +++ b/pom.xml @@ -16,6 +16,8 @@ 1.8 3.51 + HEAD + 3.11.0 3.1.1 ${java.version} diff --git a/ui-tests/etc/assertj-templates/assertions_entry_point_class_template.txt b/ui-tests/etc/assertj-templates/assertions_entry_point_class_template.txt index f5204a15d2..a275e227af 100644 --- a/ui-tests/etc/assertj-templates/assertions_entry_point_class_template.txt +++ b/ui-tests/etc/assertj-templates/assertions_entry_point_class_template.txt @@ -5,7 +5,7 @@ package ${package}; * type-specific assertion objects. */ @edu.umd.cs.findbugs.annotations.SuppressFBWarnings("NM") -@javax.annotation.Generated(value="assertj-assertions-generator") +@edu.hm.hafner.util.Generated(value="assertj-assertions-generator") public class Assertions extends org.assertj.core.api.Assertions { ${all_assertions_entry_points} /** diff --git a/ui-tests/etc/assertj-templates/soft_assertions_entry_point_class_template.txt b/ui-tests/etc/assertj-templates/soft_assertions_entry_point_class_template.txt index c7485e4256..68df986927 100644 --- a/ui-tests/etc/assertj-templates/soft_assertions_entry_point_class_template.txt +++ b/ui-tests/etc/assertj-templates/soft_assertions_entry_point_class_template.txt @@ -4,7 +4,7 @@ package ${package}; * Entry point for soft assertions of different data types. */ @edu.umd.cs.findbugs.annotations.SuppressFBWarnings("NM") -@javax.annotation.Generated(value="assertj-assertions-generator") +@edu.hm.hafner.util.Generated(value="assertj-assertions-generator") public class SoftAssertions extends org.assertj.core.api.AutoCloseableSoftAssertions { ${all_assertions_entry_points} } diff --git a/ui-tests/javac.20231019_113650.args b/ui-tests/javac.20231019_113650.args new file mode 100644 index 0000000000..5db5da6afd --- /dev/null +++ b/ui-tests/javac.20231019_113650.args @@ -0,0 +1 @@ +@/private/var/folders/pg/qr8ry2kd4qjc151jhq9ksgx00000gn/T/org.codehaus.plexus.compiler.javac.JavacCompiler5569295821040207826arguments diff --git a/ui-tests/pom.xml b/ui-tests/pom.xml index 2d6d8e91b4..b942dec27c 100644 --- a/ui-tests/pom.xml +++ b/ui-tests/pom.xml @@ -5,7 +5,7 @@ edu.hm.hafner codingstyle-pom - 2.29.0 + 3.33.0 @@ -22,6 +22,7 @@ 2.38.0 ${project.groupId}.warnings.ui.tests + 3.49 -Djava.awt.headless=true -Xmx1024m -Djenkins.test.timeout=1000 --add-opens java.base/sun.reflect.annotation=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED @@ -33,6 +34,14 @@ jenkins-core ${jenkins.version} + + + io.netty + netty-bom + 4.1.99.Final + pom + import + @@ -147,6 +156,20 @@ + + org.pitest + pitest-maven + + true + + + + org.apache.maven.plugins + maven-javadoc-plugin + + true + + org.jacoco jacoco-maven-plugin