├── .mvn ├── maven.config └── extensions.xml ├── .github ├── linkspector.yml ├── auto_assign.yml ├── workflows │ ├── assign-pr.yml │ ├── cd.yml │ ├── sync-labels.yml │ ├── check-md-links.yml │ ├── enforce-labels.yml │ └── ci.yml ├── check-md-links.json ├── dependabot.yml └── labels.yml ├── Jenkinsfile ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md └── pom.xml /.mvn/maven.config: -------------------------------------------------------------------------------- 1 | -Dchangelist.format=%d.v%s 2 | -Pconsume-incrementals 3 | -Pmight-produce-incrementals 4 | -Pskip-flatten 5 | -Dignore.dirt 6 | -------------------------------------------------------------------------------- /.github/linkspector.yml: -------------------------------------------------------------------------------- 1 | files: 2 | - README.md 3 | dirs: 4 | - ./ 5 | - doc 6 | useGitIgnore: true 7 | ignorePatterns: 8 | - pattern: '^http://localhost:.*$' 9 | -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 1 | def configurations = [ 2 | [ platform: "linux", jdk: "21" ] 3 | ] 4 | 5 | buildPlugin(failFast: false, tests: [skip: true], configurations: configurations) 6 | -------------------------------------------------------------------------------- /.github/auto_assign.yml: -------------------------------------------------------------------------------- 1 | addReviewers: true 2 | addAssignees: false 3 | 4 | reviewers: 5 | - uhafner 6 | 7 | skipKeywords: 8 | - wip 9 | 10 | numberOfReviewers: 0 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node 2 | node_modules 3 | target 4 | *.iml 5 | *.bak 6 | .classpath 7 | .project 8 | .settings 9 | pom.xml.versionsBackup 10 | pom.xml.releaseBackup 11 | release.properties 12 | .DS_Store 13 | .idea 14 | /package-lock.json 15 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes of this project will be automatically logged by release drafter in 4 | [GitHub releases](https://github.com/jenkinsci/analysis-pom-plugin/releases). 5 | 6 | This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | -------------------------------------------------------------------------------- /.github/workflows/assign-pr.yml: -------------------------------------------------------------------------------- 1 | name: 'Auto Assign PR' 2 | 3 | on: pull_request_target 4 | 5 | jobs: 6 | assign-pr: 7 | name: 'Auto Assign PR' 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: kentaro-m/auto-assign-action@v2.0.0 11 | with: 12 | repo-token: "${{ secrets.GITHUB_TOKEN }}" 13 | -------------------------------------------------------------------------------- /.github/check-md-links.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpHeaders": [ 3 | { 4 | "urls": ["https://github.com/", "https://guides.github.com/", "https://help.github.com/", "https://docs.github.com/", "https://classroom.github.com"], 5 | "headers": { 6 | "Accept-Encoding": "zstd, br, gzip, deflate" 7 | } 8 | } 9 | ], 10 | "aliveStatusCodes": [200, 500, 503, 429] 11 | } 12 | -------------------------------------------------------------------------------- /.mvn/extensions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | io.jenkins.tools.incrementals 4 | git-changelist-maven-extension 5 | 1.13 6 | 7 | 8 | -------------------------------------------------------------------------------- /.github/workflows/cd.yml: -------------------------------------------------------------------------------- 1 | # For help see https://www.jenkins.io/redirect/continuous-delivery-of-plugins 2 | 3 | name: 'Jenkins CD' 4 | on: 5 | workflow_dispatch: 6 | check_run: 7 | types: 8 | - completed 9 | 10 | jobs: 11 | maven-cd: 12 | uses: jenkins-infra/github-reusable-workflows/.github/workflows/maven-cd.yml@v1 13 | secrets: 14 | MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} 15 | MAVEN_TOKEN: ${{ secrets.MAVEN_TOKEN }} 16 | -------------------------------------------------------------------------------- /.github/workflows/sync-labels.yml: -------------------------------------------------------------------------------- 1 | name: Sync labels 2 | on: 3 | push: 4 | branches: 5 | - master 6 | - main 7 | paths: 8 | - .github/labels.yml 9 | - .github/workflows/sync-labels.yml 10 | 11 | jobs: 12 | sync-labels: 13 | name: Sync labels 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v6 17 | - uses: brpaz/action-label-syncer@0.2.0 18 | env: 19 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 20 | with: 21 | manifest: .github/labels.yml 22 | -------------------------------------------------------------------------------- /.github/workflows/check-md-links.yml: -------------------------------------------------------------------------------- 1 | name: 'Link Checker' 2 | 3 | on: push 4 | 5 | jobs: 6 | check-markdown-links: 7 | name: 'Check Markdown links' 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v6 11 | - uses: umbrelladocs/action-linkspector@v1.4.0 12 | with: 13 | github_token: ${{ secrets.github_token }} 14 | reporter: github-pr-check 15 | fail_on_error: true 16 | filter_mode: nofilter 17 | config_file: '.github/linkspector.yml' 18 | level: 'info' 19 | -------------------------------------------------------------------------------- /.github/workflows/enforce-labels.yml: -------------------------------------------------------------------------------- 1 | name: Label Checker 2 | on: 3 | pull_request_target: 4 | types: [opened, labeled, unlabeled, synchronize] 5 | jobs: 6 | enforce-labels: 7 | name: 'Enforce PR labels' 8 | runs-on: ubuntu-latest 9 | permissions: 10 | issues: write 11 | pull-requests: write 12 | steps: 13 | - uses: mheap/github-action-required-labels@v5 14 | with: 15 | mode: minimum 16 | count: 1 17 | labels: "bug,feature,enhancement,breaking,tests,documentation,internal,dependencies" 18 | message: "Maintainer needs to assign at least one label before merge" 19 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: maven 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | open-pull-requests-limit: 10 8 | commit-message: 9 | prefix: "" 10 | ignore: 11 | - dependency-name: org.eclipse.collections:eclipse-collections 12 | versions: 13 | - ">= 10.a" 14 | - dependency-name: org.eclipse.collections:eclipse-collections-api 15 | versions: 16 | - ">= 10.a" 17 | 18 | - package-ecosystem: "github-actions" 19 | directory: "/" 20 | commit-message: 21 | prefix: "" 22 | schedule: 23 | interval: "daily" 24 | 25 | - package-ecosystem: "npm" 26 | directory: "/" 27 | commit-message: 28 | prefix: "" 29 | schedule: 30 | interval: "daily" 31 | ignore: 32 | - dependency-name: datatables.net-responsive 33 | versions: 34 | - "> 3.0.2" 35 | - dependency-name: datatables.net-responsive-bs5 36 | versions: 37 | - "> 3.0.2" 38 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: 'GitHub CI' 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | 9 | jobs: 10 | build: 11 | 12 | strategy: 13 | fail-fast: false 14 | matrix: 15 | platform: [ubuntu-latest, macos-latest, windows-latest] 16 | jdk: [21, 25] 17 | 18 | runs-on: ${{ matrix.platform }} 19 | name: on ${{ matrix.platform }} with JDK ${{ matrix.jdk }} 20 | 21 | steps: 22 | - uses: actions/checkout@v6 23 | - name: Set up JDK ${{ matrix.jdk }} 24 | uses: actions/setup-java@v5 25 | with: 26 | distribution: 'temurin' 27 | java-version: '${{ matrix.jdk }}' 28 | check-latest: true 29 | cache: 'maven' 30 | - name: Set up Maven 31 | uses: stCarolas/setup-maven@v5 32 | with: 33 | maven-version: 3.9.11 34 | - name: Build with Maven 35 | env: 36 | BROWSER: chrome-container 37 | run: mvn -V --color always -ntp clean verify -Pci -Pno-ui-tests '-Djenkins.test.timeout=5000' '-Dgpg.skip' 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Dr. Ullrich Hafner 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/labels.yml: -------------------------------------------------------------------------------- 1 | - name: bug 2 | description: Bugs or performance problems 3 | color: CC0000 4 | - name: feature 5 | color: 1d76db 6 | description: New features 7 | - name: enhancement 8 | description: Enhancement of existing functionality 9 | color: 0366d6 10 | - name: breaking 11 | description: Breaking Changes 12 | color: e4b21d 13 | - name: tests 14 | description: Enhancement of tests 15 | color: 0e8a16 16 | - name: documentation 17 | description: Enhancement of documentation 18 | color: bfafea 19 | - name: internal 20 | description: Internal changes without user or API impact 21 | color: e6e6e6 22 | - name: dependencies 23 | description: Update of dependencies 24 | color: e6e6e6 25 | - name: java 26 | description: Pull requests that update Maven Java dependencies 27 | color: b6b6b6 28 | - name: javascript 29 | description: Pull requests that update Node Javascript dependencies 30 | color: b6b6b6 31 | - name: github_actions 32 | description: Pull requests that update Github Actions workflows 33 | color: 909090 34 | - name: hacktoberfest 35 | description: Pull requests that participate in Hacktoberfest 36 | color: 7057ff 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Analysis POM 2 | 3 | [![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) 4 | [![Jenkins Version](https://img.shields.io/badge/Jenkins-2.516.3-green.svg?label=min.%20Jenkins)](https://jenkins.io/download/) 5 | [![Jenkins](https://ci.jenkins.io/job/Plugins/job/analysis-pom-plugin/job/main/badge/icon?subject=Jenkins%20CI)](https://ci.jenkins.io/job/Plugins/job/analysis-pom-plugin/job/main/) 6 | [![GitHub Actions](https://github.com/jenkinsci/analysis-pom-plugin/workflows/GitHub%20CI/badge.svg)](https://github.com/jenkinsci/analysis-pom-plugin/actions) 7 | 8 | This POM serves as the parent POM for all my Jenkins Plugins. 9 | It basically enhances the [Parent POM for Jenkins Plugins](https://github.com/jenkinsci/plugin-pom) with a predefined configuration of several static analysis tools. 10 | Additionally, it provides a fix set of test dependencies that are common to all my plugins. 11 | This POM enforces the [Java style guide](https://github.com/uhafner/codingstyle) that I am using in these plugins (and in my lectures at the Munich University of Applied Sciences). 12 | 13 | 14 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | 7 | org.jenkins-ci.plugins 8 | plugin 9 | 5.30 10 | 11 | 12 | 13 | org.jvnet.hudson.plugins 14 | analysis-pom 15 | ${revision}.${changelist} 16 | pom 17 | Analysis Plug-ins Parent POM 18 | This POM serves as parent POM for all my Jenkins Plugins. It basically enhances the 19 | Parent POM for Jenkins Plugins (see https://github.com/jenkinsci/plugin-pom) with a predefined configuration of 20 | several static analysis tools. Additionally, it provides a fix set of test dependencies that are common 21 | to all my plugins. This POM enforces the Java style guide (see https://github.com/uhafner/codingstyle) that I am 22 | using in these plugins (and in my lectures at the Munich University of Applied Sciences). 23 | 24 | 25 | https://github.com/jenkinsci/analysis-pom-plugin 26 | 27 | 28 | 29 | MIT license 30 | All source code is under the MIT license. 31 | 32 | 33 | 34 | 35 | 36 | uhafner 37 | Ullrich Hafner 38 | ullrich.hafner@gmail.com 39 | https://cs.hm.edu/~hafner 40 | Munich University of Applied Sciences 41 | https://www.hm.edu/en/index.en.html 42 | 43 | 44 | 45 | 46 | scm:git:https://github.com/${gitHubRepo}.git 47 | scm:git:git@github.com:${gitHubRepo}.git 48 | ${scmTag} 49 | https://github.com/${gitHubRepo} 50 | 51 | 52 | 53 | 11 54 | 999999-SNAPSHOT 55 | jenkinsci/analysis-pom-plugin 56 | 2.516 57 | ${jenkins.baseline}.3 58 | ${maven.compiler.release} 59 | 60 | false 61 | 62 | 5.25.0 63 | 64 | 65 | 22.19.0 66 | 11.6.0 67 | https://repo.jenkins-ci.org/nodejs-dist/ 68 | https://repo.jenkins-ci.org/npm-dist/ 69 | 70 | 71 | 4.2.5 72 | 2.3.0 73 | 3.27.6 74 | 1.4.1 75 | 5.1.0 76 | 77 | 78 | 4.9.8 79 | 4.9.6.0 80 | 3.0.2 81 | 7.19.0 82 | 7.19.0-metrics 83 | 3.6.0 84 | 12.3.0 85 | 3.28.0 86 | 1.14.0 87 | 1.22.0 88 | 1.2.3 89 | 0.15.1 90 | 0.28.4 91 | 0.5.1 92 | 2.2.0 93 | 4.0.3 94 | 12.1.9 95 | 96 | 97 | 6.26.0 98 | 3.24.0 99 | 2.24.0 100 | 3.24.0 101 | 1.15.0 102 | 103 | 104 | 105 | 106 | 107 | io.jenkins.tools.bom 108 | bom-${jenkins.baseline}.x 109 | 5774.v5c6d72f56a_61 110 | pom 111 | import 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | com.github.spotbugs 120 | spotbugs-annotations 121 | provided 122 | 123 | 124 | 125 | 126 | io.jenkins.plugins 127 | commons-lang3-api 128 | 129 | 130 | io.jenkins.plugins 131 | commons-text-api 132 | 133 | 134 | 135 | 136 | nl.jqno.equalsverifier 137 | equalsverifier 138 | ${equalsverifier.version} 139 | test 140 | 141 | 142 | org.junit.jupiter 143 | junit-jupiter 144 | test 145 | 146 | 147 | org.junit-pioneer 148 | junit-pioneer 149 | ${junit-pioneer.version} 150 | test 151 | 152 | 153 | org.mockito 154 | mockito-core 155 | test 156 | 157 | 158 | org.assertj 159 | assertj-core 160 | ${assertj.version} 161 | test 162 | 163 | 164 | com.tngtech.archunit 165 | archunit-junit5 166 | ${archunit.version} 167 | test 168 | 169 | 170 | org.slf4j 171 | slf4j-api 172 | 173 | 174 | junit-platform-engine 175 | org.junit.platform 176 | 177 | 178 | 179 | 180 | net.javacrumbs.json-unit 181 | json-unit-assertj 182 | ${json-unit-fluent.version} 183 | test 184 | 185 | 186 | org.ow2.asm 187 | asm 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | repo.jenkins-ci.org 197 | https://repo.jenkins-ci.org/public/ 198 | 199 | 200 | 201 | 202 | 203 | repo.jenkins-ci.org 204 | https://repo.jenkins-ci.org/public/ 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | com.github.ekryd.sortpom 213 | sortpom-maven-plugin 214 | ${sortpom-maven-plugin.version} 215 | 216 | false 217 | true 218 | false 219 | groupId,artifactId 220 | true 221 | 222 | 223 | 224 | com.github.ferstl 225 | depgraph-maven-plugin 226 | ${depgraph-maven-plugin.version} 227 | 228 | 229 | io.github.git-commit-id 230 | git-commit-id-maven-plugin 231 | ${git-commit-id-maven-plugin.version} 232 | 233 | true 234 | ${project.build.outputDirectory}/git.properties 235 | 236 | 237 | ^git.build.(time|version)$ 238 | ^git.commit.id.(abbrev|full)$ 239 | 240 | full 241 | 242 | 243 | 244 | org.apache.maven.plugins 245 | maven-checkstyle-plugin 246 | ${maven-checkstyle-plugin.version} 247 | 248 | 249 | org.apache.maven.plugins 250 | maven-pmd-plugin 251 | ${maven-pmd-plugin.version} 252 | 253 | 254 | org.assertj 255 | assertj-assertions-generator-maven-plugin 256 | ${assertj-assertions-generator-maven-plugin.version} 257 | 258 | 259 | .*ITest 260 | .*Action 261 | 262 | true 263 | false 264 | false 265 | false 266 | true 267 | 268 | ${project.basedir}/etc/assertj-templates/ 269 | assertions_entry_point_class_template.txt 270 | assertions_entry_point_method_template.txt 271 | soft_assertions_entry_point_class_template.txt 272 | soft_assertions_entry_point_method_template.txt 273 | has_assertion_template.txt 274 | assertion_class_template.txt 275 | 276 | 277 | 278 | 279 | 280 | generate-assertions 281 | 282 | 283 | 284 | 285 | 286 | org.openrewrite.maven 287 | rewrite-maven-plugin 288 | ${rewrite-maven-plugin.version} 289 | 290 | 291 | org.openrewrite.maven.BestPractices 292 | org.openrewrite.maven.RemoveRedundantDependencyVersions 293 | org.openrewrite.staticanalysis.AddSerialAnnotationToSerialVersionUID 294 | org.openrewrite.staticanalysis.MissingOverrideAnnotation 295 | org.openrewrite.staticanalysis.CodeCleanup 296 | org.openrewrite.staticanalysis.CommonStaticAnalysis 297 | org.openrewrite.staticanalysis.RemoveExtraSemicolons 298 | org.openrewrite.java.migrate.UpgradeToJava17 299 | org.openrewrite.java.migrate.util.SequencedCollection 300 | org.openrewrite.java.migrate.lang.var.UseVarForObject 301 | org.openrewrite.java.migrate.net.JavaNetAPIs 302 | org.openrewrite.java.migrate.util.JavaUtilAPIs 303 | org.openrewrite.java.migrate.lang.StringRulesRecipes 304 | org.openrewrite.java.format.RemoveTrailingWhitespace 305 | org.openrewrite.java.format.BlankLines 306 | org.openrewrite.java.format.EmptyNewlineAtEndOfFile 307 | org.openrewrite.java.testing.assertj.SimplifyChainedAssertJAssertions 308 | 309 | 310 | 311 | 312 | org.openrewrite.recipe 313 | rewrite-testing-frameworks 314 | ${rewrite-testing-frameworks.version} 315 | 316 | 317 | org.openrewrite.recipe 318 | rewrite-static-analysis 319 | ${rewrite-static-analysis.version} 320 | 321 | 322 | org.openrewrite.recipe 323 | rewrite-migrate-java 324 | ${rewrite-migrate-java.version} 325 | 326 | 327 | org.openrewrite.recipe 328 | rewrite-recommendations 329 | ${rewrite-recommendations.version} 330 | 331 | 332 | 333 | 334 | org.owasp 335 | dependency-check-maven 336 | ${dependency-check-maven.version} 337 | 338 | 339 | org.pitest 340 | pitest-maven 341 | ${pitest-maven.version} 342 | 343 | XML,HTML 344 | 345 | *ITest 346 | 347 | 348 | *equals 349 | *hashCode 350 | *toString 351 | 352 | 353 | 354 | 355 | org.pitest 356 | pitest-junit5-plugin 357 | ${pitest-junit5-plugin.version} 358 | 359 | 360 | 361 | 362 | org.revapi 363 | revapi-maven-plugin 364 | ${revapi-maven-plugin.version} 365 | 366 | 367 | org.apache.maven.plugins 368 | maven-resources-plugin 369 | ${maven-resources-plugin.version} 370 | 371 | 372 | 373 | 374 | 375 | org.apache.maven.plugins 376 | maven-enforcer-plugin 377 | 378 | 379 | display-info 380 | 381 | 382 | 383 | WARN 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | org.apache.maven.plugins 392 | maven-release-plugin 393 | 394 | v@{project.version} 395 | 396 | 397 | 398 | org.apache.maven.plugins 399 | maven-compiler-plugin 400 | 401 | 402 | -Xlint:all 403 | -J-Duser.country=US 404 | -J-Duser.language=en 405 | 406 | 407 | 408 | 409 | org.apache.maven.plugins 410 | maven-jar-plugin 411 | 412 | 413 | 414 | Ullrich Hafner 415 | ${project.scm.url} 416 | 417 | 418 | 419 | 420 | 421 | 422 | test-jar 423 | 424 | 425 | 426 | **/*Assert* 427 | **/*PageObject* 428 | 429 | 430 | 431 | 432 | 433 | 434 | org.apache.maven.plugins 435 | maven-surefire-plugin 436 | 437 | false 438 | 439 | 440 | **/*ITest.* 441 | **/InjectedTest.* 442 | 443 | 444 | 445 | 446 | com.tngtech.archunit 447 | archunit-junit5-engine 448 | ${archunit.version} 449 | 450 | 451 | 452 | 453 | org.apache.maven.plugins 454 | maven-failsafe-plugin 455 | 456 | 457 | **/*ITest.* 458 | **/*InjectedTest.* 459 | 460 | false 461 | 462 | 463 | 464 | 465 | integration-test 466 | verify 467 | 468 | 469 | 470 | 471 | 472 | org.apache.maven.plugins 473 | maven-javadoc-plugin 474 | 475 | -Xdoclint:all 476 | false 477 | true 478 | 479 | 480 | 481 | 482 | javadoc 483 | 484 | 485 | process-sources 486 | 487 | 488 | 489 | 490 | org.pitest 491 | pitest-maven 492 | 493 | XML,HTML 494 | true 495 | 496 | io.jenkins.plugins.* 497 | 498 | 499 | io.jenkins.plugins.* 500 | 501 | 502 | *Assert 503 | *Assertions 504 | *ArchitectureTest 505 | *ITest 506 | *jmh_generated* 507 | 508 | 509 | 510 | 511 | org.pitest 512 | pitest-junit5-plugin 513 | ${pitest-junit5-plugin.version} 514 | 515 | 516 | 517 | 518 | org.apache.maven.plugins 519 | maven-pmd-plugin 520 | 521 | false 522 | ${java.version} 523 | true 524 | 525 | 526 | 527 | edu.hm.hafner 528 | pmd-core 529 | ${pmd.metrics.version} 530 | 531 | 532 | edu.hm.hafner 533 | pmd-java 534 | ${pmd.metrics.version} 535 | 536 | 537 | net.sourceforge.pmd 538 | pmd-javascript 539 | ${pmd.version} 540 | 541 | 542 | edu.hm.hafner 543 | codingstyle 544 | ${codingstyle.config.version} 545 | config 546 | 547 | 548 | 549 | 550 | run-pmd-java 551 | 552 | pmd 553 | check 554 | cpd 555 | 556 | verify 557 | 558 | ${project.build.directory}/pmd-java 559 | 560 | pmd-java-configuration.xml 561 | 562 | false 563 | 50 564 | true 565 | ${pmd.skip} 566 | 567 | ${project.build.directory}/generated-sources/localizer 568 | 569 | 570 | 571 | 572 | run-pmd-tests 573 | 574 | pmd 575 | check 576 | cpd 577 | 578 | verify 579 | 580 | ${project.build.directory}/pmd-tests 581 | 582 | pmd-tests-configuration.xml 583 | 584 | true 585 | 100 586 | true 587 | 588 | src/main/java 589 | ${project.build.directory}/generated-sources/localizer 590 | ${project.build.directory}/generated-test-sources/injected 591 | ${project.build.directory}/generated-test-sources/test-annotations 592 | ${project.build.directory}/generated-test-sources/assertj-assertions 593 | 594 | ${pmd.skip} 595 | 596 | 597 | 598 | run-pmd-javascript 599 | 600 | pmd 601 | check 602 | 603 | verify 604 | 605 | ${project.build.directory}/pmd-javascript 606 | 607 | pmd-javascript-configuration.xml 608 | 609 | false 610 | javascript 611 | true 612 | 613 | ${project.basedir}/src/main/resources 614 | ${project.basedir}/src/main/webapp/js 615 | 616 | 617 | **/*.js 618 | 619 | ${pmd.skip} 620 | 621 | 622 | 623 | run-pmd-metrics 624 | 625 | pmd 626 | 627 | verify 628 | 629 | ${project.build.directory}/metrics 630 | 631 | /category/java/metric.xml 632 | 633 | net.sourceforge.pmd.renderers.MetricsRenderer 634 | false 635 | ${pmd.skip} 636 | 637 | 638 | 639 | 640 | 641 | org.apache.maven.plugins 642 | maven-checkstyle-plugin 643 | 644 | false 645 | true 646 | warning 647 | **/*Assert*.java,**/InjectedTest.java,**/Messages.java,**/*_jmh* 648 | 649 | 650 | 651 | com.puppycrawl.tools 652 | checkstyle 653 | ${checkstyle.version} 654 | 655 | 656 | edu.hm.hafner 657 | codingstyle 658 | ${codingstyle.config.version} 659 | config 660 | 661 | 662 | 663 | 664 | run-checkstyle-java 665 | 666 | check 667 | 668 | verify 669 | 670 | **/module-info.java 671 | false 672 | checkstyle-java-configuration.xml 673 | ${project.build.directory}/checkstyle-java/checkstyle-result.xml 674 | 675 | 676 | 677 | run-checkstyle-tests 678 | 679 | check 680 | 681 | verify 682 | 683 | **/*Assert*.java,**/*_jmh*,**/module-info.java 684 | true 685 | checkstyle-tests-configuration.xml 686 | ${project.build.directory}/checkstyle-tests/checkstyle-result.xml 687 | 688 | 689 | 690 | 691 | 692 | 693 | com.github.spotbugs 694 | spotbugs-maven-plugin 695 | 696 | true 697 | Low 698 | Low 699 | Max 700 | false 701 | true 702 | spotbugs-exclusion-filter.xml 703 | true 704 | 705 | 706 | com.h3xstream.findsecbugs 707 | findsecbugs-plugin 708 | ${findsecbugs-plugin.version} 709 | 710 | 711 | 712 | 713 | 714 | edu.hm.hafner 715 | codingstyle 716 | ${codingstyle.config.version} 717 | config 718 | 719 | 720 | com.github.spotbugs 721 | spotbugs 722 | ${spotbugs.version} 723 | 724 | 725 | com.google.code.findbugs 726 | jsr305 727 | ${jsr305.version} 728 | 729 | 730 | 731 | 732 | spotbugs 733 | 734 | check 735 | 736 | verify 737 | 738 | 739 | 740 | 741 | org.jacoco 742 | jacoco-maven-plugin 743 | 744 | 745 | io/jenkins/plugins/**/* 746 | 747 | 748 | 749 | 750 | 751 | prepare-agent 752 | 753 | process-test-classes 754 | 755 | 756 | report 757 | 758 | report 759 | 760 | verify 761 | 762 | 763 | 764 | 765 | org.revapi 766 | revapi-maven-plugin 767 | 768 | [-0-9.]* 769 | false 770 | 771 | 772 | 773 | manually-vetted 774 | revapi.versions 775 | 776 | 777 | 778 | 779 | 780 | 781 | ok 782 | 783 | 784 | 785 | true 786 | true 787 | java.annotation.removed 788 | @edu.umd.cs.findbugs.annotations.SuppressFBWarnings.* 789 | SpotBugs Annotations are not relevant in API 790 | 791 | 792 | 793 | 794 | true 795 | false 796 | 797 | documented 798 | Allowed by the rules of semantic versioning. 799 | 800 | 801 | 802 | 803 | 804 | 805 | java-package 806 | /org\.jenkinsci\.plugins\.workflow(\..*)?/ 807 | 808 | 809 | java-package 810 | /org\.jenkins\.ui\.symbol(\..*)?/ 811 | 812 | 813 | java-package 814 | /org\.jvnet(\..*)?/ 815 | 816 | 817 | java-package 818 | /net\.sf\.json(\..*)?/ 819 | 820 | 821 | java-package 822 | /hudson(\..*)?/ 823 | 824 | 825 | java-package 826 | /org.kohsuke(\..*)?/ 827 | 828 | 829 | 830 | 831 | 832 | NON_BREAKING 833 | documented 834 | ${project.build.directory}/revapi-result.json 835 | false 836 | false 837 | true 838 | 839 | 840 | 841 | 842 | 843 | org.revapi 844 | revapi-java 845 | ${revapi-java.version} 846 | 847 | 848 | org.revapi 849 | revapi-reporter-json 850 | ${revapi-reporter-json-version} 851 | 852 | 853 | io.jenkins.tools 854 | revapi-hpi-extractor 855 | 1.0.1 856 | 857 | 858 | 859 | 860 | run-revapi 861 | 862 | check 863 | 864 | verify 865 | 866 | 867 | 868 | 869 | 870 | 871 | 872 | 873 | skip 874 | 875 | true 876 | true 877 | true 878 | true 879 | true 880 | true 881 | true 882 | true 883 | 884 | 885 | 886 | ci 887 | 888 | 889 | maven.test.failure.ignore 890 | true 891 | 892 | 893 | 894 | true 895 | false 896 | false 897 | false 898 | false 899 | 900 | 901 | 902 | pit 903 | 904 | 905 | 906 | org.pitest 907 | pitest-maven 908 | 909 | 910 | test 911 | 912 | mutationCoverage 913 | 914 | 915 | 916 | 917 | 918 | 919 | 920 | 921 | owasp 922 | 923 | 924 | 925 | org.owasp 926 | dependency-check-maven 927 | 928 | NVD_API_KEY 929 | JSON 930 | ullrich.hafner@gmail.com 931 | 932 | ${env.OSS_INDEX_TOKEN} 933 | 934 | 935 | 936 | 937 | check 938 | 939 | 940 | 941 | 942 | 943 | 944 | 945 | 946 | depgraph 947 | 948 | 949 | 950 | com.github.ferstl 951 | depgraph-maven-plugin 952 | 953 | puml 954 | compile 955 | true 956 | true 957 | true 958 | true 959 | dependency-graph 960 | ${project.basedir}/doc 961 | 962 | 963 | 964 | 965 | graph 966 | 967 | verify 968 | 969 | 970 | 971 | 972 | 973 | 974 | 975 | benchmark 976 | 977 | 978 | 979 | org.apache.maven.plugins 980 | maven-surefire-plugin 981 | 982 | 983 | **/*Test.java 984 | 985 | 986 | **/*Benchmark.java 987 | 988 | 989 | 990 | 991 | 992 | 993 | 994 | skip-flatten 995 | 996 | 997 | 998 | org.codehaus.mojo 999 | flatten-maven-plugin 1000 | 1.7.3 1001 | 1002 | true 1003 | 1004 | 1005 | 1006 | org.apache.maven.plugins 1007 | maven-jar-plugin 1008 | 1009 | true 1010 | 1011 | 1012 | 1013 | org.codehaus.mojo 1014 | versions-maven-plugin 1015 | 2.20.1 1016 | 1017 | 1018 | 1019 | set 1020 | 1021 | verify 1022 | 1023 | 1024 | 1025 | ${project.version} 1026 | 1027 | 1028 | 1029 | 1030 | 1031 | 1032 | 1033 | 1034 | --------------------------------------------------------------------------------