| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Copyright 2019-2021 the original author or authors. |
| |
| Licensed 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 http://maven.apache.org/maven-v4_0_0.xsd"> |
| |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-parent</artifactId> |
| <version>43</version> |
| <relativePath /> |
| </parent> |
| |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd</artifactId> |
| <version>2.0.0-beta-2-SNAPSHOT</version> |
| |
| <packaging>pom</packaging> |
| <name>Maven Daemon - Parent</name> |
| <inceptionYear>2019</inceptionYear> |
| |
| <licenses> |
| <license> |
| <name>Apache-2.0</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| |
| <modules> |
| <module>build-plugin</module> |
| <module>native</module> |
| <module>agent</module> |
| <module>helper</module> |
| <module>common</module> |
| <module>client</module> |
| <module>logging</module> |
| <module>daemon</module> |
| <module>dist</module> |
| <module>integration-tests</module> |
| </modules> |
| |
| <scm> |
| <connection>scm:git:${repository.url}.git</connection> |
| <developerConnection>scm:git:${repository.url}.git</developerConnection> |
| <tag>head</tag> |
| <url>${repository.url}</url> |
| </scm> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <maven.compiler.source>17</maven.compiler.source> |
| <maven.compiler.target>17</maven.compiler.target> |
| <maven.compiler.release>17</maven.compiler.release> |
| <maven-dist.required.jdk>17</maven-dist.required.jdk> |
| <project.build.outputTimestamp>2024-06-20T16:09:45Z</project.build.outputTimestamp> |
| <trimStackTrace>false</trimStackTrace> |
| <project.github.repository>apache/maven-mvnd</project.github.repository> |
| <repository.url>github.com:${project.github.repository}</repository.url> |
| |
| <!-- dependency versions a..z --> |
| <apiguardian-api.version>1.0.0</apiguardian-api.version> |
| <assertj.version>3.26.3</assertj.version> |
| <commons-compress.version>1.27.1</commons-compress.version> |
| <graalvm.version>24.1.1</graalvm.version> |
| <graalvm.plugin.version>0.10.3</graalvm.plugin.version> |
| <groovy.version>4.0.23</groovy.version> |
| <jansi.version>2.4.1</jansi.version> |
| <jline.version>3.27.1</jline.version> |
| <maven.version>4.0.0-beta-5-SNAPSHOT</maven.version> |
| |
| <!-- Keep in sync with Maven --> |
| <maven.resolver.version>2.0.2</maven.resolver.version> |
| <slf4j.version>2.0.16</slf4j.version> |
| <sisu.version>0.9.0.M3</sisu.version> |
| <maven.plugin-tools.version>3.15.0</maven.plugin-tools.version> |
| <version.plexus-utils>4.0.2</version.plexus-utils> |
| <version.plexus-xml>4.0.4</version.plexus-xml> |
| <jakarta.inject.version>2.0.1.MR</jakarta.inject.version> |
| |
| <!-- plugin versions a..z --> |
| <buildnumber-maven-plugin.version>3.2.1</buildnumber-maven-plugin.version> |
| <groovy-maven-plugin.version>4.0.1</groovy-maven-plugin.version> |
| <junit-platform-launcher.version>1.3.2</junit-platform-launcher.version> |
| <takari-provisio.version>1.1.1</takari-provisio.version> |
| |
| <javassist.version>3.30.2-GA</javassist.version> |
| <picocli.version>4.7.6</picocli.version> |
| <plexus-interactivity-api.version>1.3</plexus-interactivity-api.version> |
| <roaster.version>2.29.0.Final</roaster.version> |
| <takari-smart-builder.version>1.0.2</takari-smart-builder.version> |
| <testcontainers.version>1.20.2</testcontainers.version> |
| <xstream.version>1.4.20</xstream.version> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| <version>${commons-compress.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| <version>${groovy.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.graalvm.nativeimage</groupId> |
| <artifactId>svm</artifactId> |
| <version>${graalvm.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>jakarta.inject</groupId> |
| <artifactId>jakarta.inject-api</artifactId> |
| <version>${jakarta.inject.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-plugin-api</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-model</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-core</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-resolver-provider</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-embedder</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-cli</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-jline</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-logging</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>apache-maven</artifactId> |
| <version>${maven.version}</version> |
| <classifier>bin</classifier> |
| <type>tar.gz</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.plugin-tools</groupId> |
| <artifactId>maven-plugin-annotations</artifactId> |
| <version>${maven.plugin-tools.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-api</artifactId> |
| <version>${maven.resolver.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-impl</artifactId> |
| <version>${maven.resolver.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-spi</artifactId> |
| <version>${maven.resolver.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-util</artifactId> |
| <version>${maven.resolver.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-connector-basic</artifactId> |
| <version>${maven.resolver.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.resolver</groupId> |
| <artifactId>maven-resolver-transport-wagon</artifactId> |
| <version>${maven.resolver.version}</version> |
| </dependency> |
| |
| <!-- Only for MessageBuilder/MessageUtils --> |
| <dependency> |
| <groupId>org.apache.maven.shared</groupId> |
| <artifactId>maven-shared-utils</artifactId> |
| <version>3.4.2</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>${assertj.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-native</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-logging</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-agent</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-client</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-common</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-dist</artifactId> |
| <version>${project.version}</version> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-daemon</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-helper-agent</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.takari.maven</groupId> |
| <artifactId>takari-smart-builder</artifactId> |
| <version>${takari-smart-builder.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.eclipse.sisu</groupId> |
| <artifactId>org.eclipse.sisu.inject</artifactId> |
| <version>${sisu.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.sisu</groupId> |
| <artifactId>org.eclipse.sisu.plexus</artifactId> |
| <version>${sisu.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| <version>6.0.0</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>33.3.1-jre</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline</artifactId> |
| <version>${jline.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-terminal</artifactId> |
| <version>${jline.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-terminal-jansi</artifactId> |
| <version>${jline.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline-terminal-jni</artifactId> |
| <version>${jline.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>info.picocli</groupId> |
| <artifactId>picocli-codegen</artifactId> |
| <version>${picocli.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>log4j-over-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jul-to-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jboss.forge.roaster</groupId> |
| <artifactId>roaster-jdt</artifactId> |
| <version>${roaster.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.javassist</groupId> |
| <artifactId>javassist</artifactId> |
| <version>${javassist.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-interactivity-api</artifactId> |
| <version>${plexus-interactivity-api.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers</artifactId> |
| <version>${testcontainers.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>junit-jupiter</artifactId> |
| <version>${testcontainers.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.daemon</groupId> |
| <artifactId>mvnd-build-maven-plugin</artifactId> |
| <version>${project.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <configuration> |
| <java> |
| <palantirJavaFormat /> |
| <includes> |
| <include>src/main/java/**/*.java</include> |
| <include>src/main/java-fallback/**/*.java</include> |
| <include>src/main/java-mvnd/**/*.java</include> |
| <include>src/main/java11/**/*.java</include> |
| <include>src/main/java16/**/*.java</include> |
| <include>src/test/java/**/*.java</include> |
| </includes> |
| </java> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes combine.children="append"> |
| <exclude>**/*.png</exclude> |
| <exclude>**/*.json</exclude> |
| <exclude>**/.mvn/*</exclude> |
| <exclude>.cache/**</exclude> |
| <exclude>.mvn/**/*</exclude> |
| <exclude>*.adoc</exclude> |
| <exclude>*.md</exclude> |
| <exclude>src/test/projects/**/.classpath</exclude> |
| <exclude>src/test/projects/**/.project</exclude> |
| <exclude>src/test/projects/**/.settings/**</exclude> |
| <exclude>src/test/projects/**/target/**</exclude> |
| <exclude>**/META-INF/services/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>ca.vanzyl.provisio.maven.plugins</groupId> |
| <artifactId>provisio-maven-plugin</artifactId> |
| <version>${takari-provisio.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.thoughtworks.xstream</groupId> |
| <artifactId>xstream</artifactId> |
| <version>${xstream.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.gmavenplus</groupId> |
| <artifactId>gmavenplus-plugin</artifactId> |
| <version>${groovy-maven-plugin.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy-all</artifactId> |
| <version>${groovy.version}</version> |
| <type>pom</type> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>${buildnumber-maven-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.graalvm.buildtools</groupId> |
| <artifactId>native-maven-plugin</artifactId> |
| <version>${graalvm.plugin.version}</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.8.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.10.1</version> |
| <configuration> |
| <release>${maven-dist.required.jdk}</release> |
| <detectJavaApiLink>false</detectJavaApiLink> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-plugin-plugin</artifactId> |
| <version>${maven.plugin-tools.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <useReleaseProfile>false</useReleaseProfile> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| <tagNameFormat>@{project.version}</tagNameFormat> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.20.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-wrapper-plugin</artifactId> |
| <version>3.3.2</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.6.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>3.4.1</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>checkstyle-check</id> |
| <phase>none</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-bytecode-version</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>3.6.3</version> |
| </requireMavenVersion> |
| <requireJavaVersion> |
| <version>[17,)</version> |
| </requireJavaVersion> |
| <enforceBytecodeVersion> |
| <maxJdkVersion>${maven-dist.required.jdk}</maxJdkVersion> |
| <ignoredScopes> |
| <ignoredScope>test</ignoredScope> |
| <!-- GraalVM SVM and deps are 17+, but are provided and used only for Native --> |
| <ignoredScopes>provided</ignoredScopes> |
| </ignoredScopes> |
| <excludes> |
| <exclude>org.jline:jline</exclude> |
| </excludes> |
| </enforceBytecodeVersion> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.gmavenplus</groupId> |
| <artifactId>gmavenplus-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>set-platform-properties</id> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration> |
| <scripts> |
| <script>// Naming conventions coined by GraalVM |
| // https://github.com/graalvm/graalvm-ce-builds/releases/ |
| String osName = System.getProperty('os.name').toLowerCase(Locale.ROOT) |
| if (osName.startsWith('windows')) { |
| project.properties['os.detected.name'] = 'windows' |
| } else if (osName.startsWith('linux')) { |
| project.properties['os.detected.name'] = 'linux' |
| } else if (osName.startsWith('osx') || osName.startsWith('mac os x')) { |
| project.properties['os.detected.name'] = 'darwin' |
| } else { |
| project.properties['os.detected.name'] = osName |
| } |
| String osArch = System.getProperty('os.arch').toLowerCase(Locale.ROOT) |
| if (osArch.equals('amd64') || osArch.equals('x86_64')) { |
| project.properties['os.detected.arch'] = 'amd64' |
| } else { |
| project.properties['os.detected.arch'] = osArch |
| }</script> |
| </scripts> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>source-distribution</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <id>build-with-jdk11+</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>[11,)</version> |
| </requireJavaVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>create-source-distribution</id> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <phase>package</phase> |
| <configuration> |
| <finalName>maven-mvnd-${project.version}</finalName> |
| <descriptors> |
| <descriptor>src/main/assembly/src.xml</descriptor> |
| </descriptors> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |