jjwt-root
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-root</artifactId> <version>0.13.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright (C) 2014-2023 jsonwebtoken.io ~ ~ 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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-root</artifactId> <version>0.13.0</version> <name>JJWT</name> <description>JSON Web Token support for the JVM and Android</description> <packaging>pom</packaging> <url>https://github.com/jwtk/jjwt</url> <organization> <name>jsonwebtoken.io</name> <url>https://github.com/jwtk/jjwt</url> </organization> <inceptionYear>2014</inceptionYear> <licenses> <license> <name>Apache-2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0</url> <distribution>repo</distribution> </license> </licenses> <developers> <developer> <name>Les Hazlewood</name> <email>121180+lhazlewood@users.noreply.github.com</email> <organization>JJWT</organization> <organizationUrl>https://github.com/jwtk/jjwt</organizationUrl> </developer> </developers> <scm> <connection>scm:git:https://github.com/jwtk/jjwt.git</connection> <developerConnection>scm:git:https://github.com/jwtk/jjwt.git</developerConnection> <url>https://github.com/jwtk/jjwt.git</url> <tag>0.13.0</tag> </scm> <issueManagement> <system>GitHub Issues</system> <url>https://github.com/jwtk/jjwt/issues</url> </issueManagement> <ciManagement> <system>TravisCI</system> <url>https://travis-ci.org/jwtk/jjwt</url> </ciManagement> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://central.sonatype.com/repository/maven-snapshots/</url> </snapshotRepository> <repository> <id>ossrh</id> <url>https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> <repositories> <repository> <id>ossrh</id> <name>OSSRH Snapshots</name> <url>https://central.sonatype.com/repository/maven-snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <arguments /> <jjwt.root>${basedir}</jjwt.root> <jjwt.previousVersion>0.11.2</jjwt.previousVersion> <maven.jar.version>3.3.0</maven.jar.version> <maven.compiler.version>3.11.0</maven.compiler.version> <maven.javadoc.version>3.1.1</maven.javadoc.version> <!-- max version allowed for JDK 7 builds --> <maven.source.version>3.2.1</maven.source.version> <maven.resources.version>3.1.0</maven.resources.version> <maven.gpg.version>1.6</maven.gpg.version> <!-- max version allowed for JDK 7 builds --> <maven.japicmp.version>0.13.1</maven.japicmp.version> <!-- max version allowed for JDK 7 builds --> <gmavenplus.version>1.6.1</gmavenplus.version> <!-- higher version used in jdk8AndLater profile below --> <maven.license.version>4.2.rc3</maven.license.version> <maven.license.skipExistingHeaders>true</maven.license.skipExistingHeaders> <jdk.version>7</jdk.version> <buildNumber>${user.name}-${maven.build.timestamp}</buildNumber> <jackson.version>2.12.7.1</jackson.version> <orgjson.version>20231013</orgjson.version> <gson.version>2.11.0</gson.version> <maven.javadoc.additionalOptions /> <!-- Optional Runtime Dependencies: --> <bouncycastle.version>1.78.1</bouncycastle.version> <bcprov.artifactId>bcprov-jdk18on</bcprov.artifactId> <bcpkix.artifactId>bcpkix-jdk18on</bcpkix.artifactId> <!-- Test Dependencies: Only required for testing when building. Not required by users at runtime: --> <groovy.version>2.5.16</groovy.version> <!-- higher version used in jdk8AndLater profile below --> <easymock.version>3.6</easymock.version> <!-- higher version used in jdk8AndLater profile below --> <junit.version>4.12</junit.version> <powermock.version>2.0.0-beta.5</powermock.version> <!-- higher version used in jdk8AndLater profile below --> <failsafe.plugin.version>3.0.0-M5</failsafe.plugin.version> <surefire.plugin.version>3.0.0-M5</surefire.plugin.version> <clover.version>4.3.1</clover.version> <!-- max version allowed for JDK 7 builds --> <clover.db>${jjwt.root}/target/clover/clover.db</clover.db> <surefire.argLine /> <test.addOpens> --add-opens java.base/java.lang=ALL-UNNAMED, <!-- Needed by EasyMock/cglib --> --add-opens java.desktop/java.beans=ALL-UNNAMED, <!-- Needed by EasyMock/cglib --> --add-opens java.base/java.lang.ref=ALL-UNNAMED, <!-- Needed by PowerMock --> <!-- needed by KeysImplTest.testKeyPairFor, KeysTest.testDeprecatedKeyPairFor, and KeysTest.testKeyPairBuilder: --> --add-opens java.base/sun.security.util=ALL-UNNAMED </test.addOpens> </properties> <modules> <module>api</module> <module>impl</module> <module>extensions</module> <module>tdjar</module> <module>bom</module> </modules> <dependencyManagement> <dependencies> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-impl</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-jackson</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-orgjson</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-gson</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>${orgjson.version}</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${gson.version}</version> </dependency> <!-- Used only during testing for PS256, PS384 and PS512 since JDK <= 10 doesn't support them: --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>${bcprov.artifactId}</artifactId> <version>${bouncycastle.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>${bcpkix.artifactId}</artifactId> <version>${bouncycastle.version}</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Test Dependencies: Only required for testing when building. Not required by users at runtime: --> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>${groovy.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>${easymock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-easymock</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-core</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> <scope>test</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> <dependencies> <dependency> <groupId>org.apache.maven.scm</groupId> <artifactId>maven-scm-provider-gitexe</artifactId> <version>1.9.5</version> </dependency> </dependencies> <configuration> <mavenExecutorId>forked-path</mavenExecutorId> <releaseProfiles>ossrh</releaseProfiles> <autoVersionSubmodules>true</autoVersionSubmodules> </configuration> </plugin> <plugin> <groupId>org.openclover</groupId> <artifactId>clover-maven-plugin</artifactId> <version>${clover.version}</version> <configuration> <cloverDatabase>${clover.db}</cloverDatabase> <!-- cloverDatabase>${user.home}/.clover/${project.groupId}/jjwt/clover.db</cloverDatabase> <snapshot>${user.home}/.clover/${project.groupId}/jjwt/clover.snapshot</snapshot> <historyDir>${user.home}/.clover/${project.groupId}/jjwt</historyDir> --> <excludes> <exclude>io/jsonwebtoken/lang/*</exclude> <exclude>io/jsonwebtoken/all/JavaReadmeTest.java</exclude> <!-- Imported from commons-codec 585497f09b026f6602daf986723a554e051bdfe6, don't need full coverage: --> <exclude>io/jsonwebtoken/impl/io/CodecPolicy.java</exclude> <exclude>io/jsonwebtoken/impl/io/BaseNCodec.java</exclude> <exclude>io/jsonwebtoken/impl/io/Base64Codec.java</exclude> <exclude>io/jsonwebtoken/impl/io/BaseNCodecOutputStream.java</exclude> <exclude>io/jsonwebtoken/impl/io/BaseNCodecInputStream.java</exclude> <exclude>io/jsonwebtoken/impl/io/Base64OutputStream.java</exclude> <exclude>io/jsonwebtoken/impl/io/Base64InputStream.java</exclude> <exclude>io/jsonwebtoken/impl/io/FilteredInputStream.java</exclude> <exclude>io/jsonwebtoken/impl/io/FilteredOutputStream.java</exclude> <exclude>io/jsonwebtoken/impl/io/CharSequenceReader.java</exclude> <exclude>io/jsonwebtoken/impl/lang/AddOpens.java</exclude> </excludes> <methodPercentage>100.000000%</methodPercentage> <statementPercentage>100.000000%</statementPercentage> <conditionalPercentage>100.000000%</conditionalPercentage> <targetPercentage>100.000000%</targetPercentage> </configuration> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>${maven.license.version}</version> <configuration> <skipExistingHeaders>${maven.license.skipExistingHeaders}</skipExistingHeaders> <mapping> <toml>SCRIPT_STYLE</toml> <!-- yaml --> <pem>SCRIPT_STYLE</pem> <!-- any will do --> </mapping> <licenseSets> <licenseSet> <header>${jjwt.root}/src/license/header.txt</header> <excludes> <exclude>**/license/header.txt</exclude> <exclude>**/*.test.orgjson</exclude> <exclude>**/*.test.gson</exclude> <exclude>**/*.test.override</exclude> <exclude>**/*.bnd</exclude> <exclude>LICENSE</exclude> <exclude>**/mvnw</exclude> <exclude>**/lombok.config</exclude> <exclude>.gitattributes</exclude> <exclude>**/genkeys</exclude> <exclude>**/softhsm</exclude> <exclude>**.adoc</exclude> </excludes> </licenseSet> </licenseSets> </configuration> <dependencies> <dependency> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin-git</artifactId> <version>${maven.license.version}</version> </dependency> </dependencies> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven.javadoc.version}</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> <configuration> <source>${jdk.version}</source> <failOnError>true</failOnError> <failOnWarnings>false</failOnWarnings> <additionalOptions>${maven.javadoc.additionalOptions}</additionalOptions> </configuration> <dependencies> <!-- Workaround for Java 9 --> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${maven.jar.version}</version> <configuration> <archive> <manifest> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven.source.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-resources-plugin</artifactId> <version>${maven.resources.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${maven.gpg.version}</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- japicmp will scan code for binary breaking changes, Open api/target/japicmp/japicmp.html for a report of the changes since ${jjwt.previousVersion} --> <groupId>com.github.siom79.japicmp</groupId> <artifactId>japicmp-maven-plugin</artifactId> <version>${maven.japicmp.version}</version> <configuration> <oldVersion> <dependency> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <version>${jjwt.previousVersion}</version> <type>jar</type> </dependency> </oldVersion> <parameter> <onlyModified>true</onlyModified> <!-- <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications> --> <!-- TODO: enable after 1.0 --> <breakBuildBasedOnSemanticVersioning>true</breakBuildBasedOnSemanticVersioning> <!-- All of the following can be removed after 0.11.1 is released: --> <!-- <excludes> <exclude>io.jsonwebtoken.Header#getAlgorithm()</exclude> <exclude>io.jsonwebtoken.Header#setAlgorithm(java.lang.String)</exclude> <exclude>io.jsonwebtoken.JwsHeader#getAlgorithm()</exclude> <exclude>io.jsonwebtoken.JwsHeader#setAlgorithm(java.lang.String)</exclude> <exclude>io.jsonwebtoken.lang.Assert#notNull(java.lang.Object,java.lang.String)</exclude> </excludes> --> </parameter> </configuration> <executions> <execution> <id>japicmp</id> <goals> <goal>cmp</goal> </goals> </execution> </executions> </plugin> <!-- The following plugin section is used in jjwt-jackson and jjwt-orgjson, to repackage (and verify) binary compatibility with previous versions. In v0.11.0 the implementations changed packages to avoid split package issues with Java 9+ see: https://github.com/jwtk/jjwt/issues/399 --> <!-- TODO: remove these deprecated packages and this config before v1.0 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.1</version> <configuration> <shadedClassifierName>deprecated</shadedClassifierName> <shadedArtifactAttached>true</shadedArtifactAttached> <createDependencyReducedPom>false</createDependencyReducedPom> <artifactSet> <includes> <include>${project.groupId}:${project.artifactId}</include> </includes> </artifactSet> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> </transformers> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>1.4.1</version> <executions> <execution> <id>enforce-banned-dependencies</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <bannedDependencies> <searchTransitive>true</searchTransitive> <excludes> <exclude>commons-logging</exclude> </excludes> </bannedDependencies> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> <!-- <plugin>--> <!-- <groupId>org.apache.maven.plugins</groupId>--> <!-- <artifactId>maven-compiler-plugin</artifactId>--> <!-- <version>${maven.compiler.version}</version>--> <!-- <executions>--> <!-- <execution>--> <!-- <id>default-compile</id>--> <!-- <configuration>--> <!-- <release>9</release>--> <!-- <!– no excludes: compile everything to ensure module-info contains right entries –>--> <!-- </configuration>--> <!-- </execution>--> <!-- <execution>--> <!-- <id>base-compile</id>--> <!-- <goals>--> <!-- <goal>compile</goal>--> <!-- </goals>--> <!-- <configuration>--> <!-- <!– recompile everything for target VM except the module-info.java –>--> <!-- <excludes>--> <!-- <exclude>module-info.java</exclude>--> <!-- </excludes>--> <!-- </configuration>--> <!-- </execution>--> <!-- </executions>--> <!-- <!– defaults for compile and testCompile –>--> <!-- <configuration>--> <!-- <release>${jdk.version}</release>--> <!--<!– <!– Only required when Maven runtime JAVA_HOME isn't at least Java 9 and when haven't configured the maven-toolchains-plugin –>–>--> <!--<!– <jdkToolchain>–>--> <!--<!– <version>9</version>–>--> <!--<!– </jdkToolchain>–>--> <!-- </configuration>--> <!-- </plugin>--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.compiler.version}</version> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <!-- Allow for writing tests in Groovy: --> <plugin> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-plugin</artifactId> <version>${gmavenplus.version}</version> <executions> <execution> <goals> <goal>addSources</goal> <goal>addTestSources</goal> <goal>generateStubs</goal> <goal>compile</goal> <goal>generateTestStubs</goal> <goal>compileTests</goal> <goal>removeStubs</goal> <goal>removeTestStubs</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>${groovy.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire.plugin.version}</version> <configuration> <argLine>${surefire.argLine}</argLine> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${failsafe.plugin.version}</version> <configuration> <includes> <include>**/*IT.java</include> <include>**/*IT.groovy</include> <include>**/*ITCase.java</include> <include>**/*ITCase.groovy</include> </includes> <excludes> <exclude>**/*ManualIT.java</exclude> <exclude>**/*ManualIT.groovy</exclude> </excludes> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.openclover</groupId> <artifactId>clover-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.8</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://ossrh-staging-api.central.sonatype.com/</nexusUrl> <autoReleaseAfterClose>false</autoReleaseAfterClose> </configuration> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>3.5.0</version> <executions> <execution> <id>bundle-manifest</id> <phase>process-classes</phase> <goals> <goal>manifest</goal> </goals> </execution> </executions> <configuration> <instructions> <_include>-bnd.bnd</_include> </instructions> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </plugin> <plugin> <groupId>io.jsonwebtoken.coveralls</groupId> <artifactId>coveralls-maven-plugin</artifactId> <version>4.4.1</version> </plugin> </plugins> </build> <profiles> <profile> <id>jdk7</id> <activation> <jdk>1.7</jdk> </activation> <properties> <maven.jar.version>3.2.2</maven.jar.version> <maven.compiler.version>3.8.1</maven.compiler.version> <orgjson.version>20230618</orgjson.version> <bcprov.artifactId>bcprov-jdk15to18</bcprov.artifactId> <bcpkix.artifactId>bcpkix-jdk15to18</bcpkix.artifactId> </properties> </profile> <profile> <id>jdk8AndLater</id> <activation> <jdk>[1.8,)</jdk> </activation> <properties> <gmavenplus.version>3.0.2</gmavenplus.version> <groovy.version>3.0.19</groovy.version> <easymock.version>4.2</easymock.version> <powermock.version>2.0.7</powermock.version> <maven.japicmp.version>0.15.6</maven.japicmp.version> <failsafe.plugin.version>3.1.2</failsafe.plugin.version> <surefire.plugin.version>3.1.2</surefire.plugin.version> </properties> </profile> <!-- <profile>--> <!-- <id>jdk7And8</id>--> <!-- <activation>--> <!-- <jdk>[1.7,9)</jdk>--> <!-- </activation>--> <!-- <build>--> <!-- <plugins>--> <!-- <plugin>--> <!-- <groupId>org.apache.maven.plugins</groupId>--> <!-- <artifactId>maven-compiler-plugin</artifactId>--> <!-- <version>${maven.compiler.version}</version>--> <!-- <configuration>--> <!-- <source>${jdk.version}</source>--> <!-- <target>${jdk.version}</target>--> <!-- <release />--> <!-- <encoding>${project.build.sourceEncoding}</encoding>--> <!-- <excludes>--> <!-- <exclude>module-info.java</exclude>--> <!-- </excludes>--> <!-- </configuration>--> <!-- </plugin>--> <!-- </plugins>--> <!-- </build>--> <!-- </profile>--> <profile> <!-- Added profile to address https://github.com/jwtk/jjwt/issues/364 --> <id>jdk9AndLater</id> <activation> <jdk>[1.9,)</jdk> </activation> <properties> <maven.compiler.version>3.11.0</maven.compiler.version> <surefire.useModulePath>false</surefire.useModulePath> <maven.javadoc.additionalOptions>-html5</maven.javadoc.additionalOptions> <surefire.argLine>${test.addOpens}, --illegal-access=debug</surefire.argLine> </properties> </profile> <profile> <id>jdk17AndLater</id> <activation> <jdk>[17,)</jdk> </activation> <properties> <maven.javadoc.additionalOptions>-html5</maven.javadoc.additionalOptions> <surefire.argLine>${test.addOpens}</surefire.argLine> </properties> </profile> <profile> <id>jdk21AndLater</id> <activation> <jdk>[21,)</jdk> </activation> <properties> <!-- normally this is 1.7, but as of 21, JDK 8 is the lowest source/target --> <jdk.version>8</jdk.version> </properties> </profile> <profile> <id>docs</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <id>ossrh</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> </plugin> </plugins> </build> </profile> </profiles> </project>