<?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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>io.confluent</groupId>
    <artifactId>kafka-rest-parent</artifactId>
    <version>7.8.5</version>
  </parent>

  <artifactId>ce-kafka-rest-parent</artifactId>
  <name>ce-kafka-rest-parent</name>
  <packaging>pom</packaging>
  <version>7.8.5</version>

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


  <description>
    Proprietary extensions for REST Proxy (kafka-rest).
  </description>

  <scm>
    <connection>scm:git:git://github.com/confluentinc/ce-kafka-rest.git</connection>
    <developerConnection>scm:git:git@github.com:confluentinc/ce-kafka-rest.git
    </developerConnection>
    <url>https://github.com/confluentinc/ce-kafka-rest</url>
    <tag>HEAD</tag>
  </scm>

  <properties>
    <io.confluent.ce-kafka-http-server.version>${confluent.version.range}</io.confluent.ce-kafka-http-server.version>
    <io.confluent.ce-kafka-rest.version>7.8.5</io.confluent.ce-kafka-rest.version>
    <io.confluent.schema-registry.version>${confluent.version.range}</io.confluent.schema-registry.version>
    <io.confluent.confluent-security-plugins.version>${confluent.version.range}</io.confluent.confluent-security-plugins.version>
  </properties>

  <modules>
    <module>ce-kafka-rest-extensions</module>
    <module>ce-kafka-rest-servlet</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>ce-kafka-http-server</artifactId>
        <version>${io.confluent.ce-kafka-http-server.version}</version>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-rest</artifactId>
        <version>${io.confluent.kafka-rest.version}</version>

        <exclusions>
          <exclusion>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-rest</artifactId>
        <classifier>tests</classifier>
        <version>${io.confluent.kafka-rest.version}</version>

        <exclusions>
          <exclusion>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>ce-kafka-rest-extensions</artifactId>
        <version>${io.confluent.ce-kafka-rest.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>3.0.2</version>
      </dependency>

      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-schema-registry</artifactId>
        <version>${io.confluent.schema-registry.version}</version>

        <exclusions>
          <exclusion>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-server-common</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.1.1</version>
      </dependency>

      <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_${kafka.scala.version}</artifactId>
        <version>${ce.kafka.version}</version>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>ce-sbk_${kafka.scala.version}</artifactId>
        <version>${ce.kafka.version}</version>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>ce-sbk_${kafka.scala.version}</artifactId>
        <version>${ce.kafka.version}</version>
        <classifier>test</classifier>
      </dependency>

      <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_${kafka.scala.version}</artifactId>
        <classifier>test</classifier>
        <version>${ce.kafka.version}</version>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>confluent-metrics</artifactId>
        <version>${ce.kafka.version}</version>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>confluent-kafka-rest-security-plugin</artifactId>
        <version>${io.confluent.confluent-security-plugins.version}</version>
        <scope>provided</scope>

        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bc-fips</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.confluent</groupId>
            <artifactId>confluent-licensing-new</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-client-plugins</artifactId>
        <version>${ce.kafka.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>broker-plugins</artifactId>
        <version>${ce.kafka.version}</version>
        <classifier>test</classifier>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>confluent-security-plugins-common</artifactId>
        <version>${io.confluent.confluent-security-plugins.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>confluent-serializers-new</artifactId>
        <version>${ce.kafka.version}</version>
      </dependency>

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

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

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-inline</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>
      <!-- Maintain ordering: All non-fips(bcprov-jdk15on/ bcprov-jdk18on) artifacts
                 *must* must come before all fips dependencies -->
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bc-fips</artifactId>
        <version>${bouncycastle.fips.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-fips</artifactId>
        <version>${bouncycastle.bcpkix-fips.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bctls-fips</artifactId>
        <version>${bouncycastle.tls-fips.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcutil-fips</artifactId>
        <version>${bouncycastle.bcutil-fips.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.connectors</groupId>
        <artifactId>jersey-apache-connector</artifactId>
        <version>2.34</version>
        <scope>test</scope>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <configuration>
          <reuseForks>false</reuseForks>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>cloudPackageSmokeTest</id>
      <activation>
        <property>
          <name>KAFKA_REST_CLOUD_SMOKE_TESTS</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <!-- skip checkstyle -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
