<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>se.swedenconnect.iam</groupId>
    <artifactId>iam-parent</artifactId>
    <version>0.9.1</version>
  </parent>

  <groupId>se.swedenconnect.iam.keycloak</groupId>
  <artifactId>keycloak-plugins</artifactId>
  <packaging>pom</packaging>

  <name>Sweden Connect :: IAM :: Keycloak :: Parent POM</name>
  <description>Keycloak plugins for organization rights, scope-org-identifier, and resource audience mappers.</description>
  <url>https://www.swedenconnect.se</url>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <properties>
    <keycloak.version>26.5.7</keycloak.version>
  </properties>

  <modules>
    <module>org-rights-mapper</module>
    <module>scope-org-identifier-mapper</module>
    <module>resource-aud-plugin</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.keycloak.bom</groupId>
        <artifactId>keycloak-spi-bom</artifactId>
        <version>${keycloak.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-server-spi-private</artifactId>
        <version>${keycloak.version}</version>
      </dependency>

      <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-services</artifactId>
        <version>${keycloak.version}</version>
      </dependency>

      <!--
        Jackson is declared provided: the mapper JARs must not bundle it because
        Keycloak already ships Jackson on its own classpath. The version is pinned to
        the Jackson 2.17.x line that Keycloak 26.x bundles at runtime. Using a higher
        minor version (2.18+) would risk referencing APIs that are absent in the
        container. Update this version in step with Keycloak upgrades.
      -->
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.17.3</version>
      </dependency>

      <!-- Test dependencies -->
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>6.1.0</version>
      </dependency>

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>5.23.0</version>
      </dependency>

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>5.23.0</version>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <build>
  </build>
</project>
