<?xml version="1.0" encoding="UTF-8"?>
<!--
  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. See accompanying LICENSE file.
-->
<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>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>18</version>
    <relativePath /> <!-- resolve from repository -->
  </parent>

  <artifactId>ratis</artifactId>
  <groupId>org.apache.ratis</groupId>
  <version>0.4.0-SNAPSHOT</version>
  <name>Apache Ratis</name>
  <packaging>pom</packaging>
  <description>
    Apache Ratis is an open source java implementation for RAFT consensus protocol
  </description>
  <url>https://ratis.apache.org/</url>
  <inceptionYear>2017</inceptionYear>

  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

  <modules>
    <module>ratis-proto</module>
    <module>ratis-common</module>
    <module>ratis-client</module>
    <module>ratis-server</module>

    <module>ratis-grpc</module>
    <module>ratis-netty</module>
    <module>ratis-hadoop</module>

    <module>ratis-test</module>

    <module>ratis-assembly</module>
    <module>ratis-examples</module>
    <module>ratis-replicated-map</module>
    <module>ratis-logservice</module>
    <module>ratis-metrics</module>
  </modules>

  <pluginRepositories>
    <pluginRepository>
      <id>apache.snapshots</id>
      <url>http://repository.apache.org/snapshots/</url>
    </pluginRepository>
  </pluginRepositories>

  <scm>
    <connection>scm:git:git://git.apache.org/incubator-ratis.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-ratis.git</developerConnection>
    <url>https://git-wip-us.apache.org/repos/asf?p=incubator-ratis.git</url>
    <tag>HEAD</tag>
  </scm>

  <issueManagement>
    <system>JIRA</system>
    <url>http://issues.apache.org/jira/browse/RATIS</url>
  </issueManagement>

  <!--<ciManagement> TODO
    <system>Jenkins</system>
    <url>http://builds.apache.org/job/Ratis-Master/</url>
  </ciManagement>-->

  <mailingLists>
    <mailingList>
      <name>User List</name>
      <subscribe>user-subscribe@ratis.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@ratis.incubator.apache.org</unsubscribe>
      <post>user@ratis.incubator.apache.org</post>
      <archive>https://lists.apache.org/list.html?dev@ratis.apache.org</archive>
      <otherArchives>
        <otherArchive>http://mail-archives.apache.org/mod_mbox/ratis-user/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Developer List</name>
      <subscribe>dev-subscribe@ratis.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@ratis.apache.org</unsubscribe>
      <post>dev@ratis.apache.org</post>
      <archive>https://lists.apache.org/list.html?user@ratis.apache.org</archive>
      <otherArchives>
        <otherArchive>http://mail-archives.apache.org/mod_mbox/ratis-dev/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Commits List</name>
      <subscribe>commits-subscribe@ratis.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@ratis.apache.org</unsubscribe>
      <archive>https://lists.apache.org/list.html?commits@ratis.apache.org</archive>
      <otherArchives>
        <otherArchive>http://mail-archives.apache.org/mod_mbox/ratis-commits/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Issues List</name>
      <subscribe>issues-subscribe@ratis.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@ratis.apache.org</unsubscribe>
      <archive>https://lists.apache.org/list.html?issues@ratis.apache.org</archive>
      <otherArchives>
        <otherArchive>http://mail-archives.apache.org/mod_mbox/ratis-issues/</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  <developers>
    <!-- TODO: Add developers -->
  </developers>


  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <!-- Maven plugin versions -->
    <maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
    <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version>
    <maven-bundle-plugin.version>2.5.3</maven-bundle-plugin.version>
    <maven-checkstyle-plugin.version>3.0.0</maven-checkstyle-plugin.version>
    <maven-clean-plugin.version>3.0.0</maven-clean-plugin.version>
    <maven-clover2-plugin.version>3.3.0</maven-clover2-plugin.version>
    <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
    <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
    <maven-deploy-plugin.version>2.8.1</maven-deploy-plugin.version>
    <maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
    <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
    <maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version>
    <maven-pdf-plugin.version>1.2</maven-pdf-plugin.version>
    <maven-resources-plugin.version>2.6</maven-resources-plugin.version>
    <maven-shade-plugin.version>3.2.1</maven-shade-plugin.version>
    <maven-site-plugin.version>3.5</maven-site-plugin.version>
    <maven-source-plugin.version>2.3</maven-source-plugin.version>
    <maven-stylus-skin.version>1.5</maven-stylus-skin.version>
    <maven-surefire-plugin.version>3.0.0-M1</maven-surefire-plugin.version>

    <protobuf-maven-plugin.version>0.5.1</protobuf-maven-plugin.version>
    <license-maven-plugin.version>1.19</license-maven-plugin.version>
    <copy-rename-maven-plugin.version>1.0</copy-rename-maven-plugin.version>



    <!--
      ! Can be removed if changing to ASF parent version 19
    -->
    <apache-rat-plugin.version>0.12</apache-rat-plugin.version>
    <build-helper-maven-plugin.version>1.9</build-helper-maven-plugin.version>
    <exec-maven-plugin.version>1.3.1</exec-maven-plugin.version>
    <findbugs.version>3.0.0</findbugs.version>
    <native-maven-plugin.version>1.0-alpha-8</native-maven-plugin.version>
    <wagon-ssh.version>1.0</wagon-ssh.version>

    <shell-executable>bash</shell-executable>

    <hadoop.version>3.1.1</hadoop.version>
    <hadoop-maven-plugins.version>${hadoop.version}</hadoop-maven-plugins.version>

    <!-- define the Java language version used by the compiler -->
    <javac.version>1.8</javac.version>
    <java.min.version>${javac.version}</java.min.version>
    <maven.min.version>3.3.9</maven.min.version>

    <!-- Contains all shaded thirdparty dependencies -->
    <ratis.thirdparty.version>0.2.0</ratis.thirdparty.version>

    <!-- Need these for the protobuf compiler. *MUST* match what is in ratis-thirdparty -->
    <shaded.protobuf.version>3.5.0</shaded.protobuf.version>
    <shaded.grpc.version>1.16.0</shaded.grpc.version>


    <!-- Test properties -->
    <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
    <test.exclude.pattern>_</test.exclude.pattern>
    <!-- number of threads/forks to use when running tests in parallel, see parallel-tests profile -->
    <testsThreadCount>4</testsThreadCount>

    <checkstyle.version>8.16</checkstyle.version>

    <!--metrics-->
    <dropwizard.version>3.2.5</dropwizard.version>
    <dropwizard-metrics-hadoop-metrics2-reporter.version>0.1.2
    </dropwizard-metrics-hadoop-metrics2-reporter.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Internal dependencies -->
      <dependency>
        <artifactId>ratis-client</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-client</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <artifactId>ratis-common</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-common</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <artifactId>ratis-examples</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-examples</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>
      <dependency>
       <artifactId>ratis-metrics</artifactId>
       <groupId>org.apache.ratis</groupId>
       <version>${project.version}</version>
      </dependency>
      <dependency>
       <artifactId>ratis-metrics</artifactId>
       <groupId>org.apache.ratis</groupId>
       <version>${project.version}</version>
       <type>test-jar</type>
       <scope>test</scope>
      </dependency>
      <dependency>
        <artifactId>ratis-grpc</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-grpc</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>
      <dependency>
        <artifactId>ratis-hadoop</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-hadoop</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <artifactId>ratis-netty</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-netty</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <artifactId>ratis-proto</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <artifactId>ratis-replicated-map</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-replicated-map</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.github.joshelser</groupId>
        <artifactId>dropwizard-metrics-hadoop-metrics2-reporter</artifactId>
        <version>${dropwizard-metrics-hadoop-metrics2-reporter.version}</version>
      </dependency>

      <dependency>
        <artifactId>ratis-server</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-server</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <artifactId>ratis-test</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-test</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.ratis</groupId>
        <artifactId>ratis-logservice</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <artifactId>ratis-logservice</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.ratis</groupId>
        <artifactId>ratis-thirdparty-misc</artifactId>
        <version>${ratis.thirdparty.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.ratis</groupId>
        <artifactId>ratis-thirdparty-hadoop</artifactId>
        <version>${ratis.thirdparty.version}</version>
      </dependency>

      <!-- External dependencies -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.10</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.10</version>
      </dependency>

      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>1.72</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-jvm</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-ganglia</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.8.5</version>
      </dependency>
	    <dependency>
	      <groupId>org.jline</groupId>
	      <artifactId>jline</artifactId>
	      <version>3.9.0</version>
	    </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <extensions>
      <extension>
        <groupId>kr.motd.maven</groupId>
        <artifactId>os-maven-plugin</artifactId>
        <version>1.5.0.Final</version>
      </extension>
    </extensions>

    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${maven-clean-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven-shade-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.xolstice.maven.plugins</groupId>
          <artifactId>protobuf-maven-plugin</artifactId>
          <version>${protobuf-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>${build-helper-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>${license-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>com.coderplus.maven.plugins</groupId>
          <artifactId>copy-rename-maven-plugin</artifactId>
          <version>${copy-rename-maven-plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>${maven-install-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${maven-javadoc-plugin.version}</version>
          <configuration>
            <additionalJOptions>
              <additionalJOption>-Xmaxwarns</additionalJOption>
              <additionalJOption>10000</additionalJOption>
              <additionalJOption>-Xdoclint:-missing</additionalJOption>
            </additionalJOptions>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>${findbugs.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>native-maven-plugin</artifactId>
          <version>${native-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven-resources-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>${exec-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pdf-plugin</artifactId>
          <version>${maven-pdf-plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-maven-plugins</artifactId>
          <version>${hadoop-maven-plugins.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${maven-dependency-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <configuration>
            <rules>
              <requireMavenVersion>
                <version>[${maven.min.version},)</version>
              </requireMavenVersion>
              <requireJavaVersion>
                <version>[${java.min.version},)</version>
              </requireJavaVersion>
            </rules>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${maven-assembly-plugin.version}</version>
          <configuration>
            <!--Defer to the ratis-assembly sub-module.  It does all assembly-->
            <skipAssembly>true</skipAssembly>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
          <configuration>
            <source>${javac.version}</source>
            <target>${javac.version}</target>
            <fork>true</fork>
            <meminitial>512m</meminitial>
            <maxmem>2048m</maxmem>
            <showDeprecation>false</showDeprecation>
            <useIncrementalCompilation>false</useIncrementalCompilation>
            <compilerArgs>
              <arg>-Xlint:all,-options,-path</arg>
            </compilerArgs>
          </configuration>
        </plugin>
        <!-- Make a jar and put the sources in the jar.
        In the parent pom, so submodules will do the right thing. -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <executions>
            <execution>
              <id>attach-sources</id>
              <phase>prepare-package</phase>
              <goals>
                <goal>jar-no-fork</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

        <!-- General configuration for submodules who want to build a test jar -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven-jar-plugin.version}</version>
          <executions>
            <execution>
              <phase>prepare-package</phase>
              <goals>
                <!--This goal will install a -test.jar when we do install
                    See http://maven.apache.org/guides/mini/guide-attached-tests.html
                 -->
                <goal>test-jar</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <skipIfEmpty>true</skipIfEmpty>
            <excludes>
              <exclude>log4j.properties</exclude>
              <exclude>*.jar</exclude>
            </excludes>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
          <configuration>
            <failIfNoTests>false</failIfNoTests>
            <reuseForks>false</reuseForks>
            <forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>
            <argLine>-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError</argLine>
            <systemPropertyVariables>
              <ratis.log.dir>${project.build.directory}/log</ratis.log.dir>
              <ratis.tmp.dir>${project.build.directory}/tmp</ratis.tmp.dir>

              <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
            </systemPropertyVariables>
            <includes>
              <include>**/Test*.java</include>
            </includes>
            <excludes>
              <exclude>**/Test*$*.java</exclude>
              <exclude>${test.exclude.pattern}</exclude>
            </excludes>
            <properties>
              <property>
                <name>listener</name>
                <value>org.apache.ratis.JUnitRunListener</value>
              </property>
            </properties>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <!--You need this profile. It'll sign your artifacts.
                I'm not sure if this config. actually works though.
                I've been specifying -Papache-release on the command-line
             -->
            <releaseProfiles>apache-release</releaseProfiles>
            <!--This stops our running tests for each stage of maven release.
                But it builds the test jar.  From SUREFIRE-172.
              -->
            <arguments>-Dmaven.test.skip.exec ${arguments}</arguments>
            <goals>${goals}</goals>
            <pomFileName>pom.xml</pomFileName>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${maven-deploy-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>${apache-rat-plugin.version}</version>
          <!-- target/ should get picked up from Apache parent pom.. -->
          <configuration>
            <!-- Lets us define more exclusions in child-modules without overriding these -->
            <excludes combine.children="append">
              <exclude>target/*</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${maven-antrun-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${maven-site-plugin.version}</version>
          <dependencies>
            <dependency><!-- add support for ssh/scp -->
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-ssh</artifactId>
              <version>${wagon-ssh.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>maven-clover2-plugin</artifactId>
          <version>${maven-clover2-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${maven-bundle-plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>clean</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>pre-clean</phase>
          </execution>
          <execution>
            <id>default</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <rules>
                <!-- The earliest maven version we verify builds for via ASF Jenkins -->
                <requireMavenVersion>
                  <version>[${maven.min.version},)</version>
                  <message>Maven is out of date.
                    Ratis requires at least version ${maven.min.version} of Maven to properly build from source.
                    You appear to be using an older version. You can use either "mvn -version" or
                    "mvn enforcer:display-info" to verify what version is active.
                  </message>
                </requireMavenVersion>
                <!-- The earliest JVM version we verify builds for via ASF Jenkins -->
                <requireJavaVersion>
                  <version>[${java.min.version},)</version>
                  <message>Java is out of date.
                    Ratis requires at least version ${java.min.version} of the JDK to properly build from source.
                    You appear to be using an older version. You can use either "mvn -version" or
                    "mvn enforcer:display-info" to verify what version is active.
                  </message>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <inherited>true</inherited>
        <extensions>true</extensions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven-checkstyle-plugin.version}</version>
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>${checkstyle.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <configLocation>${basedir}/../dev-support/checkstyle.xml</configLocation>
          <failOnViolation>false</failOnViolation>
          <linkXRef>false</linkXRef>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pdf-plugin</artifactId>
        <configuration>
          <outputDirectory>${project.reporting.outputDirectory}
          </outputDirectory>
          <includeReports>false</includeReports>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>os.linux</id>
      <activation>
        <os>
          <family>!Mac</family>
        </os>
      </activation>
      <properties>
        <build.platform>${os.name}-${os.arch}-${sun.arch.data.model}
        </build.platform>
      </properties>
    </profile>
    <profile>
      <id>os.mac</id>
      <activation>
        <os>
          <family>Mac</family>
        </os>
      </activation>
      <properties>
        <build.platform>Mac_OS_X-${sun.arch.data.model}</build.platform>
      </properties>
    </profile>
    <profile>
      <id>native-win</id>
      <activation>
        <os>
          <family>Windows</family>
        </os>
      </activation>
      <properties>
        <!-- We must use this exact string for egd on Windows, because the -->
        <!-- JVM will check for an exact string match on this.  If found, it -->
        <!-- will use a native entropy provider.  This will not really -->
        <!-- attempt to open a file at this path. -->
        <java.security.egd>file:/dev/urandom</java.security.egd>
        <bundle.snappy.in.bin>true</bundle.snappy.in.bin>
        <bundle.openssl.in.bin>true</bundle.openssl.in.bin>
      </properties>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <!-- build javadoc jars per jar for publishing to maven -->
                <id>module-javadocs</id>
                <phase>package</phase>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                  <destDir>${project.build.directory}</destDir>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <!-- builds source jars and attaches them to the project for publishing -->
                <id>ratis-java-sources</id>
                <phase>package</phase>
                <goals>
                  <goal>jar-no-fork</goal>
                  <goal>test-jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>extra-enforcer-rules</artifactId>
                <version>1.0-beta-6</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>dist-enforce</id>
                <phase>package</phase>
                <goals>
                  <goal>enforce</goal>
                </goals>
                <configuration>
                  <rules>
                    <enforceBytecodeVersion>
                      <maxJdkVersion>${java.min.version}</maxJdkVersion>
                      <message>Ratis has unsupported dependencies.
                        Ratis requires that all dependencies be compiled with version ${java.min.version} or earlier
                        of the JDK to properly build from source.  You appear to be using a newer dependency. You can use
                        either "mvn -version" or "mvn enforcer:display-info" to verify what version is active.
                        Non-release builds can temporarily build with a newer JDK version by setting the
                        'javac.source' property (eg. mvn -Djavac.source=1.8 clean package).
                      </message>
                    </enforceBytecodeVersion>
                  </rules>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <executions>
              <execution>
                <!-- Execution at the validate lifecycle is good -->
                <id>check-licenses</id>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
