├── .github ├── dependabot.yml ├── release-drafter.yml └── workflows │ ├── maven.yml │ └── release-drafter.yml ├── .gitignore ├── .mvn └── .keep-me ├── README.md ├── config-assembly.xml ├── pom.xml └── src ├── main └── config │ ├── checkstyle │ ├── asf20-header.txt │ ├── empty-header.txt │ └── mit-header.txt │ └── pmd │ └── mojo_rules.xml └── site ├── markdown └── index.md.vm └── site.xml /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "maven" 4 | directory: "/" 5 | schedule: 6 | interval: "daily" 7 | ignore: 8 | # Ignore Maven Core updates 9 | - dependency-name: "org.apache.maven:*" 10 | # Checkstyle >=10 requires Java 11+ 11 | - dependency-name: "com.puppycrawl.tools:checkstyle" 12 | versions: [">= 10.0"] 13 | open-pull-requests-limit: 10 14 | - package-ecosystem: "github-actions" 15 | directory: "/" 16 | schedule: 17 | interval: "daily" 18 | -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- 1 | _extends: .github 2 | # mojo-parent uses a single version number, no semantic versioning 3 | version-template: '$MAJOR' 4 | -------------------------------------------------------------------------------- /.github/workflows/maven.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | name: GitHub CI 19 | 20 | on: [push, pull_request] 21 | 22 | jobs: 23 | build: 24 | name: Build 25 | runs-on: ubuntu-latest 26 | 27 | strategy: 28 | fail-fast: false 29 | matrix: 30 | jdk: [ 8, 21 ] 31 | 32 | steps: 33 | - name: Checkout 34 | uses: actions/checkout@v4 35 | 36 | - name: Set up JDK 37 | uses: actions/setup-java@v4 38 | with: 39 | java-version: ${{ matrix.jdk }} 40 | distribution: 'temurin' 41 | cache: 'maven' 42 | 43 | - name: Build with Maven 44 | run: mvn -e -B -V verify site 45 | 46 | # deploy: 47 | # name: Deploy 48 | # needs: build 49 | # uses: mojohaus/.github/.github/workflows/maven-deploy.yml@master 50 | # secrets: inherit 51 | 52 | 53 | -------------------------------------------------------------------------------- /.github/workflows/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name: Release Drafter 2 | on: 3 | push: 4 | branches: 5 | - master 6 | workflow_dispatch: 7 | 8 | jobs: 9 | update_release_draft: 10 | uses: apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml@v4 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # MojoHaus: Standard gitignore file for Java and Maven development. 3 | # 4 | 5 | ### Custom entries ### 6 | /bootstrap 7 | .java-version 8 | /dependencies.xml 9 | 10 | ### OSX ### 11 | .DS_Store 12 | .AppleDouble 13 | .LSOverride 14 | 15 | # Icon must end with two \r 16 | Icon 17 | 18 | 19 | # Thumbnails 20 | ._* 21 | 22 | # Files that might appear on external disk 23 | .Spotlight-V100 24 | .Trashes 25 | 26 | # Directories potentially created on remote AFP share 27 | .AppleDB 28 | .AppleDesktop 29 | Network Trash Folder 30 | Temporary Items 31 | .apdisk 32 | 33 | 34 | ### Windows ### 35 | # Windows image file caches 36 | Thumbs.db 37 | ehthumbs.db 38 | 39 | # Folder config file 40 | Desktop.ini 41 | 42 | # Recycle Bin used on file shares 43 | $RECYCLE.BIN/ 44 | 45 | # Windows Installer files 46 | *.cab 47 | *.msi 48 | *.msm 49 | *.msp 50 | 51 | # Windows shortcuts 52 | *.lnk 53 | 54 | 55 | ### Linux ### 56 | *~ 57 | 58 | # KDE directory preferences 59 | .directory 60 | 61 | 62 | ### Eclipse ### 63 | *.pydevproject 64 | .metadata 65 | .gradle 66 | bin/ 67 | tmp/ 68 | *.tmp 69 | *.bak 70 | *.swp 71 | *~.nib 72 | local.properties 73 | .settings/ 74 | .loadpath 75 | .project 76 | .classpath 77 | 78 | # External tool builders 79 | .externalToolBuilders/ 80 | 81 | # Locally stored "Eclipse launch configurations" 82 | *.launch 83 | 84 | # CDT-specific 85 | .cproject 86 | 87 | # PDT-specific 88 | .buildpath 89 | 90 | # sbteclipse plugin 91 | .target 92 | 93 | # TeXlipse plugin 94 | .texlipse 95 | 96 | 97 | ### NetBeans ### 98 | nbproject/private/ 99 | build/ 100 | nbbuild/ 101 | dist/ 102 | nbdist/ 103 | nbactions.xml 104 | nb-configuration.xml 105 | 106 | 107 | ### Intellij ### 108 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm 109 | 110 | *.iml 111 | 112 | ## Directory-based project format: 113 | .idea/ 114 | # if you remove the above rule, at least ignore the following: 115 | 116 | # User-specific stuff: 117 | # .idea/workspace.xml 118 | # .idea/tasks.xml 119 | # .idea/dictionaries 120 | 121 | # Sensitive or high-churn files: 122 | # .idea/dataSources.ids 123 | # .idea/dataSources.xml 124 | # .idea/sqlDataSources.xml 125 | # .idea/dynamic.xml 126 | # .idea/uiDesigner.xml 127 | 128 | # Gradle: 129 | # .idea/gradle.xml 130 | # .idea/libraries 131 | 132 | # Mongo Explorer plugin: 133 | # .idea/mongoSettings.xml 134 | 135 | ## File-based project format: 136 | *.ipr 137 | *.iws 138 | 139 | ## Plugin-specific files: 140 | 141 | # IntelliJ 142 | out/ 143 | 144 | # mpeltonen/sbt-idea plugin 145 | .idea_modules/ 146 | 147 | # JIRA plugin 148 | atlassian-ide-plugin.xml 149 | 150 | # Crashlytics plugin (for Android Studio and IntelliJ) 151 | com_crashlytics_export_strings.xml 152 | crashlytics.properties 153 | crashlytics-build.properties 154 | 155 | 156 | ### vim ### 157 | [._]*.s[a-w][a-z] 158 | [._]s[a-w][a-z] 159 | *.un~ 160 | Session.vim 161 | .netrwhist 162 | *~ 163 | 164 | 165 | ### Maven ### 166 | target/ 167 | pom.xml.tag 168 | pom.xml.releaseBackup 169 | pom.xml.versionsBackup 170 | pom.xml.next 171 | release.properties 172 | ### Karma ### 173 | node/ 174 | node_modules/ 175 | 176 | 177 | ### Java ### 178 | *.class 179 | 180 | # Mobile Tools for Java (J2ME) 181 | .mtj.tmp/ 182 | 183 | # Package Files # 184 | *.jar 185 | *.war 186 | *.ear 187 | 188 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 189 | hs_err_pid* 190 | 191 | 192 | ### Python ### 193 | # Byte-compiled / optimized / DLL files 194 | __pycache__/ 195 | *.py[cod] 196 | 197 | # C extensions 198 | *.so 199 | 200 | # Distribution / packaging 201 | .Python 202 | env/ 203 | build/ 204 | develop-eggs/ 205 | dist/ 206 | downloads/ 207 | eggs/ 208 | lib/ 209 | lib64/ 210 | parts/ 211 | sdist/ 212 | var/ 213 | *.egg-info/ 214 | .installed.cfg 215 | *.egg 216 | 217 | # PyInstaller 218 | # Usually these files are written by a python script from a template 219 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 220 | *.manifest 221 | *.spec 222 | 223 | # Installer logs 224 | pip-log.txt 225 | pip-delete-this-directory.txt 226 | 227 | # Unit test / coverage reports 228 | htmlcov/ 229 | .tox/ 230 | .coverage 231 | .cache 232 | nosetests.xml 233 | coverage.xml 234 | 235 | # Translations 236 | *.mo 237 | *.pot 238 | 239 | # Django stuff: 240 | *.log 241 | 242 | # Sphinx documentation 243 | docs/_build/ 244 | 245 | # PyBuilder 246 | target/ 247 | 248 | 249 | ### CVS ### 250 | /CVS/* 251 | */CVS/* 252 | .cvsignore 253 | */.cvsignore 254 | 255 | 256 | ### SVN ### 257 | .svn/ 258 | 259 | 260 | ### Mercurial ### 261 | /.hg/* 262 | */.hg/* 263 | .hgignore 264 | 265 | ### Takari Maven Wrapper ### 266 | /mvnw.bat 267 | /mvnw 268 | .mvn/wrapper 269 | 270 | -------------------------------------------------------------------------------- /.mvn/.keep-me: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mojohaus/mojo-parent/7914e85c158d60b74e0f53dbe3b32c39b72b6cd0/.mvn/.keep-me -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MojoHaus Parent 2 | 3 | This is the parent pom for all [MojoHaus](https://www.mojohaus.org) Maven plugins and components. 4 | 5 | [![Maven Central](https://img.shields.io/maven-central/v/org.codehaus.mojo/mojo-parent.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.codehaus.mojo/mojo-parent) 6 | [![GitHub CI](https://github.com/mojohaus/mojo-parent/actions/workflows/maven.yml/badge.svg)](https://github.com/mojohaus/mojo-parent/actions/workflows/maven.yml) 7 | 8 | ## Releasing 9 | 10 | * Make sure `gpg-agent` is running. 11 | * Execute `mvn -B release:prepare release:perform` 12 | 13 | For publishing the site, do the following (assuming mono-module project): 14 | 15 | ``` 16 | cd target/checkout 17 | mvn verify site site:stage scm-publish:publish-scm 18 | ``` 19 | 20 | -------------------------------------------------------------------------------- /config-assembly.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | config 7 | 8 | 9 | jar 10 | 11 | 12 | false 13 | 14 | 15 | 16 | src/main/config 17 | mojohaus/config 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 4.0.0 22 | 23 | org.codehaus.mojo 24 | mojo-parent 25 | 92-SNAPSHOT 26 | pom 27 | 28 | MojoHaus Parent 29 | Parent POM for all MojoHaus hosted Apache Maven plugins and components. 30 | https://www.mojohaus.org/${project.artifactId} 31 | 32 | MojoHaus 33 | https://www.mojohaus.org 34 | 35 | 36 | 37 | Apache-2.0 38 | https://www.apache.org/licenses/LICENSE-2.0.txt 39 | repo 40 | 41 | 42 | 43 | 44 | 45 | aheritier 46 | Arnaud Heritier 47 | https://github.com/aheritier 48 | MojoHaus 49 | https://github.com/mojohaus 50 | 51 | 52 | Batmat 53 | Baptiste Mathus 54 | https://github.com/Batmat 55 | MojoHaus 56 | https://github.com/mojohaus 57 | 58 | 59 | davidkarlsen 60 | David Karlsen 61 | https://github.com/davidkarlsen 62 | MojoHaus 63 | https://github.com/mojohaus 64 | 65 | 66 | Godin 67 | Evgeny Mandrikov 68 | https://github.com/Godin 69 | MojoHaus 70 | https://github.com/mojohaus 71 | 72 | 73 | hboutemy 74 | Hervé Boutemy 75 | https://github.com/hboutemy 76 | MojoHaus 77 | https://github.com/mojohaus 78 | 79 | 80 | khmarbaise 81 | Karl-Heinz Marbaise 82 | https://github.com/khmarbaise 83 | MojoHaus 84 | https://github.com/mojohaus 85 | 86 | 87 | lennartj 88 | Lennart Jörelid 89 | https://github.com/lennartj 90 | MojoHaus 91 | https://github.com/mojohaus 92 | 93 | 94 | mfriedenhagen 95 | Mirko Friedenhagen 96 | https://github.com/mfriedenhagen 97 | MojoHaus 98 | https://github.com/mojohaus 99 | 100 | 101 | andham 102 | Anders Hammar 103 | https://github.com/andham 104 | MojoHaus 105 | https://github.com/mojohaus 106 | 107 | 108 | olamy 109 | Olivier Lamy 110 | https://github.com/olamy 111 | MojoHaus 112 | https://github.com/mojohaus 113 | 114 | 115 | sjaranowski 116 | Slawomir Jaranowski 117 | https://github.com/slawekjaranowski 118 | MojoHaus 119 | https://github.com/mojohaus 120 | 121 | 122 | slachiewicz 123 | Sylwester Lachiewicz 124 | https://github.com/slachiewicz 125 | 126 | 127 | 128 | 129 | 130 | MojoHaus Development List 131 | mojohaus-dev+subscribe@googlegroups.com 132 | mojohaus-dev+unsubscribe@googlegroups.com 133 | mojohaus-dev@googlegroups.com 134 | https://groups.google.com/forum/#!forum/mojohaus-dev 135 | 136 | 137 | Maven User List 138 | mailto:users-subscribe@maven.apache.org 139 | mailto:users-unsubscribe@maven.apache.org 140 | mailto:users@maven.apache.org 141 | https://lists.apache.org/list.html?users@maven.apache.org 142 | 143 | 144 | 145 | 146 | scm:git:https://github.com/mojohaus/mojo-parent.git 147 | scm:git:https://github.com/mojohaus/mojo-parent.git 148 | 74 149 | https://github.com/mojohaus/mojo-parent/tree/${project.scm.tag} 150 | 151 | 152 | GitHub 153 | https://github.com/mojohaus/${project.artifactId}/issues 154 | 155 | 156 | GitHub 157 | https://github.com/mojohaus/${project.artifactId}/actions 158 | 159 | 160 | 161 | 162 | sonatype-central-portal 163 | Sonatype Central Portal 164 | https://repo.maven.apache.org/maven2 165 | 166 | 167 | sonatype-central-portal 168 | Sonatype Central Snapshots 169 | https://central.sonatype.com/repository/maven-snapshots 170 | 171 | 172 | github 173 | scm:git:ssh://git@github.com/mojohaus/mojo-parent.git 174 | 175 | 176 | 177 | 178 | UTF-8 179 | 8 180 | ${mojo.java.target} 181 | ${mojo.java.target} 182 | true 183 | 184 | ${mojo.java.target} 185 | ${mavenVersion} 186 | 3.6.3 187 | 188 | UTF-8 189 | 190 | true 191 | 192 | true 193 | 1.24 194 | 3.6.0 195 | 1.7.0 196 | 1.1.0 197 | 2.5.0 198 | 3.1.0 199 | 3.7.1 200 | 2.11 201 | 3.6.0 202 | 3.5.0 203 | 3.14.0 204 | 3.8.1 205 | 3.1.4 206 | 3.3.0 207 | 3.5.0 208 | 3.5.3 209 | 2.1.0 210 | 3.2.7 211 | 3.5.1 212 | 3.1.4 213 | 3.9.0 214 | 3.4.2 215 | 3.11.2 216 | 3.6.0 217 | 3.15.1 218 | 3.9.0 219 | 3.19.0 220 | 3.1.1 221 | 3.3.1 222 | 3.3.0 223 | 3.6.0 224 | 3.21.0 225 | 3.3.1 226 | 3.5.3 227 | 3.5.3 228 | 3.4.0 229 | 3.3.2 230 | 0.7.1 231 | 1.6.0 232 | 2.5.0 233 | 2.2.0 234 | 3.2.1 235 | 2.18.0 236 | 0.9.0.M4 237 | 2.44.5 238 | 2025-06-02T19:00:39Z 239 | 240 | ${project.reporting.outputDirectory} 241 | 5.13.0 242 | 243 | 9.3 244 | 245 | config/maven_checks_nocodestyle.xml 246 | 247 | true 248 | 249 | 250 | true 251 | automatic 252 | true 253 | false 254 | 255 | 256 | 257 | 258 | 259 | org.apache.maven 260 | maven-plugin-api 261 | 262 | ${mavenVersion} 263 | 264 | 265 | junit 266 | junit 267 | 4.13.2 268 | test 269 | 270 | 271 | org.junit 272 | junit-bom 273 | ${junit5.version} 274 | pom 275 | import 276 | 277 | 278 | org.apache.maven.plugin-tools 279 | maven-plugin-annotations 280 | 281 | ${maven-plugin-plugin.version} 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | eu.maveniverse.maven.plugins 291 | njord 292 | ${njord.version} 293 | 294 | 295 | 296 | org.apache.maven.plugins 297 | maven-antrun-plugin 298 | ${maven-antrun-plugin.version} 299 | 300 | 301 | org.apache.maven.plugins 302 | maven-assembly-plugin 303 | ${maven-assembly-plugin.version} 304 | 305 | 306 | org.apache.maven.plugins 307 | maven-checkstyle-plugin 308 | ${maven-checkstyle-plugin.version} 309 | 310 | 311 | src/main/java 312 | 313 | 314 | src/test/java 315 | 316 | true 317 | ${checkstyle.config.location} 318 | 319 | mojohaus/config/checkstyle/empty-header.txt 320 | 321 | 322 | 323 | org.apache.maven.shared 324 | maven-shared-resources 325 | 6 326 | 327 | 328 | org.codehaus.mojo 329 | mojo-parent 330 | 92-SNAPSHOT 331 | config 332 | 333 | 334 | com.puppycrawl.tools 335 | checkstyle 336 | ${checkstyle.version} 337 | 338 | 339 | 340 | 341 | 342 | check 343 | 344 | process-sources 345 | 346 | 347 | 348 | 349 | org.apache.maven.plugins 350 | maven-clean-plugin 351 | ${maven-clean-plugin.version} 352 | 353 | 354 | org.apache.maven.plugins 355 | maven-compiler-plugin 356 | ${maven-compiler-plugin.version} 357 | 358 | 359 | org.apache.maven.plugins 360 | maven-dependency-plugin 361 | ${maven-dependency-plugin.version} 362 | 363 | 364 | org.apache.maven.plugins 365 | maven-deploy-plugin 366 | ${maven-deploy-plugin.version} 367 | 368 | 369 | org.apache.maven.plugins 370 | maven-enforcer-plugin 371 | ${maven-enforcer-plugin.version} 372 | 373 | 374 | org.apache.maven.plugins 375 | maven-help-plugin 376 | ${maven-help-plugin.version} 377 | 378 | 379 | org.apache.maven.plugins 380 | maven-gpg-plugin 381 | ${maven-gpg-plugin.version} 382 | 383 | 384 | org.apache.maven.plugins 385 | maven-install-plugin 386 | ${maven-install-plugin.version} 387 | 388 | 389 | org.apache.maven.plugins 390 | maven-invoker-plugin 391 | ${maven-invoker-plugin.version} 392 | 393 | ${invoker.streamLogsOnFailures} 394 | 395 | 396 | 397 | org.apache.maven.plugins 398 | maven-jar-plugin 399 | ${maven-jar-plugin.version} 400 | 401 | 402 | 403 | true 404 | true 405 | 406 | 407 | 408 | 409 | 410 | org.apache.maven.plugins 411 | maven-war-plugin 412 | ${maven-war-plugin.version} 413 | 414 | 415 | org.apache.maven.plugins 416 | maven-ear-plugin 417 | ${maven-ear-plugin.version} 418 | 419 | 420 | org.apache.maven.plugins 421 | maven-javadoc-plugin 422 | ${maven-javadoc-plugin.version} 423 | 424 | true 425 | en 426 | 427 | 428 | 429 | org.apache.maven.plugins 430 | maven-jxr-plugin 431 | ${maven-jxr-plugin.version} 432 | 433 | 434 | org.apache.maven.plugins 435 | maven-plugin-plugin 436 | ${maven-plugin-plugin.version} 437 | 438 | 439 | java-annotations 440 | 441 | 442 | 443 | 444 | help-mojo 445 | 446 | helpmojo 447 | 448 | 449 | 450 | 451 | 452 | org.apache.maven.plugins 453 | maven-plugin-report-plugin 454 | ${maven-plugin-plugin.version} 455 | 456 | 457 | org.apache.maven.plugins 458 | maven-project-info-reports-plugin 459 | ${maven-project-info-reports-plugin.version} 460 | 461 | 462 | org.apache.maven.plugins 463 | maven-release-plugin 464 | ${maven-release-plugin.version} 465 | 466 | 467 | deploy 468 | -Pmojo-release 469 | true 470 | @{project.version} 471 | 472 | 473 | 474 | org.apache.maven.plugins 475 | maven-resources-plugin 476 | ${maven-resources-plugin.version} 477 | 478 | 479 | org.apache.maven.plugins 480 | maven-scm-publish-plugin 481 | ${maven-scm-publish-plugin.version} 482 | 483 | ${project.scm.developerConnection} 484 | gh-pages 485 | 486 | 487 | 488 | scm-publish 489 | 490 | publish-scm 491 | 492 | 493 | site-deploy 494 | 495 | 496 | 497 | 498 | org.apache.maven.plugins 499 | maven-shade-plugin 500 | ${maven-shade-plugin.version} 501 | 502 | 503 | org.apache.maven.plugins 504 | maven-site-plugin 505 | ${maven-site-plugin.version} 506 | 507 | 508 | true 509 | 510 | 511 | 512 | org.apache.maven.plugins 513 | maven-source-plugin 514 | ${maven-source-plugin.version} 515 | 516 | 517 | org.apache.maven.plugins 518 | maven-surefire-plugin 519 | ${maven-surefire-plugin.version} 520 | 521 | ${surefire.redirectTestOutputToFile} 522 | 523 | 524 | 525 | org.apache.maven.plugins 526 | maven-failsafe-plugin 527 | ${maven-failsafe-plugin.version} 528 | 529 | 530 | org.apache.maven.plugins 531 | maven-surefire-report-plugin 532 | ${maven-surefire-report-plugin.version} 533 | 534 | 535 | org.apache.maven.plugins 536 | maven-wrapper-plugin 537 | ${maven-wrapper-plugin.version} 538 | 539 | 540 | 541 | 542 | org.codehaus.mojo 543 | animal-sniffer-maven-plugin 544 | ${animal-sniffer-maven-plugin.version} 545 | 546 | 547 | org.codehaus.mojo 548 | build-helper-maven-plugin 549 | ${build-helper-maven-plugin.version} 550 | 551 | 552 | org.codehaus.mojo 553 | flatten-maven-plugin 554 | ${flatten-maven-plugin.version} 555 | 556 | 557 | org.codehaus.mojo 558 | l10n-maven-plugin 559 | ${l10n-maven-plugin.version} 560 | 561 | 562 | org.codehaus.mojo 563 | license-maven-plugin 564 | ${license-maven-plugin.version} 565 | 566 | 567 | org.codehaus.modello 568 | modello-maven-plugin 569 | ${modello-maven-plugin.version} 570 | 571 | 572 | org.codehaus.mojo 573 | mrm-maven-plugin 574 | ${mrm-maven-plugin.version} 575 | 576 | 577 | org.codehaus.plexus 578 | plexus-component-metadata 579 | ${plexus-component-metadata.version} 580 | 581 | 582 | org.codehaus.mojo 583 | taglist-maven-plugin 584 | ${taglist-maven-plugin.version} 585 | 586 | 587 | org.codehaus.mojo 588 | versions-maven-plugin 589 | ${versions-maven-plugin.version} 590 | 591 | 592 | org.eclipse.sisu 593 | sisu-maven-plugin 594 | ${sisu-maven-plugin.version} 595 | 596 | 597 | generate-index 598 | 599 | main-index 600 | test-index 601 | 602 | 603 | 604 | 605 | 606 | com.diffplug.spotless 607 | spotless-maven-plugin 608 | ${spotless-maven-plugin.version} 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | javax,java,,\# 617 | 618 | 619 | 620 | 621 | false 622 | 623 | true 624 | 625 | 626 | 627 | 628 | **/*.md 629 | 630 | 631 | target/** 632 | 633 | 634 | 635 | 636 | true 637 | 638 | 639 | 640 | 641 | spotless-check 642 | 643 | check 644 | 645 | process-sources 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | org.apache.maven.plugins 655 | maven-enforcer-plugin 656 | 657 | 658 | mojo-enforcer-rules 659 | 660 | enforce 661 | 662 | validate 663 | 664 | 665 | 666 | 667 | org.codehaus.plexus:plexus-component-api 668 | 669 | The plexus-component-api conflicts with the plexus-container-default used by Maven. You probably added a dependency that is missing the exclusions. 670 | 671 | 672 | Mojo is synchronized with repo1.maven.org. The rules for repo1.maven.org are that pom.xml files should not include repository definitions. If repository definitions are included, they must be limited to SNAPSHOT only repositories. 673 | true 674 | true 675 | true 676 | 677 | sonatype-central-portal 678 | apache.snapshots 679 | 680 | 681 | 682 | Best Practice is to always define plugin versions! 683 | true 684 | true 685 | 686 | 687 | ${minimalMavenBuildVersion} 688 | You need at least Maven ${minimalMavenBuildVersion} to build MojoHaus projects. 689 | 690 | 691 | ${minimalJavaBuildVersion} 692 | 693 | 694 | project.scm.connection 695 | 698 | scm:git:https://github.com/.*\.git.* 699 | https (scm:git:https://github.com/.*\.git) is the preferred protocol for project.scm.connection, current value: ${project.scm.connection} 700 | 701 | 702 | project.scm.url 703 | 706 | https://github.com/.* 707 | Use https://github.com/.* as project.scm.url, especially using the prefix scm:git here will lead to unbrowseable links during site generation, current value: ${project.scm.url} 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | com.diffplug.spotless 716 | spotless-maven-plugin 717 | 718 | 719 | spotless-check 720 | 721 | check 722 | 723 | validate 724 | 725 | 726 | 727 | 728 | org.apache.maven.plugins 729 | maven-site-plugin 730 | false 731 | 732 | 733 | attach-descriptor 734 | 735 | attach-descriptor 736 | 737 | 738 | 739 | 740 | 741 | org.apache.maven.plugins 742 | maven-assembly-plugin 743 | 744 | 745 | assembly-configuration 746 | 747 | single 748 | 749 | package 750 | false 751 | 752 | 753 | 754 | true 755 | true 756 | 757 | 758 | 759 | config-assembly.xml 760 | 761 | 762 | 763 | 764 | 765 | 766 | 767 | 768 | eu.maveniverse.maven.njord 769 | extension 770 | ${njord.version} 771 | 772 | 773 | 774 | 775 | 776 | 777 | jdk8 778 | 779 | [1.8,11) 780 | 781 | 782 | 783 | 2.30.0 784 | 785 | 786 | 787 | java11+ 788 | 789 | [11,) 790 | 791 | 792 | ${mojo.java.target} 793 | 794 | 795 | 796 | 797 | mojo-release 798 | 799 | 800 | 801 | 3.9.0 802 | 803 | true 804 | 805 | 806 | 807 | 808 | org.apache.maven.plugins 809 | maven-assembly-plugin 810 | 811 | 812 | org.apache.apache.resources 813 | apache-source-release-assembly-descriptor 814 | 1.7 815 | 816 | 817 | 818 | 819 | attach-source-release-distro 820 | 821 | single 822 | 823 | package 824 | 825 | true 826 | 827 | source-release 828 | 829 | 830 | 831 | 832 | 833 | 834 | org.apache.maven.plugins 835 | maven-deploy-plugin 836 | 837 | 838 | org.apache.maven.plugins 839 | maven-source-plugin 840 | 841 | 842 | default-jar-no-fork 843 | 844 | jar-no-fork 845 | 846 | 847 | 848 | 849 | 850 | org.apache.maven.plugins 851 | maven-javadoc-plugin 852 | 853 | false 854 | 855 | 856 | 857 | attach-javadocs 858 | 859 | jar 860 | 861 | 862 | 863 | 864 | 865 | org.apache.maven.plugins 866 | maven-gpg-plugin 867 | 868 | 869 | sign-artifacts 870 | 871 | sign 872 | 873 | verify 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | reporting 882 | 883 | 884 | skipReports 885 | !true 886 | 887 | 888 | 889 | 890 | 891 | 892 | org.apache.maven.plugins 893 | maven-javadoc-plugin 894 | ${maven-javadoc-plugin.version} 895 | 896 | 897 | 898 | javadoc-no-fork 899 | 900 | 901 | 902 | 903 | 904 | org.apache.maven.plugins 905 | maven-plugin-report-plugin 906 | 907 | 908 | 909 | report 910 | 911 | 912 | 913 | 914 | 915 | org.apache.maven.plugins 916 | maven-project-info-reports-plugin 917 | ${maven-project-info-reports-plugin.version} 918 | 919 | 920 | 921 | ci-management 922 | dependencies 923 | dependency-convergence 924 | dependency-info 925 | dependency-management 926 | index 927 | issue-management 928 | licenses 929 | mailing-lists 930 | plugin-management 931 | scm 932 | team 933 | summary 934 | 935 | 936 | 937 | 938 | 939 | 940 | 941 | 942 | 943 | -------------------------------------------------------------------------------- /src/main/config/checkstyle/asf20-header.txt: -------------------------------------------------------------------------------- 1 | ^package 2 | 3 | ^/\*$ 4 | ^ \* Copyright 5 | ^ \*$ 6 | ^ \* Licensed under the Apache License, Version 2.0 \(the "License"\);$ 7 | ^ \* you may not use this file except in compliance with the License.$ 8 | ^ \* You may obtain a copy of the License at$ 9 | ^ \*$ 10 | ^ \* https?://www.apache.org/licenses/LICENSE-2.0$ 11 | ^ \*$ 12 | ^ \* Unless required by applicable law or agreed to in writing, software$ 13 | ^ \* distributed under the License is distributed on an "AS IS" BASIS,$ 14 | ^ \* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.$ 15 | ^ \* See the License for the specific language governing permissions and$ 16 | ^ \* limitations under the License.$ 17 | ^ \*/$ 18 | -------------------------------------------------------------------------------- /src/main/config/checkstyle/empty-header.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mojohaus/mojo-parent/7914e85c158d60b74e0f53dbe3b32c39b72b6cd0/src/main/config/checkstyle/empty-header.txt -------------------------------------------------------------------------------- /src/main/config/checkstyle/mit-header.txt: -------------------------------------------------------------------------------- 1 | ^package 2 | 3 | ^/\*$ 4 | ^ \* The MIT License$ 5 | ^ \*$ 6 | ^ \* Copyright 7 | ^ \*$ 8 | ^ \* Permission is hereby granted, free of charge, to any person obtaining a copy of$ 9 | ^ \* this software and associated documentation files (the "Software"), to deal in$ 10 | ^ \* the Software without restriction, including without limitation the rights to$ 11 | ^ \* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies$ 12 | ^ \* of the Software, and to permit persons to whom the Software is furnished to do$ 13 | ^ \* so, subject to the following conditions:$ 14 | ^ \*$ 15 | ^ \* The above copyright notice and this permission notice shall be included in all$ 16 | ^ \* copies or substantial portions of the Software.$ 17 | ^ \*$ 18 | ^ \* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR$ 19 | ^ \* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,$ 20 | ^ \* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE$ 21 | ^ \* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER$ 22 | ^ \* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,$ 23 | ^ \* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE$ 24 | ^ \* SOFTWARE. 25 | ^ \*/$ 26 | -------------------------------------------------------------------------------- /src/main/config/pmd/mojo_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 14 | This ruleset checks the code for discouraged programming constructs. 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/site/markdown/index.md.vm: -------------------------------------------------------------------------------- 1 | Parent POM for all MojoHaus hosted Apache Maven plugins and components. 2 | 3 | Latest build status: [![GitHub CI](https://github.com/mojohaus/mojo-parent/actions/workflows/maven.yml/badge.svg)](https://github.com/mojohaus/mojo-parent/actions/workflows/maven.yml) 4 | 5 | Changelog 6 | ========= 7 | 8 | [GitHub report](https://github.com/mojohaus/mojo-parent/releases/tag/${project.scm.tag}) 9 | 10 | How to use the POM 11 | ================== 12 | 13 | * for general information about using a parent pom take a look at https://maven.apache.org/guides/introduction/introduction-to-the-pom.html. 14 | * it boils down to define a parent element in your own POM: 15 | 16 | ```xml 17 | 18 | 20 | 4.0.0 21 | 22 | org.codehaus.mojo 23 | mojo-parent 24 | ${project.version} 25 | 26 | sample-groupId 27 | sample-project 28 | 1-SNAPSHOT 29 | [...] 30 | 31 | ``` 32 | 33 | Spotless - automatic code formatting 34 | ==================================== 35 | 36 | `MojoHaus` Parent POM contains configuration for [spotless-maven-plugin](https://github.com/diffplug/spotless/tree/main/plugin-maven) 37 | with options: 38 | 39 | - [palantir](https://github.com/palantir/palantir-java-format) code formatter 40 | - imports order as: 41 | - javax 42 | - java 43 | - other imports 44 | - static import 45 | 46 | `spotless` will be activated in your project per default, if you don't want to use it 47 | 48 | ```xml 49 | 50 | true 51 | 52 | 53 | ``` 54 | 55 | To fix code, simply run: 56 | ``` 57 | mvn spotless:apply 58 | ``` 59 | 60 | Checkstyle 61 | ========== 62 | 63 | You can use `checkstyle` in order to verify code on each build. 64 | 65 | Checkstyle can be enabled by adding to build/plugins`: 66 | 67 | ```xml 68 | 69 | org.apache.maven.plugins 70 | maven-checkstyle-plugin 71 | 72 | ``` 73 | 74 | Big code reformat 75 | ================= 76 | 77 | After applying bigger reformatting it is recommended to add or update a `.git-blame-ignore-revs` file 78 | in the root of the repository containing a line with the SHA1 of the formatting commit to ignore those changes 79 | when using `git blame` (or equivalent concepts). 80 | 81 | This is automatically considered by [GitHub](https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#bypassing-git-blame-ignore-revs-in-the-blame-view) 82 | and can optionally be considered with [local `git blame`](https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt) 83 | 84 | 85 | Latest releases 86 | =============== 87 | 88 | ... may be found at [Maven Central](https://search.maven.org/search?q=g%3Aorg.codehaus.mojo%20AND%20a%3Amojo-parent%20AND%20p%3Apom). 89 | 90 | Deploy site to github 91 | ===================== 92 | 93 | To deploy a site to github using [maven-scm-publish-plugin](https://maven.apache.org/plugins/maven-scm-publish-plugin/): 94 | 95 | * Add a new branch `gh-pages` [manually](https://help.github.com/articles/creating-project-pages-manually). 96 | * Add `src/site/resources/.nojekyll` [to add hidden files (e.g. for jacoco)](https://illegalstateexception.blogspot.de/2013/01/publishing-maven-site-having-jacoco.html) as well. 97 | * Then after a release do: 98 | 99 | ``` 100 | cd target/checkout 101 | mvn -Preporting verify site-deploy 102 | ``` 103 | 104 | -------------------------------------------------------------------------------- /src/site/site.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 21 | 22 | 23 | MojoHaus 24 | 25 | 26 | 27 | 28 | 29 | 30 | org.apache.maven.skins 31 | maven-fluido-skin 32 | ${maven-fluido-skin.version} 33 | 34 | 35 | ${project.scm.url} 36 | 37 | 38 | 39 | 18 40 | https://analytics.apache.org/ 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | mojohaus/${project.artifactId} 50 | right 51 | gray 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | --------------------------------------------------------------------------------