<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>com.elastisys.scale</groupId>
    <artifactId>commons.root</artifactId>
    <version>2.3.4</version>
  </parent>
  <artifactId>commons.rest</artifactId>
  <name>elastisys:scale :: commons :: rest</name>
  <description>utility classes for working with REST clients/servers</description>
  <packaging>jar</packaging>

  <dependencies>
    <!-- JSON support. -->
    <dependency>
      <groupId>com.elastisys.scale</groupId>
      <artifactId>commons.json</artifactId>
      <version>${project.version}</version>
    </dependency>
    <!-- Client SSL support. -->
    <dependency>
      <groupId>com.elastisys.scale</groupId>
      <artifactId>commons.net</artifactId>
      <version>${project.version}</version>
    </dependency>
    <!-- JWT Auth token functionality -->
    <dependency>
      <groupId>com.elastisys.scale</groupId>
      <artifactId>commons.security</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>com.elastisys.scale</groupId>
      <artifactId>commons.util</artifactId>
      <version>${project.version}</version>
    </dependency>
    
    <!-- JAX-RS API -->
    <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>javax.ws.rs-api</artifactId>
    </dependency>
    <!-- Jersey REST client -->
    <dependency>
      <groupId>org.glassfish.jersey.core</groupId>
      <artifactId>jersey-client</artifactId>
    </dependency>
    <!-- After Java 9, JAXB and javax.activation are no longer in the standard java.se
      module. They are needed by jersey-client. -->
    <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>
    </dependency>
    <dependency>
      <groupId>com.sun.xml.bind</groupId>
      <artifactId>jaxb-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jaxb</groupId>
      <artifactId>jaxb-runtime</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.activation</groupId>
      <artifactId>activation</artifactId>
    </dependency>

    <!-- Servlet API -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
    </dependency>

    <!-- Logging -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>

    <!-- Test dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- Needed for testing of JWT auth token filter. -->
    <dependency>
      <groupId>com.elastisys.scale</groupId>
      <artifactId>commons.server</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jersey.containers</groupId>
      <artifactId>jersey-container-servlet-core</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
