<?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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.michelin.kafka</groupId>
        <artifactId>kafka-retryable-consumer</artifactId>
        <version>1.2.3</version>
    </parent>
    <artifactId>retryable-consumer-core</artifactId>

    <name>kafka-retryable-consumer-core</name>

    <dependencies>

        <!-- Serializers used by the dead letter producer -->
        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>kafka-avro-serializer</artifactId>
            <version>${kafka.confluent.version}</version>
        </dependency>

        <!-- Avro model of the dead letter records -->
        <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro</artifactId>
            <version>${avro.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-lang3.version}</version>
        </dependency>

        <!-- ===== Runtime dependencies of the library ===== -->

        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>${kafka.apache.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>${kafka.apache.version}</version>
            <classifier>test</classifier>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-server-common</artifactId>
            <version>${kafka.apache.version}</version>
            <classifier>test</classifier>
            <scope>test</scope>
        </dependency>

        <!-- ===== Embedded Kafka broker, used by the integration tests only ===== -->
        <!--
            EmbeddedKafkaCluster lives in the test jar of kafka-streams-integration-tests. Running it requires the
            broker itself (kafka_2.13), the KRaft test harness (kafka-test-common-runtime) and the TestUtils helpers
            of the kafka-clients test jar. All of them are strictly test scoped so that they never leak into the
            transitive dependencies of the published artifact.
        -->
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-streams-integration-tests</artifactId>
            <version>${kafka.stream.apache.version}</version>
            <classifier>test</classifier>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-test-common-runtime</artifactId>
            <version>${kafka.apache.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka_2.13</artifactId>
            <version>${kafka.apache.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>${snakeyaml.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.avro</groupId>
                <artifactId>avro-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
