psi-probe
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.github.psi-probe</groupId>
<artifactId>psi-probe</artifactId>
<version>5.3.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed under the GPL License. You may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
-->
<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.psi-probe</groupId>
<artifactId>psi-probe</artifactId>
<version>5.3.0</version>
<packaging>pom</packaging>
<name>psi-probe</name>
<description>Psi Probe - Advanced manager and monitor for Tomcat, forked from Lambda Probe</description>
<url>https://github.com/psi-probe/psi-probe/</url>
<inceptionYear>2009</inceptionYear>
<organization>
<name>psi-probe</name>
<url>https://github.com/psi-probe/</url>
</organization>
<licenses>
<license>
<name>GNU General Public License, version 2</name>
<url>https://www.gnu.org/licenses/old-licenses/gpl-2.0.html</url>
<distribution>manual</distribution>
</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>
<mailingLists>
<mailingList>
<name>PSI Probe Announcements</name>
<subscribe>psi-probe+subscribe@googlegroups.com</subscribe>
<unsubscribe>psi-probe+unsubscribe@googlegroups.com</unsubscribe>
<archive>https://groups.google.com/forum/#!forum/psi-probe</archive>
</mailingList>
<mailingList>
<name>PSI Probe Discussions</name>
<subscribe>psi-probe-discuss+subscribe@googlegroups.com</subscribe>
<unsubscribe>psi-probe-discuss+unsubscribe@googlegroups.com</unsubscribe>
<post>psi-probe-discuss@googlegroups.com</post>
<archive>https://groups.google.com/forum/#!forum/psi-probe-discuss</archive>
</mailingList>
</mailingLists>
<modules>
<module>psi-probe-core</module>
<module>psi-probe-rest</module>
<module>psi-probe-tomcat10</module>
<module>psi-probe-tomcat11</module>
<module>psi-probe-web</module>
</modules>
<scm>
<connection>scm:git:ssh://git@github.com/psi-probe/psi-probe.git</connection>
<developerConnection>scm:git:ssh://git@github.com/psi-probe/psi-probe.git</developerConnection>
<tag>psi-probe-5.3.0</tag>
<url>https://github.com/psi-probe/psi-probe/</url>
</scm>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/psi-probe/psi-probe/issues/</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>https://github.com/psi-probe/psi-probe/actions/</url>
</ciManagement>
<distributionManagement>
<snapshotRepository>
<id>central</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
</snapshotRepository>
<site>
<id>gh-pages-scm</id>
<name>Psi-Probe GitHub Pages</name>
<url>scm:git:ssh://git@github.com/psi-probe/psi-probe.git</url>
</site>
</distributionManagement>
<properties>
<!-- Java Settings -->
<java.version>17</java.version>
<java.release.version>17</java.release.version>
<java.test.version>${java.version}</java.test.version>
<java.test.release.version>${java.release.version}</java.test.release.version>
<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>
<!-- Maven minimum version -->
<maven.min-version>3.9.9</maven.min-version>
<!-- Copyright -->
<copyright>2025</copyright>
<!-- Github Settings -->
<github.global.server>github</github.global.server>
<!-- Maven date configuration -->
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
<!-- Probe version settings -->
<probe.version>${project.version} (built at ${maven.build.timestamp} from commit ${git.commit.id})</probe.version>
<!-- Project build settings -->
<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>1754182168</project.build.outputTimestamp>
<!-- Checkstyle -->
<checkstyle.configLocation>checkstyle.xml</checkstyle.configLocation>
<!-- Surefire Settings -->
<argLine>-javaagent:${settings.localRepository}/net/bytebuddy/byte-buddy-agent/${byte-buddy.version}/byte-buddy-agent-${byte-buddy.version}.jar</argLine>
<!-- Jacoco minimum code coverage -->
<jacoco.minimum.coverage>1.00</jacoco.minimum.coverage>
<!-- Dependency Versions -->
<activation.version>2.1.3</activation.version>
<angus-activation.version>2.0.2</angus-activation.version>
<assertj.version>3.27.3</assertj.version>
<beanutils.version>2.0.0-M2</beanutils.version>
<byte-buddy.version>1.17.6</byte-buddy.version>
<c3p0.version>0.11.2</c3p0.version>
<checker.version>3.49.5</checker.version>
<collections.version>4.5.0</collections.version>
<dbcp2.version>2.13.0</dbcp2.version>
<displaytag.version>3.3.0</displaytag.version>
<el-api.version>6.0.1</el-api.version>
<error-prone.version>2.41.0</error-prone.version>
<geoip2.version>4.3.1</geoip2.version>
<guava.version>33.4.8-jre</guava.version>
<hateoas.version>2.5.1</hateoas.version>
<hikaricp.version>7.0.0</hikaricp.version>
<inject.version>2.0.1</inject.version>
<io.version>2.20.0</io.version>
<j2objc.version>3.0.0</j2objc.version>
<jackson.version>2.19.2</jackson.version>
<javabean-tester.version>2.10.0</javabean-tester.version>
<jfreechart.version>1.5.6</jfreechart.version>
<jhighlight.version>1.1.0</jhighlight.version>
<jna.version>5.17.0</jna.version>
<jsp-api.version>4.0.0</jsp-api.version>
<jstl-api.version>3.0.2</jstl-api.version>
<jstl.version>3.0.1</jstl.version>
<junit.version>5.13.4</junit.version>
<lang3.version>3.18.0</lang3.version>
<logback.version>1.5.18</logback.version>
<logging.version>1.3.5</logging.version>
<mail.version>2.0.4</mail.version>
<mchange.version>0.3.2</mchange.version>
<mockito.version>5.18.0</mockito.version>
<ojdbc.version>19.28.0.0</ojdbc.version>
<oshi.version>6.8.2</oshi.version>
<quartz.version>2.5.0</quartz.version>
<servlet-api.version>6.1.0</servlet-api.version>
<sitemesh.version>2.6.1</sitemesh.version>
<slf4j.version>2.0.17</slf4j.version>
<spotbugs.version>4.9.3</spotbugs.version>
<spring.version>6.2.9</spring.version>
<spring-security.version>6.5.2</spring-security.version>
<text.version>1.14.0</text.version>
<tomcat.version>10.1.43</tomcat.version>
<tomee.version>10.1.0</tomee.version>
<transaction-api.version>2.0.1</transaction-api.version>
<ucp.version>21.19.0.0</ucp.version>
<wrapper.version>3.2.3</wrapper.version>
<xstream.version>1.4.21</xstream.version>
<vibur-dbcp.version>26.0</vibur-dbcp.version>
<!-- Plugin Versions -->
<antrun.plugin>3.1.0</antrun.plugin>
<assembly.plugin>3.7.1</assembly.plugin>
<build-helper.plugin>3.6.1</build-helper.plugin>
<checkstyle.plugin>3.6.0</checkstyle.plugin>
<clean.plugin>3.5.0</clean.plugin>
<compiler.plugin>3.14.0</compiler.plugin>
<coveralls.plugin>4.7.0</coveralls.plugin>
<dependency.plugin>3.8.1</dependency.plugin>
<dependency-check.plugin>12.1.3</dependency-check.plugin>
<deploy.plugin>3.1.4</deploy.plugin>
<enforcer.plugin>3.6.1</enforcer.plugin>
<formatter.plugin>2.27.0</formatter.plugin>
<git-commit.plugin>9.0.2</git-commit.plugin>
<gpg.plugin>3.2.8</gpg.plugin>
<impsort.plugin>1.12.0</impsort.plugin>
<install.plugin>3.1.4</install.plugin>
<jacoco.plugin>0.8.13</jacoco.plugin>
<jar.plugin>3.4.2</jar.plugin>
<javadoc.plugin>3.11.2</javadoc.plugin>
<jdeps.plugin>3.1.2</jdeps.plugin>
<jspc.plugin>12.0.23</jspc.plugin>
<jxr.plugin>3.6.0</jxr.plugin>
<l10n.plugin>1.1.0</l10n.plugin>
<license.plugin>5.0.0</license.plugin>
<lifecycle-mapping.plugin>1.0.0</lifecycle-mapping.plugin>
<modernizer.plugin>3.1.0</modernizer.plugin>
<pmd.plugin>3.27.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.15.0</rewrite.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.2</spotbugs.plugin>
<spotless.plugin>2.46.1</spotless.plugin>
<surefire.plugin>3.5.3</surefire.plugin>
<versions.plugin>2.18.0</versions.plugin>
<war.plugin>3.4.0</war.plugin>
<whitespace.plugin>1.5.0</whitespace.plugin>
<!-- Plugin Dependency Versions -->
<build-tools.version>1.4.0</build-tools.version>
<bugpattern.version>1.5.0</bugpattern.version>
<checkstyle.version>10.26.1</checkstyle.version>
<ecj.version>3.42.0</ecj.version>
<extra-enforcer-rules.version>1.10.0</extra-enforcer-rules.version>
<sb-contrib.version>7.6.12</sb-contrib.version>
<findsecbugs.version>1.14.0</findsecbugs.version>
<!-- Verification Checks -->
<error-prone.failOnViolations>-XepAllErrorsAsWarnings</error-prone.failOnViolations>
<error-prone.skipGeneratedCode>-XepDisableWarningsInGeneratedCode -XepExcludedPaths:.*target/generated-sources/.*</error-prone.skipGeneratedCode>
</properties>
<dependencyManagement>
<dependencies>
<!-- Sonar Needs Following for Scans -->
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<version>${spotbugs.version}</version>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>${error-prone.version}</version>
</dependency>
<dependency>
<groupId>com.google.j2objc</groupId>
<artifactId>j2objc-annotations</artifactId>
<version>${j2objc.version}</version>
</dependency>
<!-- Unit Testing -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.version}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${byte-buddy.version}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>${byte-buddy.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-bom</artifactId>
<version>${mockito.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.github.hazendaz</groupId>
<artifactId>javabean-tester</artifactId>
<version>${javabean-tester.version}</version>
</dependency>
<!-- API -->
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>${activation.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-activation</artifactId>
<version>${angus-activation.version}</version>
</dependency>
<dependency>
<groupId>jakarta.inject</groupId>
<artifactId>jakarta.inject-api</artifactId>
<version>${inject.version}</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${servlet-api.version}</version>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>${jsp-api.version}</version>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>${jstl-api.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-mail</artifactId>
<version>${mail.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>${jstl.version}</version>
</dependency>
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
<version>${el-api.version}</version>
</dependency>
<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
<version>${transaction-api.version}</version>
</dependency>
<!-- JDBC / Connection Pools -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>${c3p0.version}</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>mchange-commons-java</artifactId>
<version>${mchange.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc10</artifactId>
<version>${ojdbc.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ucp</artifactId>
<version>${ucp.version}</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>${hikaricp.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>${dbcp2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomee</groupId>
<artifactId>openejb-api</artifactId>
<version>${tomee.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomee</groupId>
<artifactId>mbean-annotation-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomee</groupId>
<artifactId>jakartaee-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tomee</groupId>
<artifactId>openejb-core</artifactId>
<version>${tomee.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tomee</groupId>
<artifactId>openejb-loader</artifactId>
<version>${tomee.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomee</groupId>
<artifactId>tomee-jdbc</artifactId>
<version>${tomee.version}</version>
</dependency>
<dependency>
<groupId>org.vibur</groupId>
<artifactId>vibur-dbcp</artifactId>
<version>${vibur-dbcp.version}</version>
</dependency>
<!-- Guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<!-- Override while guava is behind -->
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
<version>${checker.version}</version>
</dependency>
<!-- Commons -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-beanutils2</artifactId>
<version>${beanutils.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${collections.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${io.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${lang3.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${logging.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>${text.version}</version>
</dependency>
<!-- Displaytag -->
<dependency>
<groupId>com.github.hazendaz</groupId>
<artifactId>displaytag</artifactId>
<version>${displaytag.version}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-bom</artifactId>
<version>${slf4j.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>${hateoas.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-bom</artifactId>
<version>${spring-security.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Geo IP -->
<dependency>
<groupId>com.maxmind.geoip2</groupId>
<artifactId>geoip2</artifactId>
<version>${geoip2.version}</version>
</dependency>
<!-- Override Jackson used in geoip2 -->
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>${quartz.version}</version>
</dependency>
<!-- XML -->
<dependency>
<groupId>com.github.hazendaz</groupId>
<artifactId>sitemesh</artifactId>
<version>${sitemesh.version}</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>${xstream.version}</version>
</dependency>
<!-- Jfreechart -->
<dependency>
<groupId>org.codelibs</groupId>
<artifactId>jhighlight</artifactId>
<version>${jhighlight.version}</version>
</dependency>
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>${jfreechart.version}</version>
</dependency>
<!-- Tanuki Wrapper -->
<dependency>
<groupId>tanukisoft</groupId>
<artifactId>wrapper</artifactId>
<version>${wrapper.version}</version>
</dependency>
<!-- Operating System and Hardware Information -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<!-- Override jna used in oshi -->
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>${jna.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Sonar Needs Following for Scans -->
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.j2objc</groupId>
<artifactId>j2objc-annotations</artifactId>
<scope>provided</scope>
</dependency>
<!-- Unit Testing -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.hazendaz</groupId>
<artifactId>javabean-tester</artifactId>
<scope>test</scope>
</dependency>
<!-- Jakarta EE Activation Apis -->
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-activation</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>package</defaultGoal>
<pluginManagement>
<plugins>
<!-- Cover all Maven Plugins to ensure we are on latest per maven defaults -->
<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-clean-plugin</artifactId>
<version>${clean.plugin}</version>
<configuration>
<force>true</force>
</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-install-plugin</artifactId>
<version>${install.plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${release.plugin}</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<releaseProfiles>release</releaseProfiles>
<addSchema>false</addSchema>
</configuration>
</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-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>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<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>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>${dependency-check.plugin}</version>
<configuration>
<failOnError>false</failOnError>
<nvdApiServerId>nvd</nvdApiServerId>
</configuration>
</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>
<gitDescribe>
<!-- See https://github.com/ktoso/maven-git-commit-id-plugin/issues/61#issuecomment-27995746 -->
<always>true</always>
</gitDescribe>
</configuration>
</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-jxr-plugin</artifactId>
<version>${jxr.plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin}</version>
<configuration>
<configLocation>${checkstyle.configLocation}</configLocation>
<failOnViolation>false</failOnViolation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<violationSeverity>info</violationSeverity>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${surefire.plugin}</version>
</plugin>
<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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${compiler.plugin}</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>${error-prone.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-XDcompilePolicy=simple</arg>
<arg>--should-stop=ifError=FLOW</arg>
<arg>-Xplugin:ErrorProne ${error-prone.failOnViolations} ${error-prone.skipGeneratedCode}</arg>
</compilerArgs>
<parameters>true</parameters>
<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>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>${bugpattern.version}</version>
</plugin>
</plugins>
</configuration>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>${spotbugs.version}</version>
</dependency>
</dependencies>
</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>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>l10n-maven-plugin</artifactId>
<version>${l10n.plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${resources.plugin}</version>
<configuration>
<propertiesEncoding>${project.build.resourceEncoding}</propertiesEncoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${jar.plugin}</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<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>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<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>
<legacyMode>true</legacyMode>
<notimestamp>true</notimestamp>
<show>private</show>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${source.plugin}</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<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-war-plugin</artifactId>
<version>${war.plugin}</version>
<configuration>
<archive>
<manifestEntries>
<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>
<manifest>
<addClasspath>true</addClasspath>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions.plugin}</version>
</plugin>
<plugin>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-jspc-maven-plugin</artifactId>
<version>${jspc.plugin}</version>
<configuration>
<mergeFragment>false</mergeFragment>
<generatedClasses>${project.build.directory}/jspc</generatedClasses>
<sourceVersion>${maven.compiler.source}</sourceVersion>
<targetVersion>${maven.compiler.target}</targetVersion>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>${tomcat.version}</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>ecj</artifactId>
<version>${ecj.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.github.hazendaz.maven</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>${coveralls.plugin}</version>
</plugin>
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>${formatter.plugin}</version>
</plugin>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId>
<version>${impsort.plugin}</version>
<configuration>
<groups>ch,com,jakarta,java,javax,mockit,oracle,org,oshi,psiprobe</groups>
<staticGroups>java,*</staticGroups>
<removeUnused>true</removeUnused>
</configuration>
</plugin>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>${rewrite.plugin}</version>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.java.RemoveUnusedImports</recipe>
</activeRecipes>
</configuration>
</plugin>
<plugin>
<groupId>com.github.ekryd.sortpom</groupId>
<artifactId>sortpom-maven-plugin</artifactId>
<version>${sortpom.plugin}</version>
<configuration>
<predefinedSortOrder>recommended_2008_06</predefinedSortOrder>
<createBackupFile>false</createBackupFile>
<expandEmptyElements>false</expandEmptyElements>
<keepBlankLines>true</keepBlankLines>
<nrOfIndentSpace>4</nrOfIndentSpace>
<spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement>
</configuration>
</plugin>
<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>**/target/**</exclude>
</excludes>
<trimTrailingWhitespace />
<endWithNewline />
<indent>
<spaces>true</spaces>
<spacesPerTab>2</spacesPerTab>
</indent>
</format>
<format>
<includes>
<include>**/*.jsp</include>
<include>**/*.xml</include>
</includes>
<excludes>
<exclude>**/target/**</exclude>
</excludes>
<trimTrailingWhitespace />
<endWithNewline />
<indent>
<spaces>true</spaces>
<spacesPerTab>4</spacesPerTab>
</indent>
</format>
</formats>
</configuration>
</plugin>
<plugin>
<groupId>com.github.hazendaz.maven</groupId>
<artifactId>whitespace-maven-plugin</artifactId>
<version>${whitespace.plugin}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper.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. Use only commons-logging when needed and no overrides from any of the major logging providers.</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>
<enforceBytecodeVersion>
<maxJdkVersion>${java.version}</maxJdkVersion>
<ignoredScopes>test</ignoredScopes>
<excludes>
<!-- Openssl contains panama for jdk 22 or higher if enabled via listener 'org.apache.catalina.core.OpenSSLLifecycleListener' -->
<exclude>org.apache.tomcat:tomcat-coyote</exclude>
</excludes>
</enforceBytecodeVersion>
<requireJavaVersion>
<version>[17,18),[21,22),[23,24),[24,25),[25,26)</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[${maven.min-version},)</version>
</requireMavenVersion>
</rules>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra-enforcer-rules.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${license.plugin}</version>
<configuration>
<licenseSets>
<licenseSet>
<header>${main.basedir}/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 -->
<exclude>NOTICE</exclude>
<exclude>**/*GeoLite2-Country.mmdb</exclude>
</excludes>
</licenseSet>
</licenseSets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jdeps-plugin</artifactId>
<version>${jdeps.plugin}</version>
</plugin>
<!-- Sonar -->
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar.plugin}</version>
</plugin>
<plugin>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-plugin</artifactId>
<version>${modernizer.plugin}</version>
<configuration>
<javaVersion>${maven.compiler.release}</javaVersion>
</configuration>
</plugin>
<!-- Sonatype Provided Plugins -->
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<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>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<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>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>root-location</id>
<goals>
<goal>rootlocation</goal>
</goals>
<configuration>
<rootLocationProperty>main.basedir</rootLocationProperty>
</configuration>
</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>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>format</goal>
</goals>
<phase>compile</phase>
</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.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
<dependency>
<groupId>com.github.hazendaz</groupId>
<artifactId>build-tools</artifactId>
<version>${build-tools.version}</version>
</dependency>
</dependencies>
<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>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</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>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<configuration>
<configFile>${main.basedir}/eclipse-java-google-style.xml</configFile>
</configuration>
<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>
<recipe>org.openrewrite.java.RemoveUnusedImports</recipe>
</activeRecipes>
</configuration>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>process-sources</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.ekryd.sortpom</groupId>
<artifactId>sortpom-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>sort</goal>
</goals>
<phase>verify</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>
<!-- Sonatype Provided Plugins -->
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-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-surefire-report-plugin</artifactId>
<configuration>
<aggregate>true</aggregate>
</configuration>
</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>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-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.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<!-- select non-aggregate reports -->
<report>report</report>
</reports>
</reportSet>
</reportSets>
</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>release</id>
<properties>
<probe.version>${project.version}</probe.version>
</properties>
<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>
<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>
<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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
</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>pre17</id>
<activation>
<jdk>(,17)</jdk>
</activation>
<properties>
<ecj.version>3.33.0</ecj.version>
</properties>
</profile>
<profile>
<id>jdk17on</id>
<activation>
<jdk>[17,)</jdk>
</activation>
<properties>
<argLine>-javaagent:${settings.localRepository}/net/bytebuddy/byte-buddy-agent/${byte-buddy.version}/byte-buddy-agent-${byte-buddy.version}.jar --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.logging/java.util.logging=ALL-UNNAMED</argLine>
</properties>
<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 Needs -->
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</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.release.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-mapping.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 maven plugin should be ignored in m2e. -->
<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>rewrite-common</id>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.staticanalysis.CodeCleanup</recipe>
<recipe>org.openrewrite.staticanalysis.CommonStaticAnalysis</recipe>
<recipe>org.openrewrite.java.RemoveUnusedImports</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-static-analysis</artifactId>
<version>2.14.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>rewrite-java</id>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.java.migrate.UpgradeToJava8</recipe>
<recipe>org.openrewrite.java.RemoveUnusedImports</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-migrate-java</artifactId>
<version>3.14.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>process-sources</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>
<recipe>org.openrewrite.java.testing.junit5.JUnit5BestPractices</recipe>
<recipe>org.openrewrite.java.RemoveUnusedImports</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-testing-frameworks</artifactId>
<version>3.14.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>rewrite-logging</id>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.java.logging.slf4j.ParameterizedLogging</recipe>
<recipe>org.openrewrite.java.RemoveUnusedImports</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-logging-frameworks</artifactId>
<version>3.12.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>rewrite-spring</id>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.java.spring.framework.UpgradeSpringFramework_5_3</recipe>
<recipe>org.openrewrite.java.spring.security5.UpgradeSpringSecurity_5_8</recipe>
<recipe>org.openrewrite.java.RemoveUnusedImports</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-spring</artifactId>
<version>6.11.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>