<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-vertx-kafka-parent</artifactId>
    <version>3.20.6</version>
  </parent>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-vertx-kafka</artifactId>
  <version>3.20.6</version>
  <name>Camel :: Vert.x :: Kafka (deprecated)</name>
  <description>Camel Vertx Kafka support</description>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <properties>
    <firstVersion>3.7.0</firstVersion>
  </properties>
  <dependencies>
    <dependency>
      <groupId>io.projectreactor</groupId>
      <artifactId>reactor-core</artifactId>
      <version>3.5.5</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-support</artifactId>
      <version>3.20.6</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-vertx-common</artifactId>
      <version>3.20.6</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.kafka</groupId>
      <artifactId>kafka-clients</artifactId>
      <version>2.8.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>io.vertx</groupId>
      <artifactId>vertx-kafka-client</artifactId>
      <version>4.3.6</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.kafka</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.camel.maven</groupId>
        <artifactId>camel-vertx-kafka-maven-plugin</artifactId>
        <version>${project.version}</version>
        <executions>
          <execution>
            <id>generate</id>
            <goals>
              <goal>generate-kafka-config</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <className>VertxKafkaConfiguration</className>
          <additionalCommonConfigs>
            <partition.id>
              <name>partition.id</name>
              <type>INT</type>
              <documentation>The partition to which the record will be sent (or null if no partition was specified) or read from a particular partition if set. Header {@link VertxKafkaConstants#PARTITION_ID} If configured,
                                it will take precedence over this config</documentation>
            </partition.id>
            <topic>
              <name>topic</name>
              <type>STRING</type>
              <isRequired>true</isRequired>
              <isUriPathOption>true</isUriPathOption>
              <documentation>Name of the topic to use. On the consumer you can use comma to separate multiple topics. A producer can only send
                                a message to a single topic.</documentation>
            </topic>
          </additionalCommonConfigs>
          <additionalConsumerConfigs>
            <seek.to.position>
              <name>seek.to.position</name>
              <type>STRING</type>
              <enums>
                <param>beginning</param>
                <param>end</param>
              </enums>
              <documentation>Set if KafkaConsumer will read from beginning or end on startup: beginning : read from beginning end : read from end.</documentation>
            </seek.to.position>
            <seek.to.offset>
              <name>seek.to.offset</name>
              <type>LONG</type>
              <documentation>Set if KafkaConsumer will read from a particular offset on startup. This config will take precedence over seekTo config</documentation>
            </seek.to.offset>
          </additionalConsumerConfigs>
          <overriddenDefaultValues>
            <key.serializer>org.apache.kafka.common.serialization.StringSerializer</key.serializer>
            <value.serializer>org.apache.kafka.common.serialization.StringSerializer</value.serializer>
            <key.deserializer>org.apache.kafka.common.serialization.StringDeserializer</key.deserializer>
            <value.deserializer>org.apache.kafka.common.serialization.StringDeserializer</value.deserializer>
            <ssl.enabled.protocols>TLSv1.2,TLSv1.3</ssl.enabled.protocols>
            <ssl.protocol>TLSv1.2</ssl.protocol>
          </overriddenDefaultValues>
          <generatedSrcDir>${project.basedir}/src/generated/java</generatedSrcDir>
          <parentClassName>BaseVertxKafkaConfiguration</parentClassName>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
