<?xml version="1.0" encoding="UTF-8"?> <!-- SPDX-FileCopyrightText: © 2021 Matthias Andreas Benkard <code@mail.matthias.benkard.de> SPDX-License-Identifier: LGPL-3.0-or-later --> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <version>0.1.8</version> <groupId>eu.mulk.jgvariant</groupId> <artifactId>jgvariant-parent</artifactId> <packaging>pom</packaging> <name>JGVariant Parent</name> <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url> <description> Parent POM of the JGVariant library. </description> <licenses> <license> <name>GNU Lesser General Public License v3.0 or later</name> <url>https://www.gnu.org/licenses/lgpl-3.0.html</url> </license> </licenses> <developers> <developer> <name>Matthias Benkard</name> <email>code@mulk.eu</email> <organization>Matthias Benkard</organization> <organizationUrl>https://matthias.benkard.de</organizationUrl> </developer> </developers> <scm> <connection>scm:git:https://gerrit.benkard.de/jgvariant</connection> <developerConnection>scm:git:ssh://gerrit.benkard.de:29418/jgvariant</developerConnection> <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url> </scm> <properties> <maven.compiler.parameters>true</maven.compiler.parameters> <maven.compiler.release>17</maven.compiler.release> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <compiler-plugin.version>3.11.0</compiler-plugin.version> <exec-plugin.version>3.1.1</exec-plugin.version> <failsafe-plugin.version>${surefire-plugin.version}</failsafe-plugin.version> <flatten-plugin.version>1.5.0</flatten-plugin.version> <jar-plugin.version>3.3.0</jar-plugin.version> <jpackage-plugin.version>0.1.5</jpackage-plugin.version> <maven-scm-plugin.version>2.0.1</maven-scm-plugin.version> <maven-gpg-plugin.version>3.1.0</maven-gpg-plugin.version> <maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version> <maven-source-plugin.version>3.3.0</maven-source-plugin.version> <native-plugin.version>0.9.28</native-plugin.version> <nexus-staging-plugin.version>1.6.13</nexus-staging-plugin.version> <spotless-plugin.version>2.41.1</spotless-plugin.version> <surefire-plugin.version>3.2.2</surefire-plugin.version> <versions-plugin.version>2.16.2</versions-plugin.version> <apiguardian.version>1.1.2</apiguardian.version> <errorprone.version>2.23.0</errorprone.version> <guava.version>32.1.3-jre</guava.version> <inject-resources.version>0.3.3</inject-resources.version> <jetbrains-annotations.version>24.1.0</jetbrains-annotations.version> <jqwik.version>1.8.2</jqwik.version> <junit-jupiter.version>5.10.1</junit-jupiter.version> <nullaway.version>0.10.18</nullaway.version> <picocli.version>4.7.5</picocli.version> <yasson.version>3.0.3</yasson.version> <xz.version>1.9</xz.version> </properties> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <dependencyManagement> <dependencies> <!-- Annotations --> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>${errorprone.version}</version> </dependency> <dependency> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <version>${jetbrains-annotations.version}</version> </dependency> <dependency> <groupId>org.apiguardian</groupId> <artifactId>apiguardian-api</artifactId> <version>${apiguardian.version}</version> </dependency> <!-- OSTree compression support --> <dependency> <groupId>org.tukaani</groupId> <artifactId>xz</artifactId> <version>${xz.version}</version> </dependency> <!-- Command line tooling --> <dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> <version>${picocli.version}</version> </dependency> <!-- JSON --> <dependency> <groupId>org.eclipse</groupId> <artifactId>yasson</artifactId> <version>${yasson.version}</version> </dependency> <!-- Guava --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <!-- Testing --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit-jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit-jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.hosuaby</groupId> <artifactId>inject-resources-junit-jupiter</artifactId> <version>${inject-resources.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>net.jqwik</groupId> <artifactId>jqwik</artifactId> <version>${jqwik.version}</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire-plugin.version}</version> <configuration> <argLine> --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED </argLine> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>${failsafe-plugin.version}</version> <configuration> <argLine> --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED </argLine> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>${compiler-plugin.version}</version> <configuration> <fork>true</fork> <parameters>true</parameters> <showWarnings>true</showWarnings> <compilerArgs> <arg>-XDcompilePolicy=simple</arg> <arg>-Xplugin:ErrorProne -Xep:InvalidParam:OFF -XepOpt:NullAway:AnnotatedPackages=eu.mulk</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=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> <annotationProcessorPaths> <path> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${errorprone.version}</version> </path> <path> <groupId>com.uber.nullaway</groupId> <artifactId>nullaway</artifactId> <version>${nullaway.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>${jar-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>${versions-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>${maven-scm-plugin.version}</version> <configuration> <tag>v${project.version}</tag> <connectionType>developerConnection</connectionType> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <version>${flatten-plugin.version}</version> <executions> <execution> <id>flatten</id> <phase>process-resources</phase> <goals> <goal>flatten</goal> </goals> </execution> <execution> <id>flatten.clean</id> <phase>clean</phase> <goals> <goal>clean</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>${exec-plugin.version}</version> </plugin> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <version>${native-plugin.version}</version> </plugin> <plugin> <groupId>com.github.akman</groupId> <artifactId>jpackage-maven-plugin</artifactId> <version>${jpackage-plugin.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> <version>${spotless-plugin.version}</version> <configuration> <java> <removeUnusedImports/> <importOrder> <order>java,javax,org,com,de,io,dagger,eu.mulk,</order> </importOrder> <googleJavaFormat> <style>GOOGLE</style> </googleJavaFormat> </java> </configuration> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>${nexus-staging-plugin.version}</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <configuration> <flattenMode>oss</flattenMode> <flattenDependencyMode>all</flattenDependencyMode> <pomElements> <distributionManagement>flatten</distributionManagement> </pomElements> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${maven-gpg-plugin.version}</version> <configuration> <keyname>44DD0CEE515E547A0ABAB1D24F2E30DF0A270EFB</keyname> </configuration> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>