<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>{{ group_id }}</groupId>
<artifactId>{{ name }}</artifactId>
<version>{{ version }}</version>
<packaging>jar</packaging>
<name>{{ name }}</name>
<description>{{ description }}</description>
<url>{{ repository }}</url>
<licenses>
<license>
<name>{{ license }}</name>{{ license_url | safe }}
</license>
</licenses>
{{ developers | safe }}
<scm>
<connection>{{ scm_connection }}</connection>
<developerConnection>{{ scm_developer_connection }}</developerConnection>
<url>{{ repository }}</url>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>{{ java_release }}</maven.compiler.release>
<junit.version>{{ junit_version }}</junit.version>
<maven.version>{{ maven_core_version }}</maven.version>
<maven-compiler-plugin.version>{{ maven_compiler_plugin_version }}</maven-compiler-plugin.version>
<maven-surefire-plugin.version>{{ maven_surefire_plugin_version }}</maven-surefire-plugin.version>
<maven-checkstyle-plugin.version>{{ maven_checkstyle_plugin_version }}</maven-checkstyle-plugin.version>
<maven-source-plugin.version>{{ maven_source_plugin_version }}</maven-source-plugin.version>
<maven-javadoc-plugin.version>{{ maven_javadoc_plugin_version }}</maven-javadoc-plugin.version>
<maven-gpg-plugin.version>{{ maven_gpg_plugin_version }}</maven-gpg-plugin.version>
<maven-clean-plugin.version>{{ maven_clean_plugin_version }}</maven-clean-plugin.version>
<maven-resources-plugin.version>{{ maven_resources_plugin_version }}</maven-resources-plugin.version>
<maven-jar-plugin.version>{{ maven_jar_plugin_version }}</maven-jar-plugin.version>
<maven-install-plugin.version>{{ maven_install_plugin_version }}</maven-install-plugin.version>
<maven-deploy-plugin.version>{{ maven_deploy_plugin_version }}</maven-deploy-plugin.version>
<maven-site-plugin.version>{{ maven_site_plugin_version }}</maven-site-plugin.version>
<central-publishing-plugin.version>{{ central_publishing_plugin_version }}</central-publishing-plugin.version>
<versions-maven-plugin.version>{{ versions_maven_plugin_version }}</versions-maven-plugin.version>
<maven-enforcer-plugin.version>{{ maven_enforcer_plugin_version }}</maven-enforcer-plugin.version>
<jacoco-maven-plugin.version>{{ jacoco_maven_plugin_version }}</jacoco-maven-plugin.version>
<checkstyle.version>{{ checkstyle_version }}</checkstyle.version>
<gpg.skip>true</gpg.skip>
</properties>
<dependencies>
<dependency>
<groupId>org.jspecify</groupId>
<artifactId>jspecify</artifactId>
<version>{{ jspecify_version }}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>{{ jackson_version }}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jdk8</artifactId>
<version>{{ jackson_version }}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>{{ assertj_version }}</version>
<scope>test</scope>
</dependency>{{ capsule_deps | safe }}
</dependencies>
<build>
<sourceDirectory>${project.basedir}</sourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>${maven-install-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven-site-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<release>{{ java_release }}</release>
<compilerArgs>
<arg>--enable-preview</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<argLine>@{argLine} -XX:-ClassUnloading -XX:-ClassUnloadingWithConcurrentMark --enable-native-access=ALL-UNNAMED --enable-preview -Djava.library.path=${project.basedir}/../../target/release</argLine>
<forkedProcessExitTimeoutInSeconds>600</forkedProcessExitTimeoutInSeconds>
<parallel>classes</parallel>
<threadCount>4</threadCount>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<classifier>${classifier}</classifier>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<configuration>
<includes>
<include>{{ source_root }}/**/*.java</include>
<include>src/main/java/**/*.java</include>
</includes>
</configuration>
<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>
<configuration>
<doclint>all,-missing</doclint>
<failOnWarning>true</failOnWarning>
<show>protected</show>
<additionalOptions>--enable-preview</additionalOptions>
<sourcepath>${project.basedir}</sourcepath>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin.version}</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>${maven.version}</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
<configuration>
<configLocation>${project.basedir}/checkstyle.xml</configLocation>
<propertiesLocation>${project.basedir}/checkstyle.properties</propertiesLocation>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<violationSeverity>warning</violationSeverity>
<propertyExpansion>config_loc=${project.basedir}</propertyExpansion>
</configuration>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin.version}</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
<rulesUri>file://${project.basedir}/versions-rules.xml</rulesUri>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<configuration>
<excludes>
<exclude>java/**/*</exclude>
<exclude>sun/**/*</exclude>
<exclude>jdk/**/*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>publish</id>
<properties>
<gpg.skip>false</gpg.skip>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<passphraseEnvName>MAVEN_GPG_PASSPHRASE</passphraseEnvName>
<gpgArguments>
<arg>--batch</arg>
<arg>--yes</arg>
<arg>--pinentry-mode=loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>ossrh</publishingServerId>
<autoPublish>true</autoPublish>
<waitUntil>validated</waitUntil>
<waitMaxTime>7200</waitMaxTime>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>