<?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>io.confluent</groupId>
    <artifactId>ce-kafka-rest-parent</artifactId>
    <version>7.5.11</version>
  </parent>

  <artifactId>ce-kafka-rest-servlet</artifactId>
  <packaging>jar</packaging>

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

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

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

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

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

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

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

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.glassfish.jersey.core</groupId>
      <artifactId>jersey-server</artifactId>
      <scope>provided</scope>
    </dependency>

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

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${junit.jupiter.version}</version>
      <scope>test</scope>
    </dependency>

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

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

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

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

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

    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

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

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <includeScope>runtime</includeScope>
              <outputDirectory>${project.build.directory}/package-dependencies</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
	<groupId>com.diffplug.spotless</groupId>
	<artifactId>spotless-maven-plugin</artifactId>
        <executions>
	  <execution>
	    <goals>
	      <goal>check</goal>
	    </goals>
	  </execution>
	</executions>
      </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 unit tests -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration combine.self="override">
              <skip>true</skip>
            </configuration>
          </plugin>

          <!-- skip integration tests because they do not include smoke tests -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration combine.self="override">
              <skip>true</skip>
              <skipITs>true</skipITs>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
