token-sheriff-validation
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>de.cuioss.sheriff.token</groupId>
<artifactId>token-sheriff-validation</artifactId>
<version>0.9.4</version>
</dependency><?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>de.cuioss.sheriff.token</groupId>
<artifactId>token-sheriff-parent</artifactId>
<version>0.9.4</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>token-sheriff-validation</artifactId>
<packaging>jar</packaging>
<name>Token-Sheriff Core</name>
<description>Core library for OAuth/JWT token validation in multi-issuer environments</description>
<properties>
<maven.jar.plugin.automatic.module.name>de.cuioss.sheriff.token.validation</maven.jar.plugin.automatic.module.name>
<version.lombok>1.18.46</version.lombok>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>de.cuioss.sheriff.token</groupId>
<artifactId>token-sheriff-bom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>de.cuioss</groupId>
<artifactId>cui-java-tools</artifactId>
</dependency>
<dependency>
<groupId>de.cuioss</groupId>
<artifactId>cui-http</artifactId>
</dependency>
<!-- Unit testing -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<!-- JJWT dependencies. Reduced to testing -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<scope>test</scope>
</dependency>
<!-- Test -->
<dependency>
<groupId>de.cuioss.test</groupId>
<artifactId>cui-test-mockwebserver-junit5</artifactId>
<scope>test</scope>
</dependency>
<!-- Implementation of jakarta.json-api-->
<!-- The concrete is up to the integration-->
<dependency>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson</artifactId>
<scope>test</scope>
</dependency>
<!-- Jakarta JSON API for type-safe JSON handling -->
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
</dependency>
<!-- DSL-JSON for secure JSON parsing with configurable limits -->
<!-- Note: Version 2.0+ includes annotation processor in main artifact -->
<dependency>
<groupId>com.dslplatform</groupId>
<artifactId>dsl-json</artifactId>
<version>2.0.2</version>
</dependency>
<!-- JSpecify for nullability annotations -->
<dependency>
<groupId>org.jspecify</groupId>
<artifactId>jspecify</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.cuioss.test</groupId>
<artifactId>cui-test-value-objects</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.cuioss.test</groupId>
<artifactId>cui-test-generator</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.cuioss.test</groupId>
<artifactId>cui-test-juli-logger</artifactId>
<scope>test</scope>
</dependency>
<!-- Simple implementation that is actually a bridge to juli logging. Used for test-containers slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<scope>test</scope>
</dependency>
<!-- Bridge jakarta-commons logging to slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<scope>test</scope>
</dependency>
<!-- ArchUnit: enforce the commons/validation layering boundary (Plan 03) -->
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5</artifactId>
<version>1.4.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Create test-jar artifact with test utilities -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>test-jar</id>
<phase>package</phase>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<classifier>generators</classifier>
<includes>
<include>de/cuioss/sheriff/token/validation/test/**</include>
</includes>
<excludes>
<exclude>de/cuioss/sheriff/token/validation/test/**/*Test.class</exclude>
</excludes>
<skip>false</skip>
</configuration>
</execution>
</executions>
</plugin>
<!-- Ensure test-jar with generators classifier is deployed -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/${project.build.finalName}-generators.jar</file>
<type>jar</type>
<classifier>generators</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<!-- Force test compilation even when tests are skipped -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- Enable DSL-JSON annotation processing alongside Lombok -->
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${version.lombok}</version>
</path>
<path>
<groupId>com.dslplatform</groupId>
<artifactId>dsl-json</artifactId>
<version>2.0.2</version>
</path>
</annotationProcessorPaths>
<release>21</release>
</configuration>
<executions>
<execution>
<id>compile-test-sources</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<skip>false</skip>
</configuration>
</execution>
</executions>
</plugin>
<!-- Exclude the DSL-JSON annotation processor's generated converters from coverage measurement.
The processor emits _<Type>_DslJsonConverter classes straight into target/classes with no
counterpart under src/main/java, so their branches measure the DSL-JSON code generator rather
than project code. The pattern is anchored to the processor's fixed _<Type>_DslJsonConverter
naming so it cannot silently swallow hand-written classes. The configuration sits at plugin
level so it applies to both the report and check goals inherited from the cuioss parent. -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/_*_DslJsonConverter*.class</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>