<?xml version="1.0"?>
<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">
  <parent>
    <artifactId>common-parent</artifactId>
    <groupId>com.atlassian.bitbucketci</groupId>
    <version>3219.1719301523.dev</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.atlassian.pipelines</groupId>
  <artifactId>brave-instrumentation-jersey-server</artifactId>
  <name>Brave Instrumentation: Jersey Server 2.x</name>
  <packaging>jar</packaging>

  <properties>
    <!-- Matches Export-Package in bnd.bnd -->
    <module.name>brave.jersey.server</module.name>

    <main.basedir>${project.basedir}/../..</main.basedir>
    <!-- Jersey 2.7 -> 2.25 are Java 7. We don't currently compile against Jersey 2.26+
         https://jersey.github.io/documentation/latest/modules-and-dependencies.html#d0e560
         -->
    <guice.version>5.0.1</guice.version>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
    <minimum.java.version>11</minimum.java.version>
    <checkstyle.skip>true</checkstyle.skip>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.glassfish.jersey.core</groupId>
      <artifactId>jersey-server</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>io.zipkin.brave</groupId>
      <artifactId>brave-instrumentation-http</artifactId>
    </dependency>
    <dependency>
      <groupId>io.zipkin.brave</groupId>
      <artifactId>brave</artifactId>
    </dependency>

    <dependency>
      <groupId>io.zipkin.brave</groupId>
      <artifactId>brave-instrumentation-http-tests</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>io.zipkin.brave</groupId>
      <artifactId>brave-instrumentation-servlet</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-servlet</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jersey.containers</groupId>
      <artifactId>jersey-container-servlet</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- Avoid InjectionManagerFactory not found -->
    <dependency>
      <groupId>org.glassfish.jersey.inject</groupId>
      <artifactId>jersey-hk2</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- to test @Inject annotations -->
    <dependency>
      <groupId>com.google.inject</groupId>
      <artifactId>guice</artifactId>
      <version>${guice.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- allows mockito to mock types with implicit dependencies -->
    <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- when running in Java 9, we also need this -->
    <dependency>
      <groupId>javax.activation</groupId>
      <artifactId>activation</artifactId>
      <version>1.1.1</version>
    </dependency>

    <dependency>
      <groupId>io.reactivex.rxjava2</groupId>
      <artifactId>rxjava</artifactId>
    </dependency>
    <dependency>
      <groupId>com.atlassian.pipelines.rxjersey</groupId>
      <artifactId>rxjava2-server</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <scope>test</scope>
    </dependency>

  </dependencies>
</project>
