<?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">
<!--
/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.
 */
-->
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>23</version>
    <relativePath />
    <!-- no parent resolution -->
  </parent>
  <groupId>org.apache.zookeeper</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <!-- to change version: mvn -B release:update-versions -DdevelopmentVersion=3.6.0-SNAPSHOT -->
  <version>3.7.0</version>
  <name>Apache ZooKeeper</name>
  <description>
    ZooKeeper is a centralized service for maintaining configuration information, naming,
    providing distributed synchronization, and providing group services. All of these kinds
    of services are used in some form or another by distributed applications. Each time they
    are implemented there is a lot of work that goes into fixing the bugs and race conditions
    that are inevitable. Because of the difficulty of implementing these kinds of services,
    applications initially usually skimp on them ,which make them brittle in the presence of
    change and difficult to manage. Even when done correctly, different implementations of
    these services lead to management complexity when the applications are deployed.
  </description>
  <url>http://zookeeper.apache.org</url>
  <inceptionYear>2008</inceptionYear>
  <!-- Set here so we can consistently use the correct name, even on branches with
       an ASF parent pom older than v15. Also uses the url from v18.
    -->
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <modules>
    <module>zookeeper-docs</module>
    <module>zookeeper-jute</module>
    <module>zookeeper-server</module>
    <module>zookeeper-metrics-providers</module>
    <module>zookeeper-client</module>
    <module>zookeeper-recipes</module>
    <module>zookeeper-assembly</module>
    <module>zookeeper-compatibility-tests</module>
  </modules>

  <scm>
    <connection>scm:git:https://gitbox.apache.org/repos/asf/zookeeper.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/zookeeper.git</developerConnection>
    <url>https://gitbox.apache.org/repos/asf/zookeeper.git</url>
    <tag>release-3.7.0-0</tag>
  </scm>
  <issueManagement>
    <system>JIRA</system>
    <url>http://issues.apache.org/jira/browse/ZOOKEEPER</url>
  </issueManagement>
  <ciManagement>
    <system>jenkins</system>
    <url>https://ci-hadoop.apache.org/view/ZooKeeper/</url>
  </ciManagement>
  <mailingLists>
    <mailingList>
      <name>User List</name>
      <subscribe>user-subscribe@zookeeper.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@zookeeper.apache.org</unsubscribe>
      <post>user@zookeeper.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/zookeeper-user/</archive>
    </mailingList>
    <mailingList>
      <name>Developer List</name>
      <subscribe>dev-subscribe@zookeeper.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@zookeeper.apache.org</unsubscribe>
      <post>dev@zookeeper.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/zookeeper-dev/</archive>
    </mailingList>
    <mailingList>
      <name>Commits List</name>
      <subscribe>commits-subscribe@zookeeper.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@zookeeper.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/zookeeper-commits/</archive>
    </mailingList>
    <mailingList>
      <name>Issues List</name>
      <subscribe>issues-subscribe@zookeeper.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@zookeeper.apache.org</unsubscribe>
      <archive>https://lists.apache.org/list.html?issues@zookeeper.apache.org</archive>
    </mailingList>
    <mailingList>
      <name>Notifications List</name>
      <subscribe>notifications-subscribe@zookeeper.apache.org</subscribe>
      <unsubscribe>notifications-unsubscribe@zookeeper.apache.org</unsubscribe>
      <archive>https://lists.apache.org/list.html?notifications@zookeeper.apache.org</archive>
    </mailingList>
  </mailingLists>
  <developers>
    <developer>
      <id>tdunning</id>
      <name>Ted Dunning</name>
      <email>tdunning@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>camille</id>
      <name>Camille Fournier</name>
      <email>camille@apache.org</email>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>phunt</id>
      <name>Patrick Hunt</name>
      <email>phunt@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>fpj</id>
      <name>Flavio Junqueira</name>
      <email>fpj@apache.org</email>
      <timezone>+0</timezone>
    </developer>
    <developer>
      <id>ivank</id>
      <name>Ivan Kelly</name>
      <email>ivank@apache.org</email>
      <timezone>+2</timezone>
    </developer>
    <developer>
      <id>mahadev</id>
      <name>Mahadev Konar</name>
      <email>mahadev@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>michim</id>
      <name>Michi Mutsuzaki</name>
      <email>michim@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>cnauroth</id>
      <name>Chris Nauroth</name>
      <email>cnauroth@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>breed</id>
      <name>Benjamin Reed</name>
      <email>breed@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>henry</id>
      <name>Henry Robinson</name>
      <email>henry@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>rgs</id>
      <name>Raul Gutierrez Segales</name>
      <email>rgs@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>rakeshr</id>
      <name>Rakesh Radhakrishnan</name>
      <email>rakeshr@apache.org</email>
      <timezone>+5:30</timezone>
    </developer>
    <developer>
      <id>hanm</id>
      <name>Michael Han</name>
      <email>hanm@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>gkesavan</id>
      <name>Giridharan Kesavan</name>
      <email>gkesavan@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>akornev</id>
      <name>Andrew Kornev</name>
      <email>akornev@apache.org</email>
    </developer>
    <developer>
      <id>shralex</id>
      <name>Alex Shraer</name>
      <email>shralex@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>thawan</id>
      <name>Thawan Kooburat</name>
      <email>thawan@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>hdeng</id>
      <name>Hongchao Deng</name>
      <email>hdeng@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>arshad</id>
      <name>Mohammad Arshad</name>
      <email>arshad@apache.org</email>
      <timezone>+5:30</timezone>
    </developer>
    <developer>
      <id>afine</id>
      <name>Abraham Fine</name>
      <email>afine@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>andor</id>
      <name>Andor Molnar</name>
      <email>andor@apache.org</email>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>lvfangmin</id>
      <name>Allan Lyu</name>
      <email>fangmin@apache.org</email>
      <timezone>-8</timezone>
    </developer>
    <developer>
        <id>eolivelli</id>
        <name>Enrico Olivelli</name>
        <email>eolivelli@apache.org</email>
        <timezone>+1</timezone>
    </developer>
  </developers>

  <profiles>
    <profile>
      <id>full-build</id>
      <modules>
        <module>zookeeper-contrib</module>
        <!-- zookeeper-it needed by fatjar contrib -->
        <module>zookeeper-it</module>
      </modules>
    </profile>
    <profile>
      <!-- fatjar only profile; zookeeper-contrib will activate the fatjar in its pom -->
      <id>fatjar</id>
      <modules>
        <module>zookeeper-contrib</module>
        <!-- zookeeper-it needed by fatjar contrib -->
        <module>zookeeper-it</module>
      </modules>
    </profile>
    <profile>
        <id>apache-release</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.apache.resources</groupId>
                            <artifactId>apache-source-release-assembly-descriptor</artifactId>
                            <version>1.0.6</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <id>source-release-assembly-tar-gz</id>
                            <phase>initialize</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                                <descriptorRefs>
                                    <!-- defined in Apache Parent Pom -->
                                    <descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
                                </descriptorRefs>
                                <finalName>apache-zookeeper-${project.version}</finalName>
                                <appendAssemblyId>false</appendAssemblyId>
                                <formats>
                                    <format>tar.gz</format>
                                </formats>
                                <tarLongFileMode>posix</tarLongFileMode>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
    <profile>
      <id>m2e</id>
      <activation>
        <property>
          <name>m2e.version</name>
        </property>
      </activation>
      <properties>
        <maven.compiler.release>8</maven.compiler.release>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.eclipse.m2e</groupId>
              <artifactId>lifecycle-mapping</artifactId>
              <version>1.0.0</version>
              <configuration>
                <lifecycleMappingMetadata>
                  <pluginExecutions>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <versionRange>[0,)</versionRange>
                        <goals>
                          <goal>exec</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <versionRange>[0,)</versionRange>
                        <goals>
                          <goal>run</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>com.ruleoftech</groupId>
                        <artifactId>markdown-page-generator-plugin</artifactId>
                        <versionRange>[0,)</versionRange>
                        <goals>
                          <goal>generate</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>javacc-maven-plugin</artifactId>
                        <versionRange>[0,)</versionRange>
                        <goals>
                          <goal>javacc</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>com.github.koraktor</groupId>
                        <artifactId>mavanagaiata</artifactId>
                        <versionRange>[0,)</versionRange>
                        <goals>
                          <goal>commit</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                  </pluginExecutions>
                </lifecycleMappingMetadata>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>jdk-release-flag</id>
      <activation>
        <jdk>[9,)</jdk>
      </activation>
      <properties>
        <maven.compiler.release>8</maven.compiler.release>
      </properties>
    </profile>
  </profiles>

  <properties>
    <!-- maven properties -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <dependency.locations.enabled>false</dependency.locations.enabled>
    <surefire.version>2.22.1</surefire.version>

    <surefire-forkcount>8</surefire-forkcount>
    <redirectTestOutputToFile>true</redirectTestOutputToFile>

    <!-- dependency versions -->
    <slf4j.version>1.7.30</slf4j.version>
    <audience-annotations.version>0.12.0</audience-annotations.version>
    <jmockit.version>1.48</jmockit.version>
    <junit.version>5.6.2</junit.version>
    <junit-platform.version>1.6.2</junit-platform.version>
    <log4j.version>1.2.17</log4j.version>
    <mockito.version>3.6.28</mockito.version>
    <hamcrest.version>2.2</hamcrest.version>
    <commons-cli.version>1.4</commons-cli.version>
    <netty.version>4.1.50.Final</netty.version>
    <jetty.version>9.4.35.v20201120</jetty.version>
    <jackson.version>2.10.5.1</jackson.version>
    <jline.version>2.14.6</jline.version>
    <snappy.version>1.1.7.7</snappy.version>
    <kerby.version>2.0.0</kerby.version>
    <bouncycastle.version>1.60</bouncycastle.version>
    <commons-collections.version>4.4</commons-collections.version>
    <dropwizard.version>4.1.12.1</dropwizard.version>
    <spotbugsannotations.version>4.0.2</spotbugsannotations.version>
    <checkstyle.version>8.39</checkstyle.version>
    <enforcer.version>3.0.0-M3</enforcer.version>

    <!-- parameters to pass to C client build -->
    <c-client-openssl>yes</c-client-openssl>
    <c-client-sasl>yes</c-client-sasl>

  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>${commons-collections.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.yetus</groupId>
        <artifactId>audience-annotations</artifactId>
        <version>${audience-annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>${commons-cli.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kerby</groupId>
        <artifactId>kerb-core</artifactId>
        <version>${kerby.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.kerby</groupId>
        <artifactId>kerb-simplekdc</artifactId>
        <version>${kerby.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.kerby</groupId>
        <artifactId>kerby-config</artifactId>
        <version>${kerby.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
        <exclusions>
          <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jmockit</groupId>
        <artifactId>jmockit</artifactId>
        <version>${jmockit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-runner</artifactId>
        <version>${junit-platform.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-handler</artifactId>
        <version>${netty.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-transport-native-epoll</artifactId>
        <version>${netty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-client</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${dropwizard.version}</version>
        <exclusions>
           <exclusion>
              <groupId>org.slf4j</groupId>
              <artifactId>slf4j-api</artifactId>
           </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>jline</groupId>
        <artifactId>jline</artifactId>
        <version>${jline.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-annotations</artifactId>
        <version>${spotbugsannotations.version}</version>
        <scope>provided</scope>
        <optional>true</optional>
      </dependency>
      <dependency>
        <groupId>org.xerial.snappy</groupId>
        <artifactId>snappy-java</artifactId>
        <version>${snappy.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
             <showWarnings>true</showWarnings>
             <compilerArgs>
               <compilerArg>-Werror</compilerArg>
               <compilerArg>-Xlint:deprecation</compilerArg>
               <compilerArg>-Xlint:unchecked</compilerArg>
               <compilerArg>-Xlint:-options</compilerArg>
               <compilerArg>-Xdoclint:-missing</compilerArg>
               <!-- https://issues.apache.org/jira/browse/MCOMPILER-205 -->
               <compilerArg>-Xpkginfo:always</compilerArg>
              </compilerArgs>
            </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <archive>
              <manifestEntries>
                <Implementation-Build>${mvngit.commit.id}</Implementation-Build>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.1.1</version>
          <configuration>
            <quiet>true</quiet>
            <doclint>none</doclint>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-plugin</artifactId>
          <version>1.11.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
              <trimStackTrace>false</trimStackTrace>
              <redirectTestOutputToFile>${redirectTestOutputToFile}</redirectTestOutputToFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.6.0</version>
        </plugin>
        <plugin>
          <groupId>com.github.koraktor</groupId>
          <artifactId>mavanagaiata</artifactId>
          <version>0.9.4</version>
          <configuration>
            <skipNoGit>true</skipNoGit>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>net.nicoulaj.maven.plugins</groupId>
          <artifactId>checksum-maven-plugin</artifactId>
          <version>1.8</version>
        </plugin>
        <plugin>
          <groupId>org.openclover</groupId>
          <artifactId>clover-maven-plugin</artifactId>
          <version>4.3.1</version>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>4.0.0</version>
          <configuration>
            <excludeFilterFile>excludeFindBugsFilter.xml</excludeFilterFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.owasp</groupId>
          <artifactId>dependency-check-maven</artifactId>
          <version>5.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.1.1</version>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${checkstyle.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <configLocation>checkstyle-strict.xml</configLocation>
            <suppressionsLocation>checkstyleSuppressions.xml</suppressionsLocation>
            <encoding>UTF-8</encoding>
            <consoleOutput>true</consoleOutput>
            <failOnViolation>true</failOnViolation>
            <includeResources>false</includeResources>
            <includeTestResources>false</includeTestResources>
            <includeTestSourceDirectory>true</includeTestSourceDirectory>
          </configuration>
        </plugin>
        <!-- we don't need this plugin-->
        <plugin>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <executions>
            <execution>
               <id>process-resource-bundles</id>
               <phase>none</phase>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>com.github.koraktor</groupId>
        <artifactId>mavanagaiata</artifactId>
        <executions>
          <execution>
            <id>find-current-git-revision</id>
            <goals>
              <goal>commit</goal>
            </goals>
            <phase>validate</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.openclover</groupId>
        <artifactId>clover-maven-plugin</artifactId>
        <configuration>
          <generateHtml>true</generateHtml>
          <generateXml>true</generateXml>
          <includes>
            <include>org/apache/zookeeper/**/*</include>
          </includes>
          <excludes>
            <exclude>org/apache/zookeeper/version/**/*</exclude>
          </excludes>
        </configuration>
        <executions>
          <execution>
            <phase>pre-site</phase>
            <goals>
              <goal>instrument</goal>
              <goal>aggregate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>set-hostname-property</id>
            <phase>validate</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <exportAntProperties>true</exportAntProperties>
              <target>
                <property environment="env" />
                <exec executable="hostname" outputproperty="host.name" />
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <id>Jar Tests Package</id>
            <phase>package</phase>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <includes>
                <include>org/**</include>
                <include>META_INF/**</include>
              </includes>
              <skipIfEmpty>true</skipIfEmpty>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
          <execution>
            <id>aggregate</id>
            <phase>site</phase>
            <goals>
              <goal>aggregate</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <overview>zookeeper-server/src/main/resources/overview.html</overview>
          <excludePackageNames>*.recipes.*</excludePackageNames>
        </configuration>
      </plugin>
      <plugin>
        <!-- Maven's deploy plugin only creates checksums during the deployment of the jar artifacts to repo. -->
        <!-- We also want to sign tarballs. Nicoulaj's plugin is the recommended solution by the community.   -->
        <groupId>net.nicoulaj.maven.plugins</groupId>
        <artifactId>checksum-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>artifacts</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <algorithms>
            <algorithm>SHA-512</algorithm>
          </algorithms>
          <appendFilename>true</appendFilename>
        </configuration>
      </plugin>

      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.owasp</groupId>
        <artifactId>dependency-check-maven</artifactId>
        <configuration>
          <format>ALL</format>
          <failBuildOnCVSS>0</failBuildOnCVSS>
          <suppressionFiles>
            <suppressionsFile>owaspSuppressions.xml</suppressionsFile>
          </suppressionFiles>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/log4j.properties</exclude>
            <exclude>**/README.md</exclude>
            <exclude>**/findbugsExcludeFile.xml</exclude>
            <exclude>**/checkstyle-noframes-sorted.xsl</exclude>
            <exclude>**/configure.ac</exclude>
            <exclude>**/Makefile.am</exclude>
            <exclude>conf/zoo_sample.cfg</exclude>
            <exclude>conf/configuration.xsl</exclude>
            <exclude>.travis.yml</exclude>
            <exclude>excludeFindBugsFilter.xml</exclude>
            <exclude>README_packaging.md</exclude>
            <exclude>src/main/resources/markdown/skin/*</exclude>
            <exclude>src/main/resources/markdown/html/*</exclude>
            <exclude>src/main/resources/markdown/images/*</exclude>
            <exclude>**/src/test/resources/embedded/*.conf</exclude>
            <!-- contrib -->
            <exclude>**/JMX-RESOURCES</exclude>
            <exclude>**/src/main/resources/mainClasses</exclude>
            <exclude>**/Changes</exclude>
            <exclude>**/MANIFEST</exclude>
            <exclude>**/src/test/zoo.cfg</exclude>
            <exclude>**/src/main/resources/webapp/org/apache/zookeeper/graph/resources/*</exclude>
            <exclude>**/src/main/java/com/nitido/utils/toaster/Toaster.java</exclude>
            <exclude>**/TODO</exclude>
            <!-- c client -->
            <exclude>**/acinclude.m4</exclude>
            <exclude>**/aminclude.am</exclude>
            <exclude>**/src/hashtable/*</exclude>
            <exclude>**/include/winconfig.h</exclude>
            <exclude>**/tests/wrappers.opt</exclude>
            <exclude>**/tests/zoo.cfg</exclude>
            <exclude>**/tests/wrappers-mt.opt</exclude>
            <exclude>**/c-doc.Doxyfile</exclude>
          </excludes>
          <consoleOutput>true</consoleOutput>
        </configuration>
      </plugin>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <inherited>false</inherited>
          <configuration>
            <!-- update the version inside the C sources -->
            <preparationGoals>clean verify -DskipTests antrun:run@replace-cclient-files-during-release scm:add@add-cclient-files-during-release scm:checkin@commit-cclient-files-during-release</preparationGoals>
            <completionGoals>clean verify -DskipTests antrun:run@replace-cclient-files-during-release scm:add@add-cclient-files-during-release scm:checkin@commit-cclient-files-during-release</completionGoals>
            <pushChanges>false</pushChanges>
            <localCheckout>true</localCheckout>
            <autoVersionSubmodules>true</autoVersionSubmodules>
            <tagNameFormat>release-@{project.version}</tagNameFormat>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-plugin</artifactId>
          <inherited>false</inherited>
          <executions>
             <execution>
               <id>add-cclient-files-during-release</id>
               <phase>none</phase>
               <goals>
                 <goal>add</goal>
               </goals>
               <configuration>
                 <pushChanges>false</pushChanges>
                 <includes>zookeeper-client/zookeeper-client-c/CMakeLists.txt,zookeeper-client/zookeeper-client-c/configure.ac,zookeeper-client/zookeeper-client-c/include/zookeeper_version.h</includes>
               </configuration>
            </execution>
            <execution>
               <id>commit-cclient-files-during-release</id>
               <phase>none</phase>
               <goals>
                   <!-- git commit -->
                <goal>checkin</goal>
              </goals>
              <configuration>
                 <pushChanges>false</pushChanges>
                 <message>Prepared ${project.version}</message>
              </configuration>
            </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>${enforcer.version}</version>
        <executions>
          <execution>
            <id>banned-commons-lang</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>commons-lang:commons-lang</exclude>
                  </excludes>
                  <searchTransitive>false</searchTransitive>
                  <message>We don't use commons-lang any more, so do not depend on it directly.</message>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>banned-commons-lang3</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>org.apache.commons:commons-lang3</exclude>
                  </excludes>
                  <searchTransitive>false</searchTransitive>
                  <message>We don't use commons-lang3, so do not depend on it directly.</message>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>banned-json-simple</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>com.googlecode.json-simple:json-simple</exclude>
                  </excludes>
                  <searchTransitive>false</searchTransitive>
                  <message>We don't use json-simple any more, so do not depend on it directly.</message>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>${project.basedir}src/main/java/resources</directory>
        <excludes>
          <exclude>**/*.*</exclude>
        </excludes>
      </resource>
    </resources>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.openclover</groupId>
        <artifactId>clover-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>

</project>
