<?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>kafka-connect-replicator</artifactId>
    <groupId>io.confluent</groupId>
    <version>7.3.14</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <licenses>
    <license>
      <name>Confluent License Agreement</name>
      <url>https://www.confluent.io/legal/confluent-license-agreement/</url>
    </license>
  </licenses>

  <artifactId>connect-replicator</artifactId>
  <dependencies>
    <dependency>
      <groupId>io.confluent</groupId>
      <artifactId>timestamp-interceptor</artifactId>
      <version>${io.confluent.kafka-connect-replicator.version}</version>
    </dependency>
    <dependency>
      <groupId>io.confluent</groupId>
      <artifactId>replicator-rest-extension</artifactId>
      <version>${io.confluent.kafka-connect-replicator.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.kafka</groupId>
      <artifactId>connect-api</artifactId>
      <version>${ce.kafka.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.kafka</groupId>
      <artifactId>connect-runtime</artifactId>
      <version>${ce.kafka.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.glassfish.jersey.containers</groupId>
          <artifactId>jersey-container-servlet</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.glassfish.jersey.core</groupId>
          <artifactId>jersey-common</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.glassfish.jersey.inject</groupId>
          <artifactId>jersey-hk2</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.kafka</groupId>
      <artifactId>connect-json</artifactId>
      <version>${ce.kafka.version}</version>
    </dependency>
    <!-- test dependencies -->
    <dependency>
      <groupId>io.confluent</groupId>
      <artifactId>replicator-common</artifactId>
      <version>${project.version}</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-connect-maven-plugin</artifactId>
        <version>${kafka.connect.maven.plugin.version}</version>
        <configuration>
          <name>kafka-connect-replicator</name>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>kafka-connect</goal>
            </goals>
            <configuration>
              <title>Confluent Kafka Replicator</title>
              <documentationUrl>https://docs.confluent.io/kafka-connect-replicator/current/index.html</documentationUrl>
              <sourceUrl>none</sourceUrl>
              <description><![CDATA[Replicator allows you to easily and reliably replicate topics from one Kafka cluster to another.
                                      It continuously copies the messages in multiple topics, when necessary creating the topics in the destination cluster using the same topic configuration in the source cluster.
                                      This includes preserving the number of partitions, the replication factor, and any configuration overrides specified for individual topics.
                                      Replicator is included in <a href="https://www.confluent.io/product/confluent-enterprise/">Confluent Enterprise Platform</a>, or can be downloaded
      and installed separately. It can be used for free for 30 days, but after that does require an Enterprise license. <a href="https://www.confluent.io/contact/">Contact Confluent</a>
       for more details.]]>
              </description>
              <licenses>
                <license>
                  <name>Confluent Software Evaluation License</name>
                  <url>https://www.confluent.io/software-evaluation-license</url>
                </license>
              </licenses>
              <logo>logos/apache-kafka.png</logo>

              <supportProviderName>${project.organization.name}</supportProviderName>
              <supportSummary><![CDATA[This connector is <a href="${confluent.subscription.url}">fully supported by
                                      Confluent</a> as part of a
                                      <a href="https://www.confluent.io/product/confluent-enterprise/">Confluent Enterprise Platform</a> subscription.]]>
              </supportSummary>
              <supportUrl>${confluent.subscription.url}</supportUrl>
              <supportLogo>logos/confluent.png</supportLogo>

              <ownerUsername>confluentinc</ownerUsername>
              <ownerName>${project.organization.name}</ownerName>
              <ownerUrl>${project.organization.url}</ownerUrl>
              <ownerType>organization</ownerType>
              <ownerLogo>logos/confluent.png</ownerLogo>

              <confluentControlCenterIntegration>true</confluentControlCenterIntegration>

              <componentTypes>
                <componentType>source</componentType>
              </componentTypes>

              <tags>
                <tag>Kafka</tag>
                <tag>Cluster</tag>
                <tag>Replication</tag>
                <tag>Multiple data center</tag>
                <tag>Multi-DC</tag>
                <tag>Aggregation</tag>
                <tag>Active</tag>
                <tag>Passive</tag>
              </tags>

              <deliveryGuarantee>atLeastOnce</deliveryGuarantee>
              <assemblyPluginVersion>${maven-assembly.version}</assemblyPluginVersion>
              <useLegacyDependencyResolution>true</useLegacyDependencyResolution>
              <dockerNamespace>confluentinc</dockerNamespace>
              <dockerName>cp-enterprise-replicator</dockerName>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>distro-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/assembly/development.xml</descriptor>
                <descriptor>src/assembly/package.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>rpm</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>rpm-maven-plugin</artifactId>
            <version>2.1.5</version>
            <executions>
              <execution>
                <id>generate-rpm</id>
                <goals>
                  <goal>rpm</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <group>Applications/Internet</group>
              <packager>Confluent Packaging</packager>
              <needarch>noarch</needarch>
              <targetOS>linux</targetOS>
              <requires>
                <require>confluent-common = ${io.confluent.common.version}</require>
              </requires>
              <mappings>
                <mapping>
                  <directory>/usr/share/java/${project.artifactId}</directory>
                  <sources>
                    <source>
                      <location>${project.package.home}/share/java/kafka-${project.artifactId}</location>
                    </source>
                  </sources>
                </mapping>
                <mapping>
                  <configuration>true</configuration>
                  <directory>/etc/${project.artifactId}</directory>
                  <sources>
                    <source>
                      <location>${project.package.home}/etc/kafka-${project.artifactId}</location>
                    </source>
                  </sources>
                </mapping>
                <mapping>
                  <documentation>true</documentation>
                  <directory>/usr/share/doc/${project.artifactId}</directory>
                  <sources>
                    <source>
                      <location>${project.package.home}/share/doc/kafka-${project.artifactId}</location>
                    </source>
                  </sources>
                </mapping>
              </mappings>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>standalone</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
              <descriptors>
                <descriptor>src/assembly/standalone.xml</descriptor>
              </descriptors>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>licenses-package</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
              <execution>
                <id>create-licenses</id>
                <configuration>
                  <mainClass>io.confluent.licenses.LicenseFinder</mainClass>
                  <arguments>
                    <!-- Note use of development instead of package so we pick up all dependencies. -->
                    <argument>-i ${project.build.directory}/${project.build.finalName}-package/share/java/kafka-connect-replicator</argument>
                    <argument>-o ${project.basedir}/licenses</argument>
                    <argument>-f</argument>
                    <argument>-h ${project.build.directory}/${project.build.finalName}-package/share/doc/kafka-connect-replicator/licenses.html</argument>
                    <argument>-l ${project.build.directory}/${project.build.finalName}-package/share/doc/kafka-connect-replicator/licenses</argument>
                    <argument>-n ${project.build.directory}/${project.build.finalName}-package/share/doc/kafka-connect-replicator/notices</argument>
                    <argument>-t ${project.name}</argument>
                    <argument>-x licenses-${io.confluent.license-file-generator.version}.jar</argument>
                  </arguments>
                </configuration>
                <phase>package</phase>
                <goals>
                  <goal>java</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <includeProjectDependencies>true</includeProjectDependencies>
              <includePluginDependencies>true</includePluginDependencies>
              <executableDependency>
                <groupId>io.confluent</groupId>
                <artifactId>licenses</artifactId>
              </executableDependency>
            </configuration>
            <dependencies>
              <dependency>
                <groupId>io.confluent</groupId>
                <artifactId>licenses</artifactId>
                <version>${io.confluent.license-file-generator.version}</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>licenses-source</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
              <execution>
                <id>create-licenses</id>
                <configuration>
                  <mainClass>io.confluent.licenses.LicenseFinder</mainClass>
                  <arguments>
                    <!-- Note use of development instead of package so we pick up all dependencies. -->
                    <argument>-i ${project.build.directory}/${project.build.finalName}-development/share/java/kafka-connect-replicator</argument>
                    <argument>-o ${project.basedir}/licenses</argument>
                    <argument>-f</argument>
                    <argument>-h ${project.basedir}/licenses.html</argument>
                    <argument>-l ${project.basedir}/licenses</argument>
                    <argument>-n ${project.basedir}/notices</argument>
                    <argument>-t ${project.name}</argument>
                    <argument>-x licenses-${io.confluent.license-file-generator.version}.jar</argument>
                  </arguments>
                </configuration>
                <phase>package</phase>
                <goals>
                  <goal>java</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <includeProjectDependencies>true</includeProjectDependencies>
              <includePluginDependencies>true</includePluginDependencies>
              <executableDependency>
                <groupId>io.confluent</groupId>
                <artifactId>licenses</artifactId>
              </executableDependency>
            </configuration>
            <dependencies>
              <dependency>
                <groupId>io.confluent</groupId>
                <artifactId>licenses</artifactId>
                <version>${io.confluent.license-file-generator.version}</version>
              </dependency>
            </dependencies>
          </plugin>
          <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
              <filesets>
                <fileset>
                  <directory>.</directory>
                  <includes>
                    <include>licenses.html</include>
                    <directory>licenses/*.*</directory>
                    <directory>notices/*.*</directory>
                  </includes>
                </fileset>
              </filesets>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>