| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-parent</artifactId> |
| <version>47</version> |
| <relativePath /> |
| </parent> |
| |
| <artifactId>maven</artifactId> |
| <version>4.0.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <name>Apache Maven</name> |
| <description>Maven is a software build management and |
| comprehension tool. Based on the concept of a project object model: |
| builds, dependency management, documentation creation, site |
| publication, and distribution publication are all controlled from |
| the declarative file. Maven can be extended by plugins to utilise a |
| number of other development tools for reporting or the build |
| process.</description> |
| <url>https://maven.apache.org/ref/${project.version}/</url> |
| <inceptionYear>2001</inceptionYear> |
| |
| <contributors> |
| <contributor> |
| <name>Stuart McCulloch</name> |
| </contributor> |
| <contributor> |
| <name>Christian Schulte (MNG-2199)</name> |
| </contributor> |
| <contributor> |
| <name>Christopher Tubbs (MNG-4226)</name> |
| </contributor> |
| <contributor> |
| <name>Konstantin Perikov (MNG-4565)</name> |
| </contributor> |
| <contributor> |
| <name>Sébastian Le Merdy (MNG-5613)</name> |
| </contributor> |
| <contributor> |
| <name>Mark Ingram (MNG-5639)</name> |
| </contributor> |
| <contributor> |
| <name>Phil Pratt-Szeliga (MNG-5645)</name> |
| </contributor> |
| <contributor> |
| <name>Florencia Tarditti (PR 41)</name> |
| </contributor> |
| <contributor> |
| <name>Anton Tanasenko</name> |
| </contributor> |
| <contributor> |
| <name>Joseph Walton (MNG-5297)</name> |
| </contributor> |
| <contributor> |
| <name>Fabiano Cipriano de Oliveira (MNG-6261)</name> |
| </contributor> |
| <contributor> |
| <name>Mike Mol (MNG-6665)</name> |
| </contributor> |
| <contributor> |
| <name>Martin Kanters</name> |
| <organization>JPoint</organization> |
| </contributor> |
| <contributor> |
| <name>Maarten Mulders</name> |
| <organization>Info Support</organization> |
| </contributor> |
| <contributor> |
| <name>Luc Klaassen (MNG-6065)</name> |
| </contributor> |
| <contributor> |
| <name>Wouter Aarts (MNG-6065)</name> |
| </contributor> |
| <contributor> |
| <name>Arturo Bernal</name> |
| </contributor> |
| </contributors> |
| |
| <modules> |
| <module>api</module> |
| <module>impl</module> |
| <module>compat</module> |
| <module>apache-maven</module> |
| </modules> |
| |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/maven.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven.git</developerConnection> |
| <tag>master</tag> |
| <url>https://github.com/apache/maven/tree/${project.scm.tag}</url> |
| </scm> |
| <issueManagement> |
| <system>GitHub Issues</system> |
| <url>https://github.com/apache/maven/issues</url> |
| </issueManagement> |
| <ciManagement> |
| <system>Jenkins</system> |
| <url>https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven/</url> |
| </ciManagement> |
| <distributionManagement> |
| <site> |
| <id>apache.website</id> |
| <url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url> |
| </site> |
| <downloadUrl>https://maven.apache.org/download.html</downloadUrl> |
| </distributionManagement> |
| |
| <properties> |
| <javaVersion>17</javaVersion> |
| <maven.compiler.source>${javaVersion}</maven.compiler.source> |
| <maven.compiler.target>${javaVersion}</maven.compiler.target> |
| <maven.compiler.release>${javaVersion}</maven.compiler.release> |
| <maven.compiler.proc>full</maven.compiler.proc> |
| <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile> |
| <maven.baseline>3.9.8</maven.baseline> |
| <!-- Control the name of the distribution and information output by mvn --> |
| <distributionId>apache-maven</distributionId> |
| <distributionShortName>Maven</distributionShortName> |
| <distributionName>Apache Maven</distributionName> |
| <maven.site.path>ref/4-LATEST</maven.site.path> |
| <project.build.outputTimestamp>2025-11-07T22:54:23Z</project.build.outputTimestamp> |
| <!-- various versions --> |
| <assertjVersion>3.27.7</assertjVersion> |
| <asmVersion>9.9.1</asmVersion> |
| <byteBuddyVersion>1.18.7</byteBuddyVersion> |
| <classWorldsVersion>2.9.0</classWorldsVersion> |
| <commonsCliVersion>1.11.0</commonsCliVersion> |
| <guiceVersion>5.1.0</guiceVersion> |
| <guavaVersion>33.5.0-jre</guavaVersion> |
| <guavafailureaccessVersion>1.0.1</guavafailureaccessVersion> |
| <hamcrestVersion>3.0</hamcrestVersion> |
| <jakartaInjectApiVersion>2.0.1</jakartaInjectApiVersion> |
| <javaxAnnotationApiVersion>1.3.2</javaxAnnotationApiVersion> |
| <jlineVersion>3.30.6</jlineVersion> |
| <jmhVersion>1.37</jmhVersion> |
| <junitVersion>5.13.4</junitVersion> |
| <jxpathVersion>1.4.0</jxpathVersion> |
| <logbackClassicVersion>1.5.32</logbackClassicVersion> |
| <mockitoVersion>5.22.0</mockitoVersion> |
| <plexusInteractivityVersion>1.5.1</plexusInteractivityVersion> |
| <plexusInterpolationVersion>1.29</plexusInterpolationVersion> |
| <plexusTestingVersion>2.1.0</plexusTestingVersion> |
| <plexusXmlVersion>4.1.1</plexusXmlVersion> |
| <resolverVersion>2.0.16</resolverVersion> |
| <securityDispatcherVersion>4.1.0</securityDispatcherVersion> |
| <sisuVersion>1.0.0</sisuVersion> |
| <slf4jVersion>2.0.17</slf4jVersion> |
| <stax2ApiVersion>4.2.2</stax2ApiVersion> |
| <wagonVersion>3.5.3</wagonVersion> |
| <woodstoxVersion>7.1.1</woodstoxVersion> |
| <xmlunitVersion>2.11.0</xmlunitVersion> |
| <jacocoArgLine /> |
| |
| <version.spotless-maven-plugin>3.0.0</version.spotless-maven-plugin> |
| <version.palantirJavaFormat>2.80.0</version.palantirJavaFormat> |
| |
| <!-- Set as system property in surefire/failsafe to propagate to tests and IT Verifier --> |
| <toolboxVersion>0.14.1</toolboxVersion> |
| </properties> |
| |
| <!--bootstrap-start-comment--> |
| <dependencyManagement> |
| <!--bootstrap-end-comment--> |
| <dependencies> |
| <!-- Maven Modules --> |
| <!--bootstrap-start-comment--> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-artifact</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-builder-support</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-jline</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-logging</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-impl</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-embedder</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-cli</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-model</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-annotations</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-model</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-settings</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-spi</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-toolchain</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-plugin</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-xml</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-di</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-metadata</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-api-cli</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-di</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-support</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-model-builder</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-plugin-api</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-repository-metadata</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-resolver-provider</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-settings</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-settings-builder</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-toolchain-model</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-toolchain-builder</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-xml</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-compat</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <!--bootstrap-end-comment--> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-xml</artifactId> |
| <version>${plexusXmlVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| <version>${guiceVersion}</version> |
| <classifier>classes</classifier> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guavaVersion}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_annotations</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>listenablefuture</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.j2objc</groupId> |
| <artifactId>j2objc-annotations</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.checkerframework</groupId> |
| <artifactId>checker-qual</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.sisu</groupId> |
| <artifactId>org.eclipse.sisu.plexus</artifactId> |
| <version>${sisuVersion}</version> |
| <exclusions> |
| <!-- Detach them: We want to handle Sisu inject and plexus explicitly --> |
| <!-- Once have this, once have that on classpath --> |
| <!-- Finally, we may want to use some with classifier --> |
| <exclusion> |
| <groupId>org.eclipse.sisu</groupId> |
| <artifactId>org.eclipse.sisu.inject</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-xml-impl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>javax.annotation</groupId> |
| <artifactId>javax.annotation-api</artifactId> |
| <version>${javaxAnnotationApiVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.sisu</groupId> |
| <artifactId>org.eclipse.sisu.inject</artifactId> |
| <version>${sisuVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>${asmVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.inject</groupId> |
| <artifactId>javax.inject</artifactId> |
| <version>1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-classworlds</artifactId> |
| <version>${classWorldsVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-interpolation</artifactId> |
| <version>${plexusInterpolationVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-interactivity-api</artifactId> |
| <version>${plexusInteractivityVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-reader</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-style</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-builtins</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-console</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-console-ui</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-terminal</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-terminal-ffm</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-terminal-jni</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-native</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jansi-core</artifactId> |
| <version>${jlineVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4jVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>${slf4jVersion}</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>${logbackClassicVersion}</version> |
| <optional>true</optional> |
| </dependency> |
| <!-- Wagon --> |
| <dependency> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-provider-api</artifactId> |
| <version>${wagonVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-file</artifactId> |
| <version>${wagonVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-http</artifactId> |
| <version>${wagonVersion}</version> |
| </dependency> |
| <!-- Repository --> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-api</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-spi</artifactId> |
| <version>${resolverVersion}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_annotations</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-impl</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-util</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-named-locks</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-connector-basic</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-transport-file</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-transport-apache</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-transport-jdk</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-transport-wagon</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| <!-- Commons --> |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>${commonsCliVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-jxpath</groupId> |
| <artifactId>commons-jxpath</artifactId> |
| <version>${jxpathVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-sec-dispatcher</artifactId> |
| <version>${securityDispatcherVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.woodstox</groupId> |
| <artifactId>woodstox-core</artifactId> |
| <version>${woodstoxVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.woodstox</groupId> |
| <artifactId>stax2-api</artifactId> |
| <version>${stax2ApiVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.xmlunit</groupId> |
| <artifactId>xmlunit-assertj</artifactId> |
| <version>${xmlunitVersion}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.xmlunit</groupId> |
| <artifactId>xmlunit-core</artifactId> |
| <version>${xmlunitVersion}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.xmlunit</groupId> |
| <artifactId>xmlunit-matchers</artifactId> |
| <version>${xmlunitVersion}</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest</artifactId> |
| <version>${hamcrestVersion}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>${assertjVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-testing</artifactId> |
| <version>${plexusTestingVersion}</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.junit</groupId> |
| <artifactId>junit-bom</artifactId> |
| <version>${junitVersion}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-bom</artifactId> |
| <version>${mockitoVersion}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| <version>${byteBuddyVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.jimfs</groupId> |
| <artifactId>jimfs</artifactId> |
| <version>1.3.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jdom</groupId> |
| <artifactId>jdom2</artifactId> |
| <version>2.0.6.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-core</artifactId> |
| <version>${jmhVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-generator-annprocess</artifactId> |
| <version>${jmhVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>eu.maveniverse.maven.mimir</groupId> |
| <artifactId>testing</artifactId> |
| <version>0.11.2</version> |
| </dependency> |
| </dependencies> |
| <!--bootstrap-start-comment--> |
| </dependencyManagement> |
| <!--bootstrap-end-comment--> |
| <!-- |
| <dependencies> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| --> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory" /> |
| <argLine>-Xmx256m @{jacocoArgLine}</argLine> |
| <systemPropertyVariables combine.children="append"> |
| <version.toolbox>${toolboxVersion}</version.toolbox> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory" /> |
| <argLine>-Xmx256m @{jacocoArgLine}</argLine> |
| <systemPropertyVariables combine.children="append"> |
| <version.toolbox>${toolboxVersion}</version.toolbox> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| <!-- enforce backwards compatibility --> |
| <plugin> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| <version>0.25.4</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>cmp</goal> |
| </goals> |
| <phase>verify</phase> |
| <configuration> |
| <parameter> |
| <!-- baseline is 3.8.6 for Maven 4 --> |
| <oldVersionPattern>${maven.baseline}</oldVersionPattern> |
| <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications> |
| <onlyBinaryIncompatible>true</onlyBinaryIncompatible> |
| <!-- don't include subpackages --> |
| <includeExclusively>true</includeExclusively> |
| </parameter> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.6.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <configuration> |
| <deployAtEnd>true</deployAtEnd> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>3.3.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <configuration> |
| <!-- Include generated sources in the sources JAR --> |
| <excludeResources>false</excludeResources> |
| <includePom>true</includePom> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.14</version> |
| <configuration> |
| <excludes> |
| <exclude>**/org/apache/maven/it/**</exclude> |
| <exclude>**/org/apache/maven/its/**</exclude> |
| <exclude>**/org/apache/maven/coreit/**</exclude> |
| <exclude>**/org/apache/maven/plugin/coreit/**</exclude> |
| <exclude>**/org/apache/maven/wagon/providers/coreit/**</exclude> |
| <exclude>**/org/apache/maven/coreits/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>net.sourceforge.pmd</groupId> |
| <artifactId>pmd-core</artifactId> |
| <version>7.22.0</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.sisu</groupId> |
| <artifactId>sisu-maven-plugin</artifactId> |
| <version>${sisuVersion}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>${asmVersion}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>Jenkinsfile</exclude> |
| <exclude>**/.gitattributes</exclude> |
| <exclude>src/main/resources/META-INF/services/**</exclude> |
| <exclude>src/test/resources*/**</exclude> |
| <exclude>src/test/projects/**</exclude> |
| <exclude>src/test/remote-repo/**</exclude> |
| <exclude>its/**</exclude> |
| <exclude>**/*.odg</exclude> |
| <exclude>**/*.svg</exclude> |
| <exclude>.asf.yaml</exclude> |
| <exclude>.mvn/**</exclude> |
| <exclude>.jbang/**</exclude> |
| <!-- |
| ! Excluded the license files itself cause they do not have a license of themselves. |
| --> |
| <exclude>src/main/appended-resources/licenses/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>io.github.olamy.maven.plugins</groupId> |
| <artifactId>jacoco-aggregator-maven-plugin</artifactId> |
| <version>1.0.4</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-doap-plugin</artifactId> |
| <version>1.2</version> |
| <configuration> |
| <asfExtOptions> |
| <charter>The mission of the Apache Maven project is to create and maintain software |
| libraries that provide a widely-used project build tool, targeting mainly Java |
| development. Apache Maven promotes the use of dependencies via a |
| standardized coordinates system, binary plugins, and a standard build |
| lifecycle.</charter> |
| </asfExtOptions> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>ensure-no-guice-with-asm</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <!-- we use com.google.inject:classes:guice --> |
| <exclude>com.google.inject:guice:*</exclude> |
| </excludes> |
| <includes> |
| <include>com.google.inject:guice:*:jar:*:classes</include> |
| </includes> |
| <message>use guice without asm shaded in.</message> |
| </bannedDependencies> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| <execution> |
| <id>ensure-no-sonatype-cipher-and-sec-dispatcher</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <exclude>org.sonatype.plexus:plexus-sec-dispatcher</exclude> |
| <exclude>org.sonatype.plexus:plexus-cipher</exclude> |
| </excludes> |
| <message>ensure no more org.sonatype.plexus:plexus-cipher and org.sonatype.plexus:plexus-sec-dispatcher.</message> |
| </bannedDependencies> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| <execution> |
| <id>enforce-bytecode-version</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>[17,)</version> |
| </requireJavaVersion> |
| <enforceBytecodeVersion> |
| <maxJdkVersion>${maven.compiler.release}</maxJdkVersion> |
| <ignoredScopes> |
| <ignoredScope>test</ignoredScope> |
| </ignoredScopes> |
| <excludes> |
| <exclude>org.jline:jline-terminal-ffm</exclude> |
| </excludes> |
| </enforceBytecodeVersion> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>prepare-for-mockito-agent</id> |
| <goals> |
| <goal>properties</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>mockito</id> |
| <activation> |
| <property> |
| <name>org.mockito:mockito-core:jar</name> |
| </property> |
| </activation> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <argLine>-Xmx256m -javaagent:${org.mockito:mockito-core:jar}</argLine> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| <profile> |
| <id>graph</id> |
| <activation> |
| <os> |
| <family>!windows</family> |
| </os> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.fusesource.mvnplugins</groupId> |
| <artifactId>maven-graph-plugin</artifactId> |
| <version>1.45</version> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <id>graph</id> |
| <goals> |
| <goal>reactor</goal> |
| </goals> |
| <phase>pre-site</phase> |
| <configuration> |
| <hideVersion>true</hideVersion> |
| <hideGroupId>true</hideGroupId> |
| <hideScopes>test</hideScopes> |
| <hideTransitive>true</hideTransitive> |
| <keepDot>true</keepDot> |
| <target>${project.build.directory}/graph/reactor-graph.dot</target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>dev.jbang</groupId> |
| <artifactId>jbang-maven-plugin</artifactId> |
| <version>0.0.8</version> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <id>graph</id> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <phase>pre-site</phase> |
| <configuration> |
| <script>${project.basedir}/src/graph/ReactorGraph.java</script> |
| <jbangargs> |
| <arg>--verbose</arg> |
| </jbangargs> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <phase>pre-site</phase> |
| <configuration> |
| <target> |
| <!-- directory should be created by org.eclipse.aether.tools.CollectConfiguration --> |
| <!-- TODO: remove with next version of resolver-tools --> |
| <mkdir dir="${project.build.directory}/generated-site/markdown" /> |
| <mkdir dir="${project.build.directory}/generated-site/resources" /> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>3.6.3</version> |
| <inherited>false</inherited> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-tools</artifactId> |
| <version>${resolverVersion}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>render-configuration-page</id> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <phase>pre-site</phase> |
| <configuration> |
| <additionalClasspathElements> |
| <additionalClasspathElement>${project.basedir}/src/configuration-templates</additionalClasspathElement> |
| </additionalClasspathElements> |
| <includePluginDependencies>true</includePluginDependencies> |
| <mainClass>org.eclipse.aether.tools.CollectConfiguration</mainClass> |
| <arguments> |
| <argument>--mode=maven</argument> |
| <!-- |
| TODO: templates are loaded from classpath, in "normal" JAR project local template would override docgen one, |
| but in this case the packaging=pom all I could do is use additionalClasspathElement that APPENDS classpath, |
| hence template is renamed to maven-configuration.md.vm, to avoid conflict (and picking up resolver template) |
| --> |
| <argument>--templates=maven-configuration.md</argument> |
| <argument>${project.basedir}</argument> |
| <argument>${project.build.directory}/generated-site/markdown</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <id>render-configuration-properties</id> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <phase>pre-site</phase> |
| <configuration> |
| <additionalClasspathElements> |
| <additionalClasspathElement>${project.basedir}/src/configuration-templates</additionalClasspathElement> |
| </additionalClasspathElements> |
| <includePluginDependencies>true</includePluginDependencies> |
| <mainClass>org.eclipse.aether.tools.CollectConfiguration</mainClass> |
| <arguments> |
| <argument>--mode=maven</argument> |
| <!-- |
| TODO: add feature to resolver-tools to allow multiple output directory for different templates |
| to avoid double execution |
| --> |
| <argument>--templates=configuration.properties,configuration.yaml</argument> |
| <argument>${project.basedir}</argument> |
| <argument>${project.build.directory}/generated-site/resources</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>source-release-assembly</id> |
| <configuration> |
| <!-- we have a dedicated distribution module --> |
| <skipAssembly>true</skipAssembly> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>reporting</id> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <tags> |
| <tag> |
| <name>provisional</name> |
| <placement>tf</placement> |
| <head>Provisional:</head> |
| </tag> |
| </tags> |
| <groups> |
| <group> |
| <title>Maven 4 API - CLI</title> |
| <packages>org.apache.maven.api.cli*</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - Core</title> |
| <packages>org.apache.maven.api:org.apache.maven.api.cache:org.apache.maven.api.feature:org.apache.maven.api.plugin:org.apache.maven.api.plugin.annotations:org.apache.maven.api.services:org.apache.maven.api.services.xml</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - Plugin</title> |
| <packages>org.apache.maven.api.plugin.descriptor*</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - Model</title> |
| <packages>org.apache.maven.api.model</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - Settings</title> |
| <packages>org.apache.maven.api.settings</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - Toolchain</title> |
| <packages>org.apache.maven.api.toolchain</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - Annotations</title> |
| <packages>org.apache.maven.api.annotations</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - DI</title> |
| <packages>org.apache.maven.api.di:org.apache.maven.di.tool</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - Metadata</title> |
| <packages>org.apache.maven.api.metadata</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - SPI</title> |
| <packages>org.apache.maven.api.spi</packages> |
| </group> |
| <group> |
| <title>Maven 4 API - XML</title> |
| <packages>org.apache.maven.api.xml</packages> |
| </group> |
| </groups> |
| </configuration> |
| <reportSets> |
| <reportSet> |
| <id>aggregate</id> |
| <reports> |
| <report>aggregate</report> |
| </reports> |
| <inherited>false</inherited> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jxr-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <id>aggregate</id> |
| <reports> |
| <report>aggregate</report> |
| </reports> |
| <inherited>false</inherited> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| </profile> |
| <profile> |
| <id>run-its</id> |
| <modules> |
| <module>its</module> |
| </modules> |
| </profile> |
| <profile> |
| <id>ci</id> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <reportsDirectory>${project.build.directory}/test-results-surefire</reportsDirectory> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| <profile> |
| <id>jacoco</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <argLine>-Xmx1G @{jacocoArgLine}</argLine> |
| <reportsDirectory>${project.build.directory}/test-results-surefire</reportsDirectory> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>jacoco-initialize</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| <phase>initialize</phase> |
| <configuration> |
| <propertyName>jacocoArgLine</propertyName> |
| </configuration> |
| </execution> |
| <execution> |
| <id>jacoco-site</id> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| <phase>package</phase> |
| <configuration> |
| <includes> |
| <include>**/org/apache/maven/**</include> |
| </includes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |