<?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/xsd/maven-4.0.0.xsd">
  <parent>
    <artifactId>immutables</artifactId>
    <groupId>org.immutables</groupId>
    <version>2.0.14</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>mongo</artifactId>
  <name>${project.groupId}.${project.artifactId}</name>
  <description>
    Annotation and runtime support to generate Mongodb repositories.
    Mongo java driver, Gson, Jackson, Bson4jackson and Guava are required runtime dependencies,
    which included as transitive dependencies.
  </description>

  <dependencies>
    <dependency>
      <!-- required gson dependency -->
      <groupId>org.immutables</groupId>
      <artifactId>gson</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <!-- Guava and jsr 305 annotations are used as required utility.-->
      <groupId>org.immutables.dependency</groupId>
      <artifactId>utility</artifactId>
      <version>${project.version}</version>
      <type>pom</type>
    </dependency>

    <!-- it's better have just 'value' dep, but due to some maven 3.3.1 bug,
    it exposes both relocated and not relocated classess, having processor to run twice -->
    <dependency>
      <groupId>org.immutables</groupId>
      <artifactId>value-annotations</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.immutables</groupId>
      <artifactId>value-processor</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <!-- compile only meta-inf/services generator -->
      <groupId>org.immutables</groupId>
      <artifactId>metainf</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>

    <dependency>
      <!-- Required as base for BSON marshalling (bson4jackson) -->
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.5.0</version>
    </dependency>
    <dependency>
      <!-- Required. We are using some classes from there, but we don't use binding functionality -->
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.5.0</version>
    </dependency>
    <dependency>
      <!-- Required. -->
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>2.12.4</version>
    </dependency>
    <dependency>
      <!-- BSON reading writing -->
      <groupId>de.undercouch</groupId>
      <artifactId>bson4jackson</artifactId>
      <version>2.4.0</version>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-annotations</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.immutables</groupId>
      <artifactId>testing</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
