<?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>dev.fitko.fitconnect.sdk</groupId> <artifactId>sdk-java</artifactId> <version>2.3.4</version> <packaging>pom</packaging> <name>FIT-Connect Java SDK</name> <description>Library for sending and subscribing to submissions of the FIT-Connect REST-API</description> <url>https://git.fitko.de/fit-connect/sdk-java</url> <licenses> <license> <name>EUPL-1.2</name> <url>https://joinup.ec.europa.eu/page/eupl-text-11-12</url> <distribution>repo</distribution> </license> <license> <name>Apache-2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0</url> <distribution>repo</distribution> </license> <license> <name>CC0-1.0</name> <url>https://creativecommons.org/publicdomain/zero/1.0/deed.en</url> <distribution>repo</distribution> </license> </licenses> <developers> <developer> <name>FIT-Connect Contributors</name> <email>fit-connect@fitko.de</email> <organization>FITKO</organization> <organizationUrl>https://www.fitko.de</organizationUrl> </developer> </developers> <modules> <module>client</module> </modules> <scm> <connection>scm:git:https://git.fitko.de/fit-connect/sdk-java</connection> <developerConnection>scm:git:https://git.fitko.de/fit-connect/sdk-java</developerConnection> <tag>HEAD</tag> <url>https://git.fitko.de/fit-connect/sdk-java</url> </scm> <distributionManagement> <repository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <properties> <java.version>11</java.version> <maven.compiler.release>11</maven.compiler.release> <encoding>UTF-8</encoding> <project.build.sourceEncoding>${encoding}</project.build.sourceEncoding> <project.reporting.outputEncoding>${encoding}</project.reporting.outputEncoding> <!-- FIT-Connect dependencies --> <jwk-validator.version>2.1.1</jwk-validator.version> <!-- 3rd party dependencies --> <slf4j.version>2.0.16</slf4j.version> <!-- Stay on 9.37.3 until this issues is fixed https://bitbucket.org/connect2id/nimbus-jose-jwt/issues/545 --> <nimbus.version>9.37.3</nimbus.version> <logback.version>1.5.12</logback.version> <lombok.version>1.18.34</lombok.version> <snakeyaml.version>2.3</snakeyaml.version> <okhttp.version>5.0.0-alpha.14</okhttp.version> <jackson-databind.version>2.18.1</jackson-databind.version> <jackson-annotations.version>2.18.1</jackson-annotations.version> <json-schema-validator.version>1.5.3</json-schema-validator.version> <!-- Testing --> <junit.version>5.11.3</junit.version> <junit-platform-version>1.11.3</junit-platform-version> <mockito.version>5.14.2</mockito.version> <wiremock.version>3.9.2</wiremock.version> <hamcrest.version>1.3</hamcrest.version> <!-- Plugins --> <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version> <maven-surefire-plugin.version>3.5.2</maven-surefire-plugin.version> <maven-failsafe-plugin.version>3.5.2</maven-failsafe-plugin.version> <maven-jar-plugin.version>3.4.2</maven-jar-plugin.version> <maven-install-plugin.version>3.1.3</maven-install-plugin.version> <maven-deploy-plugin.version>3.1.3</maven-deploy-plugin.version> <maven-checkstyle-plugin.version>3.6.0</maven-checkstyle-plugin.version> <maven-assembly-plugin.version>3.7.1</maven-assembly-plugin.version> <maven-javadoc-plugin.version>3.11.1</maven-javadoc-plugin.version> <maven-source-plugin.version>3.3.1</maven-source-plugin.version> <maven-gpg-plugin.version>3.2.7</maven-gpg-plugin.version> <maven-nexus-staging-plugin.version>1.7.0</maven-nexus-staging-plugin.version> <maven-git-commit-id-plugin.version>9.0.1</maven-git-commit-id-plugin.version> <maven-jacoco-plugin.version>0.8.12</maven-jacoco-plugin.version> <maven-sort-pom-plugin.version>4.0.0</maven-sort-pom-plugin.version> <!-- Used for BuildInfo/Commit-ID for local builds --> <local-version-suffix>-local</local-version-suffix> </properties> <dependencyManagement> <dependencies> <!-- Module Dependencies --> <dependency> <groupId>dev.fitko.fitconnect.sdk</groupId> <artifactId>client</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>dev.fitko.fitconnect.sdk</groupId> <artifactId>examples</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>dev.fitko.fitconnect.sdk</groupId> <artifactId>integration-tests</artifactId> <version>${project.version}</version> </dependency> <!-- FIT-Connect dependencies --> <dependency> <groupId>dev.fitko.fitconnect</groupId> <artifactId>jwkvalidator</artifactId> <version>${jwk-validator.version}</version> </dependency> <!-- 3rd Party Dependencies --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson-annotations.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson-databind.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>${jackson-databind.version}</version> </dependency> <dependency> <groupId>com.networknt</groupId> <artifactId>json-schema-validator</artifactId> <version>${json-schema-validator.version}</version> </dependency> <dependency> <groupId>com.nimbusds</groupId> <artifactId>nimbus-jose-jwt</artifactId> <version>${nimbus.version}</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>${okhttp.version}</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-engine</artifactId> <version>${junit-platform-version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>${snakeyaml.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <!-- Testing --> <dependency> <groupId>org.wiremock</groupId> <artifactId>wiremock</artifactId> <version>${wiremock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>mockwebserver</artifactId> <version>${okhttp.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <version>${hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement> <build> <pluginManagement> <plugins> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <version>${maven-sort-pom-plugin.version}</version> <configuration> <nrOfIndentSpace>4</nrOfIndentSpace> <createBackupFile>false</createBackupFile> <expandEmptyElements>false</expandEmptyElements> <sortDependencies>scope,groupId,artifactId</sortDependencies> <sortDependencyManagement>scope,groupId,artifactId</sortDependencyManagement> <sortPlugins>groupId,artifactId</sortPlugins> <verifyFail>warn</verifyFail> <verifyFailOn>strict</verifyFailOn> </configuration> <executions> <execution> <id>verify-pom.xml-is-sorted</id> <goals> <!-- Run ./mvnw sortpom:sort to sort the pom.xml --> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> <version>${maven-git-commit-id-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${maven-assembly-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${maven-checkstyle-plugin.version}</version> <configuration> <configLocation>checkstyle.xml</configLocation> </configuration> <executions> <execution> <id>verify</id> <goals> <goal>check</goal> </goals> <phase>verify</phase> <configuration> <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-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-failsafe-plugin</artifactId> <version>${maven-failsafe-plugin.version}</version> </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> <goals> <goal>sign</goal> </goals> <phase>verify</phase> <configuration> <useAgent>true</useAgent> <passphrase>$GPG_ENCRYPTION_KEY</passphrase> <gpgArguments> <arg>--batch</arg> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </execution> </executions> </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-jar-plugin</artifactId> <version>${maven-jar-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <configuration> <failOnError>false</failOnError> <additionalOptions>-Xdoclint:all -Xdoclint:-missing</additionalOptions> <additionalJOptions> <additionalJOption>-Xdoclint:all</additionalJOption> <additionalJOption>-Xdoclint:-missing</additionalJOption> </additionalJOptions> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <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-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <argLine>--illegal-access=permit</argLine> <testFailureIgnore>false</testFailureIgnore> <forkCount>2</forkCount> <reuseForks>true</reuseForks> <argLine>${surefireArgLine}</argLine> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${maven-jacoco-plugin.version}</version> <executions> <execution> <id>default-prepare-agent</id> <goals> <goal>prepare-agent</goal> <goal>report</goal> </goals> <configuration> <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile> <propertyName>surefireArgLine</propertyName> </configuration> </execution> <execution> <id>default-check</id> <goals> <goal>check</goal> </goals> <configuration> <rules> <rule> <element>BUNDLE</element> <limits> <limit> <counter>COMPLEXITY</counter> <value>COVEREDRATIO</value> <minimum>0.80</minimum> </limit> </limits> </rule> </rules> </configuration> </execution> <execution> <id>default-report</id> <goals> <goal>report</goal> </goals> <phase>test</phase> <configuration> <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile> <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- maven snapshot deployment --> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>${maven-nexus-staging-plugin.version}</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> <executions> <execution> <id>default-deploy</id> <goals> <goal>deploy</goal> </goals> <phase>deploy</phase> </execution> </executions> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> </plugin> </plugins> </build> <profiles> <profile> <id>integration-tests</id> <activation> <activeByDefault>true</activeByDefault> </activation> <modules> <module>integration-tests</module> </modules> </profile> <profile> <id>examples</id> <activation> <activeByDefault>true</activeByDefault> </activation> <modules> <module>examples</module> </modules> </profile> <profile> <id>gpg-sign</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> </plugin> </plugins> </build> </profile> </profiles> </project>