base-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.github.hazendaz</groupId> <artifactId>base-parent</artifactId> <version>52</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- base-parent (https://github.com/hazendaz/base-parent) Copyright 2011-2025 Hazendaz. All rights reserved. This program and the accompanying materials are made available under the terms of The Apache Software License, Version 2.0 which accompanies this distribution, and is available at https://www.apache.org/licenses/LICENSE-2.0.txt Contributors: Hazendaz (Jeremy Landis). --> <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.github.hazendaz</groupId> <artifactId>base-parent</artifactId> <version>52</version> <packaging>pom</packaging> <name>base-parent</name> <description>Base Maven Parent solving majority of Maven configurations. Use this to drive your maven builds.</description> <url>https://github.com/hazendaz/base-parent</url> <inceptionYear>2011</inceptionYear> <organization> <name>hazendaz</name> <url>https://github.com/hazendaz/</url> </organization> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>manual</distribution> <comments>A business-friendly OSS license</comments> </license> </licenses> <developers> <developer> <id>jlandis</id> <name>Jeremy Landis</name> <email>jeremylandis@hotmail.com</email> <url>https://www.linkedin.com/in/jeremy-landis-548b2719</url> <organization>hazendaz</organization> <organizationUrl>https://github.com/hazendaz</organizationUrl> <roles> <role>Architect</role> <role>Developer</role> </roles> <timezone>-5</timezone> <properties> <picUrl>https://avatars0.githubusercontent.com/u/975267</picUrl> </properties> </developer> </developers> <contributors> <contributor> <name>Jeremy Landis</name> <email>jeremylandis@hotmail.com</email> <url>https://www.linkedin.com/in/jeremy-landis-548b2719</url> <organization>hazendaz</organization> <organizationUrl>https://github.com/hazendaz</organizationUrl> <roles> <role>Developer</role> </roles> <timezone>-5</timezone> <properties> <picUrl>https://avatars0.githubusercontent.com/u/975267</picUrl> </properties> </contributor> </contributors> <scm> <connection>scm:git:ssh://git@github.com/hazendaz/base-parent.git</connection> <developerConnection>scm:git:ssh://git@github.com/hazendaz/base-parent.git</developerConnection> <tag>base-parent-52</tag> <url>https://github.com/hazendaz/base-parent</url> </scm> <issueManagement> <system>Github</system> <url>https://github.com/hazendaz/base-parent/issues</url> </issueManagement> <ciManagement> <system>Github</system> <url>https://github.com/hazendaz/base-parent/actions</url> <notifiers> <notifier> <type>mail</type> <sendOnError>true</sendOnError> <sendOnFailure>true</sendOnFailure> <sendOnSuccess>false</sendOnSuccess> <sendOnWarning>false</sendOnWarning> <configuration> <address>jeremylandis@hotmail.com</address> </configuration> </notifier> </notifiers> </ciManagement> <distributionManagement> <snapshotRepository> <id>central</id> <url>https://central.sonatype.com/repository/maven-snapshots/</url> </snapshotRepository> <site> <id>gh-pages-scm</id> <name>Base Parent GitHub Pages</name> <url>scm:git:ssh://git@github.com/hazendaz/base-parent.git</url> </site> </distributionManagement> <properties> <!-- Copyright --> <copyright>2025</copyright> <!-- Github Token --> <github.global.server>github</github.global.server> <!-- Jacoco minimum code coverage (used under checks only currently) --> <jacoco.minimum.coverage>1.00</jacoco.minimum.coverage> <!-- Automatic Module Name --> <module.name>com.github.hazendaz.parent</module.name> <!-- Maven date configuration --> <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format> <!-- Maven compiler options --> <java.version>11</java.version> <java.release.version>11</java.release.version> <java.test.version>${java.version}</java.test.version> <java.test.release.version>${java.release.version}</java.test.release.version> <!-- Javadoc Release is strict due to maven bug and automatic module naming; it needs extra help, see examples, later fixed by legacy.mode flag --> <javadoc.java.release.version>11</javadoc.java.release.version> <javadoc.legacy.mode>true</javadoc.legacy.mode> <!-- Javadoc help examples Additional modules need added if build notes to do so, following is an example (note errors are not very clear) <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <additionalOptions combine.children="append"> <additionalOption>\-\-add-modules</additionalOption> <additionalOption>java.sql</additionalOption> <additionalOption>\-\-add-modules</additionalOption> <additionalOption>java.naming</additionalOption> <additionalOption>...others...</additionalOption> </additionalOptions> </configuration> </plugin> </plugins> </pluginManagement> </build> --> <!-- Legacy compiler options source/target not really needed now (but still used by things like sonar, m2e) --> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.testSource>${java.test.version}</maven.compiler.testSource> <maven.compiler.testTarget>${java.test.version}</maven.compiler.testTarget> <maven.compiler.release>${java.release.version}</maven.compiler.release> <maven.compiler.testRelease>${java.test.release.version}</maven.compiler.testRelease> <!-- Get method parameter names via reflection --> <maven.compiler.parameters>true</maven.compiler.parameters> <!-- Maven minimum version --> <maven.min-version>3.9.9</maven.min-version> <!-- Project Encoding --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- Reproducible Builds --> <project.build.outputTimestamp>1744167904</project.build.outputTimestamp> <!-- Due to maven bug, fix timestamp --> <timestamp>${maven.build.timestamp}</timestamp> <!-- Enforcer Jdks Allowed --> <allowed.build.jdks note="Allow any 17, 21, 23, 24, 25">[17,18),[21,22),[23,24),[24,25),[25,26)</allowed.build.jdks> <!-- Supported Versions --> <checker-qual.version>3.49.2</checker-qual.version> <error-prone.version>2.37.0</error-prone.version> <hibernate-validator.version>8.0.2.Final</hibernate-validator.version> <j2objc.version>3.0.0</j2objc.version> <lombok.version>1.18.38</lombok.version> <modernizer.version>3.1.0</modernizer.version> <spotbugs.version>4.9.3</spotbugs.version> <!-- Checkstyle --> <checkstyle.config>checkstyle.xml</checkstyle.config> <!-- plugin versions --> <antrun.plugin>3.1.0</antrun.plugin> <assembly.plugin>3.7.1</assembly.plugin> <build-helper.plugin>3.6.0</build-helper.plugin> <buildplan.plugin>2.2.2</buildplan.plugin> <changelog.plugin>3.0.0-M1</changelog.plugin> <changes.plugin>3.0.0-M2</changes.plugin> <checkstyle.plugin>3.6.0</checkstyle.plugin> <clean.plugin>3.4.1</clean.plugin> <compiler.plugin>3.14.0</compiler.plugin> <coveralls.plugin>4.5.0-M6</coveralls.plugin> <cyclonedx.plugin>2.9.1</cyclonedx.plugin> <dependency.plugin>3.8.1</dependency.plugin> <dependency-check.plugin>12.1.1</dependency-check.plugin> <deploy.plugin>3.1.4</deploy.plugin> <directory.plugin>1.2.0</directory.plugin> <enforcer.plugin>3.5.0</enforcer.plugin> <failsafe.plugin>3.5.3</failsafe.plugin> <find-and-replace.plugin>1.2.0</find-and-replace.plugin> <formatter.plugin>2.26.0</formatter.plugin> <frontend.plugin>1.15.1</frontend.plugin> <git-commit.plugin>9.0.1</git-commit.plugin> <gpg.plugin>3.2.7</gpg.plugin> <htmlcompressor.plugin>2.1.0</htmlcompressor.plugin> <impsort.plugin>1.12.0</impsort.plugin> <install.plugin>3.1.4</install.plugin> <jacoco.plugin>0.8.13</jacoco.plugin> <jandex.plugin>1.2.3</jandex.plugin> <jar.plugin>3.4.2</jar.plugin> <javadoc.plugin>3.11.2</javadoc.plugin> <jaxws.plugin>4.0.3</jaxws.plugin> <joinfaces.plugin>5.1.12</joinfaces.plugin> <jxr.plugin>3.6.0</jxr.plugin> <kotlin.plugin>2.1.20</kotlin.plugin> <license.plugin>5.0.0</license.plugin> <lifecycle.plugin>1.0.0</lifecycle.plugin> <lombok.plugin>1.18.20.0</lombok.plugin> <makeself.plugin>1.9.0</makeself.plugin> <modernizer.plugin>3.1.0</modernizer.plugin> <pmd.plugin>3.26.0</pmd.plugin> <project-info.plugin>3.9.0</project-info.plugin> <release.plugin>3.1.1</release.plugin> <resources.plugin>3.3.1</resources.plugin> <rewrite.plugin>6.4.0</rewrite.plugin> <smartsprites.plugin>2.3.0</smartsprites.plugin> <scm-publish.plugin>3.3.0</scm-publish.plugin> <site.plugin>3.21.0</site.plugin> <sonar.plugin>5.1.0.4751</sonar.plugin> <sortpom.plugin>4.0.0</sortpom.plugin> <source.plugin>3.3.1</source.plugin> <spotbugs.plugin>4.9.3.0</spotbugs.plugin> <spotless.plugin>2.44.4</spotless.plugin> <springboot.plugin>3.4.4</springboot.plugin> <surefire.plugin>3.5.3</surefire.plugin> <taglist.plugin>3.2.1</taglist.plugin> <versions.plugin>2.18.0</versions.plugin> <war.plugin>3.4.0</war.plugin> <wrapper.plugin>3.3.2</wrapper.plugin> <whitespace.plugin>1.5.0</whitespace.plugin> <yuicompressor.plugin>2.1.0</yuicompressor.plugin> <xml-format.plugin>3.2.0</xml-format.plugin> <!-- Dependencies for plugins --> <asm.version>9.8</asm.version> <build-tools.version>1.4.0</build-tools.version> <checkstyle.version>10.23.0</checkstyle.version> <extra-enforcer-rules.version>1.10.0</extra-enforcer-rules.version> <fluido.version note="Make sure to update in site.xml">2.1.0</fluido.version> <htmlcompressor.version>2.0.2</htmlcompressor.version> <license-git.version>5.0.0</license-git.version> <pmd.version>7.12.0</pmd.version> <restrict-imports-enforcer-rule.version>2.6.1</restrict-imports-enforcer-rule.version> <yuicompressor.version>2.4.8</yuicompressor.version> <!-- Spotbugs Extensions --> <bug-pattern.version>1.5.0</bug-pattern.version> <findsecbugs.version>1.13.0</findsecbugs.version> <sb-contrib.version>7.6.9</sb-contrib.version> <!-- Verification Checks --> <error-prone.failOnViolations>-XepAllErrorsAsWarnings</error-prone.failOnViolations> <error-prone.skipGeneratedCode>-XepDisableWarningsInGeneratedCode -XepExcludedPaths:.*target/generated-sources/.*</error-prone.skipGeneratedCode> <!-- Hack for single site builds so site:staging works as expected. Do not use with multi module! Instead adjust for fact that maven bug causes staging to be up one directory with 'reponame.git' --> <topSiteURL>${project.distributionManagement.site.url}</topSiteURL> </properties> <dependencies> <dependency> <groupId>org.checkerframework</groupId> <artifactId>checker-qual</artifactId> <version>${checker-qual.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>${error-prone.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.j2objc</groupId> <artifactId>j2objc-annotations</artifactId> <version>${j2objc.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.gaul</groupId> <artifactId>modernizer-maven-annotations</artifactId> <version>${modernizer.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-annotations</artifactId> <version>${spotbugs.version}</version> <scope>provided</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <!-- Diff Plug Maven Plugins --> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> <version>${spotless.plugin}</version> <configuration> <formats> <format> <includes> <include>**/*.sh</include> <include>**/*.yml</include> <include>**/*.yaml</include> </includes> <excludes> <exclude>**/node_modules/**</exclude> <exclude>**/target/**</exclude> </excludes> <trimTrailingWhitespace /> <endWithNewline /> <indent> <spaces>true</spaces> <spacesPerTab>2</spacesPerTab> </indent> </format> <format> <includes> <include>**/*.xml</include> </includes> <excludes> <exclude>**/node_modules/**</exclude> <exclude>**/target/**</exclude> <exclude>**/.pmdruleset.xml</exclude> </excludes> <trimTrailingWhitespace /> <endWithNewline /> <indent> <spaces>true</spaces> <spacesPerTab>4</spacesPerTab> </indent> </format> </formats> </configuration> </plugin> <!-- Github Provided Plugins --> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <version>${frontend.plugin}</version> </plugin> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <version>${sortpom.plugin}</version> <configuration> <createBackupFile>false</createBackupFile> <expandEmptyElements>false</expandEmptyElements> <keepBlankLines>true</keepBlankLines> <nrOfIndentSpace>4</nrOfIndentSpace> <predefinedSortOrder>recommended_2008_06</predefinedSortOrder> <spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement> </configuration> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>coveralls-maven-plugin</artifactId> <version>${coveralls.plugin}</version> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>htmlcompressor-maven-plugin</artifactId> <version>${htmlcompressor.plugin}</version> <configuration> <compressCss>true</compressCss> <compressJavaScript>true</compressJavaScript> <javascriptHtmlSprite>false</javascriptHtmlSprite> <removeIntertagSpaces>true</removeIntertagSpaces> <srcFolder>${project.basedir}/src/main/resources</srcFolder> <targetFolder>${project.basedir}/target/classes</targetFolder> <yuiJsNoMunge>true</yuiJsNoMunge> <fileExtensions> <fileExtension>html</fileExtension> <fileExtension>jsp</fileExtension> <fileExtension>jspx</fileExtension> <fileExtension>xhtml</fileExtension> <fileExtension>xml</fileExtension> <fileExtension>xsd</fileExtension> <fileExtension>xslt</fileExtension> <fileExtension>wsdl</fileExtension> </fileExtensions> </configuration> <dependencies> <dependency> <groupId>com.github.hazendaz</groupId> <artifactId>htmlcompressor</artifactId> <version>${htmlcompressor.version}</version> </dependency> <dependency> <groupId>com.yahoo.platform.yui</groupId> <artifactId>yuicompressor</artifactId> <version>${yuicompressor.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>makeself-maven-plugin</artifactId> <version>${makeself.plugin}</version> <configuration> <keepUmask>true</keepUmask> <sha256>true</sha256> </configuration> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>smartsprites-maven-plugin</artifactId> <version>${smartsprites.plugin}</version> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs.plugin}</version> <configuration> <effort>Max</effort> <includeTests>true</includeTests> <failOnError>false</failOnError> <plugins> <plugin> <groupId>com.mebigfatguy.sb-contrib</groupId> <artifactId>sb-contrib</artifactId> <version>${sb-contrib.version}</version> </plugin> <plugin> <groupId>com.h3xstream.findsecbugs</groupId> <artifactId>findsecbugs-plugin</artifactId> <version>${findsecbugs.version}</version> </plugin> <plugin> <groupId>jp.skypencil.findbugs.slf4j</groupId> <artifactId>bug-pattern</artifactId> <version>${bug-pattern.version}</version> </plugin> </plugins> </configuration> <dependencies> <dependency> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs</artifactId> <version>${spotbugs.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>whitespace-maven-plugin</artifactId> <version>${whitespace.plugin}</version> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <version>${yuicompressor.plugin}</version> <configuration> <nomunge>true</nomunge> <nosuffix>true</nosuffix> <excludes> <exclude>**/*.min.js</exclude> <exclude>**/*.min.css</exclude> </excludes> </configuration> <dependencies> <dependency> <groupId>com.yahoo.platform.yui</groupId> <artifactId>yuicompressor</artifactId> <version>${yuicompressor.version}</version> </dependency> </dependencies> </plugin> <!-- Mycila Provided Plugins --> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>${license.plugin}</version> <configuration> <licenseSets> <licenseSet> <header>LICENSE_HEADER</header> <excludes> <!-- Default excludes located at https://github.com/mathieucarbou/license-maven-plugin/blob/master/license-maven-plugin/src/main/java/com/mycila/maven/plugin/license/Default.java --> </excludes> </licenseSet> </licenseSets> <prohibitLegacyUse>true</prohibitLegacyUse> </configuration> <dependencies> <dependency> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin-git</artifactId> <version>${license-git.version}</version> </dependency> </dependencies> </plugin> <!-- Sun (Jakarta) Provided Plugins --> <plugin> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-maven-plugin</artifactId> <version>${jaxws.plugin}</version> </plugin> <!-- Github IO Provided Plugins --> <plugin> <groupId>io.github.floverfelt</groupId> <artifactId>find-and-replace-maven-plugin</artifactId> <version>${find-and-replace.plugin}</version> </plugin> <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> <version>${git-commit.plugin}</version> <configuration> <failOnNoGitDirectory>false</failOnNoGitDirectory> <!-- Fixes issues, see https://github.com/ktoso/maven-git-commit-id-plugin/issues/61 --> <gitDescribe> <always>true</always> </gitDescribe> </configuration> </plugin> <!-- Revelc Provided Plugins --> <plugin> <groupId>net.revelc.code</groupId> <artifactId>impsort-maven-plugin</artifactId> <version>${impsort.plugin}</version> <configuration> <groups>au,ch,com,de,dev,edu,io,jakarta,java,javassist,javax,lombok,mockit,net,nl,ognl,oracle,org,oshi,waffle</groups> <staticGroups>java,*</staticGroups> <removeUnused>true</removeUnused> </configuration> </plugin> <plugin> <groupId>net.revelc.code.formatter</groupId> <artifactId>formatter-maven-plugin</artifactId> <version>${formatter.plugin}</version> <configuration> <configFile>eclipse-formatter-config-4space.xml</configFile> </configuration> <dependencies> <dependency> <groupId>com.github.hazendaz</groupId> <artifactId>build-tools</artifactId> <version>${build-tools.version}</version> </dependency> </dependencies> </plugin> <!-- Maven Provided Plugins --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${antrun.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${assembly.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changelog-plugin</artifactId> <version>${changelog.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <version>${changes.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${checkstyle.plugin}</version> <configuration> <configLocation>${checkstyle.config}</configLocation> <failOnViolation>false</failOnViolation> <includeTestSourceDirectory>true</includeTestSourceDirectory> <violationSeverity>info</violationSeverity> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${clean.plugin}</version> <configuration> <!-- Delete all from target but not target itself --> <excludeDefaultDirectories>true</excludeDefaultDirectories> <filesets> <fileset> <directory>${project.build.directory}</directory> <includes> <include>**/*</include> </includes> </fileset> </filesets> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${compiler.plugin}</version> <configuration> <annotationProcessorPaths> <annotationProcessorPath> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${error-prone.version}</version> </annotationProcessorPath> <annotationProcessorPath> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </annotationProcessorPath> <annotationProcessorPath> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator-annotation-processor</artifactId> <version>${hibernate-validator.version}</version> </annotationProcessorPath> </annotationProcessorPaths> <compilerArgs> <compilerArg>-XDcompilePolicy=simple</compilerArg> <compilerArg>--should-stop=ifError=FLOW</compilerArg> <compilerArg>-Xplugin:ErrorProne ${error-prone.failOnViolations} ${error-prone.skipGeneratedCode}</compilerArg> </compilerArgs> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> <!-- Slightly faster builds, see https://issues.apache.org/jira/browse/MCOMPILER-209 --> <useIncrementalCompilation>false</useIncrementalCompilation> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${dependency.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>${deploy.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${enforcer.plugin}</version> <configuration> <rules> <bannedDependencies> <message>Do not use obsolete logging libraries. Prefer slf4j/logback and override slf4j libraries for replacements</message> <excludes> <exclude>log4j:log4j</exclude> <exclude>org.apache.logging.log4j:log4j-jcl</exclude> <exclude>org.slf4j:jcl-over-slf4j</exclude> <exclude>org.slf4j:slf4j-log4j12</exclude> <exclude>org.springframework:spring-jcl</exclude> </excludes> </bannedDependencies> <banDuplicatePomDependencyVersions /> <enforceBytecodeVersion> <maxJdkVersion>${java.version}</maxJdkVersion> <ignoredScopes>provided,test</ignoredScopes> </enforceBytecodeVersion> <reactorModuleConvergence /> <requireJavaVersion> <message>Please upgrade java and configure 'JAVA_HOME'.</message> <version>${allowed.build.jdks}</version> </requireJavaVersion> <requireMavenVersion> <message>Please upgrade maven and configure 'M2_HOME'.</message> <version>[${maven.min-version},)</version> </requireMavenVersion> <requirePluginVersions> <message>[ERROR] Best Practice is to always define plugin versions!</message> <banLatest>true</banLatest> <banRelease>true</banRelease> <banSnapshots>true</banSnapshots> <phases>clean,deploy,site</phases> </requirePluginVersions> <restrictImports> <includeTestCode>true</includeTestCode> <groups> <group> <reason>Don't allow obsolete logging</reason> <bannedImports> <bannedImport>java.util.logging.**</bannedImport> <bannedImport>org.apache.commons.logging.**</bannedImport> <bannedImport>org.apache.log4j.**</bannedImport> </bannedImports> </group> </groups> </restrictImports> </rules> </configuration> <dependencies> <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>extra-enforcer-rules</artifactId> <version>${extra-enforcer-rules.version}</version> </dependency> <dependency> <groupId>de.skuzzle.enforcer</groupId> <artifactId>restrict-imports-enforcer-rule</artifactId> <version>${restrict-imports-enforcer-rule.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${failsafe.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${gpg.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>${install.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${jar.plugin}</version> <configuration> <archive> <manifest> <addBuildEnvironmentEntries>false</addBuildEnvironmentEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <Automatic-Module-Name>${module.name}</Automatic-Module-Name> <Copyright>${copyright}</Copyright> <Git-Revision>${git.commit.id}</Git-Revision> <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> <X-Compile-Release-JDK>${maven.compiler.release}</X-Compile-Release-JDK> </manifestEntries> </archive> <skipIfEmpty>true</skipIfEmpty> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${javadoc.plugin}</version> <configuration> <additionalOptions> <additionalOption>-html5</additionalOption> </additionalOptions> <archive> <manifest> <addBuildEnvironmentEntries>false</addBuildEnvironmentEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <Automatic-Module-Name>${module.name}</Automatic-Module-Name> <Copyright>${copyright}</Copyright> <Git-Revision>${git.commit.id}</Git-Revision> <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> <X-Compile-Release-JDK>${maven.compiler.release}</X-Compile-Release-JDK> </manifestEntries> </archive> <notimestamp>true</notimestamp> <quiet>true</quiet> <release>${javadoc.java.release.version}</release> <source>${javadoc.java.release.version}</source> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>${jxr.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>${pmd.plugin}</version> <configuration> <analysisCache>true</analysisCache> <failOnViolation>false</failOnViolation> <printFailingErrors>true</printFailingErrors> </configuration> <dependencies> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-core</artifactId> <version>${pmd.version}</version> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-groovy</artifactId> <version>${pmd.version}</version> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-html</artifactId> <version>${pmd.version}</version> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-java</artifactId> <version>${pmd.version}</version> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-javascript</artifactId> <version>${pmd.version}</version> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-jsp</artifactId> <version>${pmd.version}</version> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-kotlin</artifactId> <version>${pmd.version}</version> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-xml</artifactId> <version>${pmd.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>${project-info.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>${release.plugin}</version> <configuration> <addSchema>false</addSchema> <arguments>-Daether.checksums.algorithms=SHA-512,SHA-256,SHA-1,MD5</arguments> <autoVersionSubmodules>true</autoVersionSubmodules> <releaseProfiles>release</releaseProfiles> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${resources.plugin}</version> <configuration> <!-- Defaults to source, use resources as this is a resource --> <propertiesEncoding>${project.build.resourceEncoding}</propertiesEncoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> <version>${scm-publish.plugin}</version> <configuration> <checkoutDirectory>${user.home}/maven-sites/${project.name}</checkoutDirectory> <!-- no need for site:stage, use target/site or target/checkout/target/site on release --> <content>${project.reporting.outputDirectory}</content> <scmBranch>gh-pages</scmBranch> <tryUpdate>true</tryUpdate> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>${site.plugin}</version> <configuration> <archive> <manifest> <addBuildEnvironmentEntries>false</addBuildEnvironmentEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <Automatic-Module-Name>${module.name}</Automatic-Module-Name> <Copyright>${copyright}</Copyright> <Git-Revision>${git.commit.id}</Git-Revision> <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> <X-Compile-Release-JDK>${maven.compiler.release}</X-Compile-Release-JDK> </manifestEntries> </archive> <!-- don't deploy site with maven-site-plugin (instead use scm publish during release) --> <skipDeploy>true</skipDeploy> </configuration> <dependencies> <!-- For reporting only of versions --> <dependency> <groupId>org.apache.maven.skins</groupId> <artifactId>maven-fluido-skin</artifactId> <version>${fluido.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${source.plugin}</version> <configuration> <archive> <manifest> <addBuildEnvironmentEntries>false</addBuildEnvironmentEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <Automatic-Module-Name>${module.name}</Automatic-Module-Name> <Copyright>${copyright}</Copyright> <Git-Revision>${git.commit.id}</Git-Revision> <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> <X-Compile-Release-JDK>${maven.compiler.release}</X-Compile-Release-JDK> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>${surefire.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>${war.plugin}</version> <configuration> <archive> <manifest> <addBuildEnvironmentEntries>false</addBuildEnvironmentEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <Automatic-Module-Name>${module.name}</Automatic-Module-Name> <Copyright>${copyright}</Copyright> <Git-Revision>${git.commit.id}</Git-Revision> <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> <X-Compile-Release-JDK>${maven.compiler.release}</X-Compile-Release-JDK> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-wrapper-plugin</artifactId> <version>${wrapper.plugin}</version> </plugin> <!-- Codehaus Provided Plugins --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${build-helper.plugin}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildplan-maven-plugin</artifactId> <version>${buildplan.plugin}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <version>${taglist.plugin}</version> <configuration> <tagListOptions> <tagClasses> <tagClass> <displayName>FIXME Work</displayName> <tags> <tag> <matchString>fixme</matchString> <matchType>ignoreCase</matchType> </tag> <tag> <matchString>@fixme</matchString> <matchType>ignoreCase</matchType> </tag> </tags> </tagClass> <tagClass> <displayName>Todo Work</displayName> <tags> <tag> <matchString>todo</matchString> <matchType>ignoreCase</matchType> </tag> <tag> <matchString>@todo</matchString> <matchType>ignoreCase</matchType> </tag> </tags> </tagClass> <tagClass> <displayName>Deprecated Work</displayName> <tags> <tag> <matchString>@deprecated</matchString> <matchType>ignoreCase</matchType> </tag> </tags> </tagClass> </tagClasses> </tagListOptions> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>${versions.plugin}</version> </plugin> <!-- Cyclonedx Maven Plugins --> <plugin> <groupId>org.cyclonedx</groupId> <artifactId>cyclonedx-maven-plugin</artifactId> <version>${cyclonedx.plugin}</version> <configuration> <skipNotDeployed>false</skipNotDeployed> <verbose>false</verbose> </configuration> </plugin> <!-- Gaul Provided Plugins --> <plugin> <groupId>org.gaul</groupId> <artifactId>modernizer-maven-plugin</artifactId> <version>${modernizer.plugin}</version> <configuration> <javaVersion>${maven.compiler.release}</javaVersion> </configuration> <dependencies> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>${asm.version}</version> </dependency> </dependencies> </plugin> <!-- Jacoco Provided Plugins --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.plugin}</version> <configuration> <rules> <rule> <element>BUNDLE</element> <limits> <limit> <counter>COMPLEXITY</counter> <value>COVEREDRATIO</value> <minimum>${jacoco.minimum.coverage}</minimum> </limit> </limits> </rule> </rules> </configuration> </plugin> <!-- Jboss Maven Plugins --> <plugin> <groupId>org.jboss.jandex</groupId> <artifactId>jandex-maven-plugin</artifactId> <version>${jandex.plugin}</version> </plugin> <!-- Jetbrains Maven Plugins --> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.plugin}</version> <configuration> <jvmTarget>${java.release.version</jvmTarget> <javaParameters>true</javaParameters> </configuration> </plugin> <!-- Joinfaces Maven Plugins --> <plugin> <groupId>org.joinfaces</groupId> <artifactId>joinfaces-maven-plugin</artifactId> <version>${joinfaces.plugin}</version> </plugin> <!-- OpenRewrite Maven Plugins --> <plugin> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <version>${rewrite.plugin}</version> </plugin> <!-- Owasp Provided Plugins --> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>${dependency-check.plugin}</version> <configuration> <failOnError>false</failOnError> <nvdApiServerId>nvd</nvdApiServerId> </configuration> </plugin> <!-- Project Lombok Maven Plugins --> <plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> <version>${lombok.plugin}</version> <configuration> <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> </configuration> <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </dependency> </dependencies> </plugin> <!-- Sonar Provided Plugins --> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonar.plugin}</version> </plugin> <!-- Sonatype Provided Plugins --> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.7.0</version> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> </configuration> </plugin> <!-- Springboot Maven Plugins --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${springboot.plugin}</version> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>directory-maven-plugin</artifactId> <version>${directory.plugin}</version> </plugin> </plugins> </pluginManagement> <plugins> <!-- Build Plugins --> <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> <executions> <execution> <id>git-commit-id</id> <goals> <goal>revision</goal> </goals> <phase>validate</phase> </execution> </executions> </plugin> <!-- Packaging types / Tools --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <id>attach-jars</id> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> <!-- Reporting Plugins --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> <!-- Tools --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> <goal>test-jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> </execution> <execution> <id>enforce-clean</id> <goals> <goal>enforce</goal> </goals> <phase>pre-clean</phase> </execution> <execution> <id>enforce-site</id> <goals> <goal>enforce</goal> </goals> <phase>pre-site</phase> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <executions> <execution> <id>prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <!-- Checkstyle dependencies required here or they won't be used (per maven) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <dependencies> <dependency> <groupId>com.github.hazendaz</groupId> <artifactId>build-tools</artifactId> <version>${build-tools.version}</version> </dependency> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>${checkstyle.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.gaul</groupId> <artifactId>modernizer-maven-plugin</artifactId> <executions> <execution> <id>modernizer</id> <goals> <goal>modernizer</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>org.cyclonedx</groupId> <artifactId>cyclonedx-maven-plugin</artifactId> <executions> <execution> <id>makeAggregateBom</id> <goals> <goal>makeAggregateBom</goal> </goals> </execution> </executions> </plugin> <!-- Sonatype Provided Plugins --> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.7.0</version> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> </configuration> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changelog-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <reportSets> <reportSet> <reports> <report>github-changes</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <reportSets> <reportSet> <reports> <report>checkstyle</report> <report>checkstyle-aggregate</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <reportSets> <reportSet> <reports> <report>aggregate-cpd</report> <report>aggregate-pmd</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <reportSets> <reportSet> <reports> <!-- select non-aggregate reports --> <report>report</report> </reports> </reportSet> </reportSets> </plugin> <!-- This plugin will fail if any POM is marked as Byte Order Mark is UTF-8 (BOM). If this occurs, remove the byte order mark (bom). --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <reportSets> <reportSet> <reports> <report>aggregate</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> <profiles> <profile> <id>checks</id> <build> <plugins> <!-- Reporting Plugins --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <executions> <execution> <goals> <goal>check</goal> <goal>cpd-check</goal> </goals> </execution> </executions> </plugin> <!-- External Tools --> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <executions> <execution> <goals> <goal>check</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <executions> <execution> <id>check</id> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>compression</id> <activation> <file> <exists>${project.basedir}/compression.xml</exists> </file> </activation> <build> <plugins> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>htmlcompressor-maven-plugin</artifactId> <executions> <execution> <id>default-compile</id> <goals> <goal>html</goal> </goals> <phase>compile</phase> </execution> </executions> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <executions> <execution> <id>default-compile</id> <goals> <goal>compress</goal> </goals> <phase>compile</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>eclipse</id> <activation> <property> <name>m2e.version</name> </property> </activation> <properties> <!-- Make m2e use java at test revision level --> <maven.compiler.source>${java.test.version}</maven.compiler.source> <maven.compiler.target>${java.test.version}</maven.compiler.target> <maven.compiler.release>${java.test.release.version}</maven.compiler.release> </properties> <build> <pluginManagement> <plugins> <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <!-- Keep version here as fake version and maven report info has problems defining it in dependency management --> <version>${lifecycle.plugin}</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <!-- impsort m2e in plugin states to ignore, we will process --> <pluginExecution> <pluginExecutionFilter> <groupId>net.revelc.code</groupId> <artifactId>impsort-maven-plugin</artifactId> <versionRange>[${impsort.plugin},)</versionRange> <goals> <goal>sort</goal> </goals> </pluginExecutionFilter> <action> <execute> <runOnConfiguration>true</runOnConfiguration> <runOnIncremental>true</runOnIncremental> </execute> </action> </pluginExecution> <!-- rewrite m2e in plugin missing, we will process --> <pluginExecution> <pluginExecutionFilter> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <versionRange>[${rewrite.plugin},)</versionRange> <goals> <goal>run</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <id>format</id> <activation> <file> <exists>${project.basedir}/format.xml</exists> </file> </activation> <build> <plugins> <plugin> <groupId>net.revelc.code.formatter</groupId> <artifactId>formatter-maven-plugin</artifactId> <executions> <execution> <goals> <goal>format</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>net.revelc.code</groupId> <artifactId>impsort-maven-plugin</artifactId> <executions> <execution> <goals> <goal>sort</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <configuration> <activeRecipes> <activeRecipe>org.openrewrite.java.RemoveUnusedImports</activeRecipe> </activeRecipes> </configuration> <executions> <execution> <goals> <goal>run</goal> </goals> <phase>process-sources</phase> </execution> </executions> </plugin> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <executions> <execution> <goals> <goal>sort</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> <executions> <execution> <goals> <goal>apply</goal> </goals> <phase>process-sources</phase> </execution> </executions> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>whitespace-maven-plugin</artifactId> <executions> <execution> <goals> <goal>trim</goal> </goals> <phase>process-sources</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>jdk17on</id> <activation> <jdk>[17,)</jdk> </activation> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <fork>true</fork> <compilerArgs combine.children="append"> <!-- Error Prone Configuration --> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</compilerArg> </compilerArgs> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <id>license-header</id> <activation> <file> <exists>${project.basedir}/LICENSE_HEADER</exists> </file> </activation> <build> <plugins> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <executions> <execution> <goals> <goal>format</goal> </goals> <phase>process-sources</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <goals> <goal>sign</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <!-- Skip license plugin during release as maven release is now shallow cloned --> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <!-- deploy site with maven-scm-publish-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> <executions> <execution> <id>scm-publish</id> <goals> <goal>publish-scm</goal> </goals> <phase>site-deploy</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>rewrite-junit</id> <build> <plugins> <plugin> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <configuration> <activeRecipes> <activeRecipe>org.openrewrite.java.testing.cleanup.BestPractices</activeRecipe> <activeRecipe>org.openrewrite.java.testing.hamcrest.MigrateHamcrestToAssertJ</activeRecipe> <activeRecipe>org.openrewrite.java.testing.jmockit.JMockitToMockito</activeRecipe> <activeRecipe>org.openrewrite.java.testing.mockito.ReplacePowerMockito</activeRecipe> <activeRecipe>org.openrewrite.java.testing.junit5.JUnit5BestPractices</activeRecipe> <activeRecipe>org.openrewrite.java.testing.mockito.MockitoBestPractices</activeRecipe> <activeRecipe>org.openrewrite.java.RemoveUnusedImports</activeRecipe> </activeRecipes> </configuration> <dependencies> <dependency> <groupId>org.openrewrite.recipe</groupId> <artifactId>rewrite-testing-frameworks</artifactId> <version>3.5.1</version> </dependency> </dependencies> <executions> <execution> <goals> <goal>run</goal> </goals> <phase>process-sources</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>wsimport</id> <build> <plugins> <plugin> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-maven-plugin</artifactId> <executions> <execution> <id>wsimport</id> <goals> <goal>wsimport</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>