<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014-2017 Spotify AB
        Copyright 2016-2018 The Last Pickle Ltd

 Licensed 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 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.cassandrareaper</groupId>
    <artifactId>cassandra-reaper-pom</artifactId>
    <version>1.3.0</version>
    <packaging>pom</packaging>

    <name>Cassandra Reaper project</name>
    <url>https://cassandra-reaper.io</url>
    <description>Reaper is a centralized, stateful, and highly configurable tool for running Apache Cassandra repairs against single or multi-site clusters</description>

    <licenses>
      <license>
        <name>Apache 2</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
      </license>
    </licenses>
    <scm>
      <url>https://github.com/thelastpickle/cassandra-reaper</url>
      <connection>scm:git:git@github.com:thelastpickle/cassandra-reaper.git</connection>
      <developerConnection>scm:git:git@github.com:thelastpickle/cassandra-reaper.git</developerConnection>
      <tag>HEAD</tag>
    </scm>
    <issueManagement>
      <system>Github</system>
      <url>https://github.com/thelastpickle/cassandra-reaper/issues</url>
    </issueManagement>

    <distributionManagement>
      <repository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
      </repository>
      <snapshotRepository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      </snapshotRepository>
    </distributionManagement>

  <developers>
    <developer>
      <id>Bj0rnen</id>
      <name>Björn Hegerfors</name>
      <url>https://github.com/Bj0rnen</url>
    </developer>
    <developer>
      <id>varjoranta</id>
      <name>Hannu Varjoranta</name>
      <url>http://varjosoft.fi</url>
      <email>hannu.varjoranta@magine.com</email>
    </developer>
    <developer>
      <id>djsly</id>
      <name>Sylvain Boily</name>
      <url>https://github.com/djsly</url>
    </developer>
    <developer>
      <id>Yarin78</id>
      <name>Jimmy Mårdelly</name>
      <url>https://github.com/Yarin78</url>
    </developer>
    <developer>
      <id>spodkowinski</id>
      <name>Stefan Podkowinski</name>
      <url>https://github.com/spodkowinski</url>
    </developer>
    <developer>
      <id>mattnworb</id>
      <name>Matt Brown</name>
      <url>matt@mattnworb.com</url>
      <email>hannu.varjoranta@magine.com</email>
    </developer>
    <developer>
      <id>adejanovski</id>
      <name>Alexander Dejanovski</name>
      <email>adejanovski@gmail.com</email>
    </developer>
    <developer>
      <id>mck</id>
      <name>Mick Semb Wever</name>
      <email>mick@thelastpickle.com</email>
      <url>http://about.me/wever</url>
    </developer>
    <developer>
      <id>rustyrazorblade</id>
      <name>Jon Haddad</name>
      <url>http://www.rustyrazorblade.com/</url>
    </developer>
    <developer>
      <id>joaquincasares</id>
      <name>Joaquin Casares</name>
      <email>joaquin.casares@gmail.com</email>
    </developer>
    <developer>
      <id>rzvoncek</id>
      <name>Radovan</name>
      <url>https://github.com/rzvoncek</url>
    </developer>
    <developer>
      <id>ossarga</id>
      <name>Anthony Grasso</name>
      <url>http://thelastpickle.com</url>
    </developer>
  </developers>

    <modules>
        <module>src/server</module>
    </modules>

    <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <executions>
              <execution>
                <id>enforce-java</id>
                <goals><goal>enforce</goal></goals>
                <configuration>
                  <rules>
                    <requireJavaVersion>
                      <version>[${build.jdk.minimum},)</version>
                    </requireJavaVersion>
                   <requireMavenVersion>
                      <version>[${maven.version.minimum},)</version>
                   </requireMavenVersion>
                   <banDuplicatePomDependencyVersions/>
                   <reactorModuleConvergence/>
                   <requirePluginVersions/>
                  </rules>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <configuration>
              <filesets>
                <fileset>
                  <directory>${project.build.directory}</directory>
                </fileset>
                <fileset>
                  <directory>src/packaging/build</directory>
                </fileset>
                <fileset>
                  <directory>src/packages</directory>
                  <includes>
                      <include>**/*</include>
                  </includes>
                </fileset>
              </filesets>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <version>0.12</version>
            <configuration>
              <excludes>
                <exclude>**/target/**</exclude>
                <exclude>docs/**</exclude>
                <exclude>src/docs/themes/**</exclude>
                <exclude>src/docs/data/**</exclude>
                <exclude>src/docs/layouts/**</exclude>
                <exclude>src/docs/static/**</exclude>
                <exclude>src/ui/node_modules/**</exclude>
                <exclude>src/ui/bower_components/**</exclude>
                <exclude>src/ui/build/**</exclude>
                <exclude>**/*.md</exclude>
                <exclude>**/*.json</exclude>
                <exclude>**/*.access</exclude>
                <exclude>**/*.password</exclude>
                <exclude>**/*.txt</exclude>
                <exclude>src/packaging/debian/compat</exclude>
                <exclude>src/packaging/debian/changelog</exclude>
              </excludes>
            </configuration>
            <executions>
                <execution>
                    <phase>verify</phase>
                    <goals>
                        <goal>check</goal>
                    </goals>
                </execution>
            </executions>
          </plugin>
        </plugins>
        <pluginManagement>
          <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.7.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.21.0</version>
                <inherited>true</inherited>
                <configuration>
                  <argLine>${surefireArgLine}</argLine>
                  <failIfNoTests>false</failIfNoTests>
                  <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
                  <excludes>
                    <exclude>**/IT*.java</exclude>
                    <exclude>**/*IT.java</exclude>
                  </excludes>
                  <workingDirectory>${project.build.directory}</workingDirectory>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.4.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.0.1</version>
                <configuration>
                  <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.4</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-maven-plugin</artifactId>
                <version>1.16</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.1.1</version>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.1.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
            <plugin>
                <groupId>com.google.code.maven-replacer-plugin</groupId>
                <artifactId>replacer</artifactId>
                <version>1.5.3</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
          </plugins>
        </pluginManagement>
    </build>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <version.jdk>1.8</version.jdk>
        <!-- travis of July 2018 was still using _151 -->
        <build.jdk.minimum>1.8.0-151</build.jdk.minimum>
        <!-- travis of July 2018 was still using maven-3.5.2 but our Docker image for building packages ships with 3.3.8 -->
        <maven.version.minimum>3.3.8</maven.version.minimum>
        <surefireArgLine></surefireArgLine>

        <!--
        Properties that influence various parts of the NetBeans IDE, especially code formatting and the like.
        -->
        <netbeans.checkstyle.format>true</netbeans.checkstyle.format>
        <org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width>120</org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width>
        <org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.continuationIndentSize>4</org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.continuationIndentSize>
        <org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.importGroupsOrder>io.cassandrareaper.;java.;javax.;*;static *</org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.importGroupsOrder>
        <org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.separateStaticImports>true</org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.separateStaticImports>
        <org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.wrapCommentText>false</org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.wrapCommentText>
        <org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.preserveNewLinesInComments>true</org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.preserveNewLinesInComments>
        <org-netbeans-modules-editor-indent.text.x-fortran.CodeStyle.project.text-limit-width>132</org-netbeans-modules-editor-indent.text.x-fortran.CodeStyle.project.text-limit-width>
        <org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap>none</org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap>
        <org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>2</org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>
        <org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab>2</org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab>
        <org-netbeans-modules-editor-indent.CodeStyle.project.tab-size>2</org-netbeans-modules-editor-indent.CodeStyle.project.tab-size>
        <org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>true</org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>
        <org-netbeans-modules-editor-indent.CodeStyle.usedProfile>project</org-netbeans-modules-editor-indent.CodeStyle.usedProfile>
        <org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.enable-indent>true</org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.enable-indent>
        <org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-line-wrap>none</org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-line-wrap>
    </properties>

</project>
