<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>

  <parent>
    <groupId>org.pac4j.jax-rs</groupId>
    <artifactId>parent</artifactId>
    <version>5.0.0</version>
  </parent>
  <groupId>org.pac4j</groupId>
  <artifactId>jersey2-pac4j</artifactId>

  <properties>
    <jersey.version>2.35</jersey.version>

    <xml.bind-api.version>2.3.3</xml.bind-api.version>
    <activation-api.version>2.1.0</activation-api.version>

    <!-- same version as in org.glassfish.jersey:project -->
    <grizzly-http-server.version>2.4.4</grizzly-http-server.version>
    <!-- Conflicts with jersey-hk2 -->
    <javassist.version>3.28.0-GA</javassist.version>
  </properties>

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

      <!-- pinning conflicting dependencies -->
      <dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>${xml.bind-api.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.activation</groupId>
        <artifactId>jakarta.activation-api</artifactId>
        <version>${activation-api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>${javassist.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>${project.parent.groupId}</groupId>
      <artifactId>core</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jersey.core</groupId>
      <artifactId>jersey-server</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jersey.inject</groupId>
      <artifactId>jersey-hk2</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- optional dependencies -->
    <dependency>
      <groupId>org.glassfish.grizzly</groupId>
      <artifactId>grizzly-http-server</artifactId>
      <version>${grizzly-http-server.version}</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>

    <!-- test dependencies -->
    <dependency>
      <groupId>${project.parent.groupId}</groupId>
      <artifactId>testing</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jersey.test-framework.providers</groupId>
      <artifactId>jersey-test-framework-provider-inmemory</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jersey.test-framework.providers</groupId>
      <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>