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

    Copyright DataStax, Inc.

    Please see the included license file for details.

-->
<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>
  <groupId>io.k8ssandra</groupId>
  <artifactId>datastax-mgmtapi</artifactId>
  <version>0.1.96</version>
  <packaging>pom</packaging>
  <name>DataStax Management API for Apache Cassandra</name>
  <properties>
    <build.version.file>build_version.sh</build.version.file>
    <revision>0.1.0-SNAPSHOT</revision>
    <driver.version>4.15.0</driver.version>
    <cassandra4.version>4.0.16</cassandra4.version>
    <docker.java.version>3.3.6</docker.java.version>
    <junit.version>4.13.2</junit.version>
    <assertj.version>3.17.2</assertj.version>
    <bytebuddy.version>1.12.19</bytebuddy.version>
    <build.version.file>build_version.sh</build.version.file>
    <slf4j.version>2.0.9</slf4j.version>
    <logback.version>1.4.14</logback.version>
    <netty.version>4.1.112.Final</netty.version>
    <mockito.version>3.5.13</mockito.version>
    <prometheus.version>0.16.0</prometheus.version>
    <!-- This old version is used by Cassandra 4.x -->
    <dropwizard-metrics.version>3.1.5</dropwizard-metrics.version>
    <jackson-dataformat.version>2.15.3</jackson-dataformat.version>
    <coveo.format.version>2.9</coveo.format.version>
    <xml.format.version>3.2.2</xml.format.version>
    <mycila.license.version>4.1</mycila.license.version>
    <maven.compiler.version>3.10.1</maven.compiler.version>
    <maven.test.version>3.0.0-M8</maven.test.version>
    <maven.resource.version>3.3.0</maven.resource.version>
    <maven.shade.version>3.4.1</maven.shade.version>
  </properties>
  <dependencies/>
  <profiles>
    <profile>
      <id>default</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <dseIncluded>false</dseIncluded>
      </properties>
      <modules>
        <module>management-api-agent-shaded-libs</module>
        <module>management-api-common</module>
        <module>management-api-agent-common</module>
        <module>management-api-agent-4.x</module>
        <module>management-api-agent-4.1.x</module>
        <module>management-api-agent-5.0.x</module>
        <module>management-api-server</module>
        <module>management-api-test</module>
      </modules>
    </profile>
    <profile>
      <id>dse</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <dseIncluded>true</dseIncluded>
      </properties>
      <modules>
        <module>management-api-agent-shaded-libs</module>
        <module>management-api-common</module>
        <module>management-api-agent-common</module>
        <module>management-api-agent-4.x</module>
        <module>management-api-agent-4.1.x</module>
        <module>management-api-agent-5.0.x</module>
        <module>management-api-agent-dse-6.8</module>
        <module>management-api-agent-dse-6.9</module>
        <module>management-api-server</module>
        <module>management-api-test</module>
      </modules>
    </profile>
    <profile>
      <id>trunk</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <dseIncluded>false</dseIncluded>
      </properties>
      <modules>
        <module>management-api-agent-shaded-libs</module>
        <module>management-api-common</module>
        <module>management-api-agent-common</module>
        <module>management-api-agent-4.x</module>
        <module>management-api-agent-4.1.x</module>
        <module>management-api-agent-5.0.x</module>
        <module>management-api-server</module>
        <module>management-api-test</module>
      </modules>
    </profile>
    <profile>
      <id>hcd</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <dseIncluded>true</dseIncluded>
      </properties>
      <modules>
        <module>management-api-agent-shaded-libs</module>
        <module>management-api-common</module>
        <module>management-api-agent-common</module>
        <module>management-api-agent-4.x</module>
        <module>management-api-agent-4.1.x</module>
        <module>management-api-agent-5.0.x</module>
        <module>management-api-agent-hcd</module>
        <module>management-api-agent-hcd-1.2.x</module>
        <module>management-api-server</module>
        <module>management-api-test</module>
      </modules>
    </profile>
    <profile>
      <id>311</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <dseIncluded>false</dseIncluded>
      </properties>
      <modules>
        <module>management-api-agent-shaded-libs</module>
        <module>management-api-common</module>
        <module>management-api-agent-common</module>
        <module>management-api-agent-3.x</module>
        <module>management-api-agent-4.x</module>
        <module>management-api-agent-4.1.x</module>
        <module>management-api-agent-5.0.x</module>
        <module>management-api-server</module>
        <module>management-api-test</module>
      </modules>
    </profile>
  </profiles>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.coveo</groupId>
          <artifactId>fmt-maven-plugin</artifactId>
          <version>${coveo.format.version}</version>
        </plugin>
        <plugin>
          <groupId>au.com.acegi</groupId>
          <artifactId>xml-format-maven-plugin</artifactId>
          <version>${xml.format.version}</version>
        </plugin>
        <plugin>
          <groupId>com.mycila</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>${mycila.license.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven.test.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${maven.test.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven.compiler.version}</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven.resource.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven.shade.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>com.coveo</groupId>
        <artifactId>fmt-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
            <phase>process-sources</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>au.com.acegi</groupId>
        <artifactId>xml-format-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>xml-check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <exclude>.idea/**</exclude>
            <exclude>**/target/**</exclude>
            <exclude>**/dependency-reduced-pom.xml</exclude>
            <exclude>**/.flattened-pom.xml</exclude>
            <excluse>settings.xml</excluse>
            <exclude>**/.cassandra-bin/**</exclude>
            <exclude>checkstyle/**</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <configuration>
          <inlineHeader><![CDATA[
Copyright DataStax, Inc.

Please see the included license file for details.]]></inlineHeader>
          <includes>
            <include>src/**/*.java</include>
            <include>src/**/*.xml</include>
            <include>src/**/*.properties</include>
            <include>**/pom.xml</include>
          </includes>
          <excludes>
            <exclude>src/**/native-image.properties</exclude>
            <exclude>**/src/main/config/ide/**</exclude>
          </excludes>
          <mapping>
            <java>SLASHSTAR_STYLE</java>
            <properties>SCRIPT_STYLE</properties>
          </mapping>
          <strictCheck>true</strictCheck>
        </configuration>
        <executions>
          <execution>
            <id>check-license</id>
            <phase>initialize</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
