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

    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.

-->
<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>
  <packaging>pom</packaging>
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>18</version>
  </parent>

  <groupId>org.apache.pulsar</groupId>
  <artifactId>pulsar</artifactId>

  <version>2.8.0-SNAPSHOT</version>

  <name>Pulsar</name>
  <description>Pulsar is a distributed pub-sub messaging platform with a very
flexible messaging model and an intuitive client API.</description>
  <url>https://github.com/apache/pulsar</url>

  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
  </organization>
  <inceptionYear>2017</inceptionYear>

  <developers>
    <developer>
      <organization>Apache Pulsar developers</organization>
      <organizationUrl>http://pulsar.apache.org/</organizationUrl>
    </developer>
  </developers>

  <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>

  <scm>
    <url>https://github.com/apache/pulsar</url>
    <connection>scm:git:https://github.com/apache/pulsar.git</connection>
    <developerConnection>scm:git:ssh://git@github.com:apache/pulsar.git</developerConnection>
  </scm>

  <ciManagement>
    <system>Travis</system>
    <url>https://travis-ci.org/apache/pulsar</url>
  </ciManagement>

  <issueManagement>
    <system>Github</system>
    <url>https://github.com/apache/pulsar/issues</url>
  </issueManagement>

  <properties>
    <!--config keys to congiure test selection -->
    <include>*</include>
    <exclude/>
    <groups/>
    <excludedGroups/>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <redirectTestOutputToFile>true</redirectTestOutputToFile>
    <test.additional.args></test.additional.args>
    <testReuseFork>true</testReuseFork>
    <testForkCount>4</testForkCount>
    <testRealAWS>false</testRealAWS>
    <testRetryCount>1</testRetryCount>
    <docker.organization>apachepulsar</docker.organization>
    <skipSourceReleaseAssembly>false</skipSourceReleaseAssembly>

    <!-- apache commons -->
    <commons-compress.version>1.19</commons-compress.version>

    <bookkeeper.version>4.13.0</bookkeeper.version>
    <zookeeper.version>3.6.2</zookeeper.version>
    <snappy.version>1.1.7</snappy.version> <!-- ZooKeeper server -->
    <dropwizardmetrics.version>3.2.5</dropwizardmetrics.version> <!-- ZooKeeper server -->
    <curator.version>5.1.0</curator.version>
    <netty.version>4.1.51.Final</netty.version>
    <netty-tc-native.version>2.0.33.Final</netty-tc-native.version>
    <jetty.version>9.4.35.v20201120</jetty.version>
    <jersey.version>2.31</jersey.version>
    <athenz.version>1.8.38</athenz.version>
    <prometheus.version>0.5.0</prometheus.version>
    <aspectj.version>1.9.2</aspectj.version>
    <vertx.version>3.5.3</vertx.version>
    <rocksdb.version>6.10.2</rocksdb.version>
    <slf4j.version>1.7.25</slf4j.version>
    <commons.collections.version>3.2.2</commons.collections.version>
    <log4j2.version>2.14.0</log4j2.version>
    <bouncycastle.version>1.68</bouncycastle.version>
    <bouncycastlefips.version>1.0.2</bouncycastlefips.version>
    <jackson.version>2.11.1</jackson.version>
    <jackson.databind.version>2.11.1</jackson.databind.version>
    <reflections.version>0.9.11</reflections.version>
    <swagger.version>1.6.2</swagger.version>
    <puppycrawl.checkstyle.version>8.37</puppycrawl.checkstyle.version>
    <dockerfile-maven.version>1.4.13</dockerfile-maven.version>
    <typetools.version>0.5.0</typetools.version>
    <protobuf3.version>3.11.4</protobuf3.version>
    <protoc3.version>${protobuf3.version}</protoc3.version>
    <grpc.version>1.33.0</grpc.version>
    <perfmark.version>0.19.0</perfmark.version>
    <protoc-gen-grpc-java.version>${grpc.version}</protoc-gen-grpc-java.version>
    <gson.version>2.8.6</gson.version>
    <sketches.version>0.8.3</sketches.version>
    <hbc-core.version>2.2.0</hbc-core.version>
    <cassandra-driver-core.version>3.6.0</cassandra-driver-core.version>
    <aerospike-client.version>4.4.8</aerospike-client.version>
    <kafka-client.version>2.3.0</kafka-client.version>
    <rabbitmq-client.version>5.1.1</rabbitmq-client.version>
    <aws-sdk.version>1.11.774</aws-sdk.version>
    <avro.version>1.10.2</avro.version>
    <joda.version>2.10.1</joda.version>
    <jclouds.version>2.2.1</jclouds.version>
    <sqlite-jdbc.version>3.8.11.2</sqlite-jdbc.version>
    <mysql-jdbc.version>8.0.11</mysql-jdbc.version>
    <postgresql-jdbc.version>42.2.12</postgresql-jdbc.version>
    <clickhouse-jdbc.version>0.2.4</clickhouse-jdbc.version>
    <mariadb-jdbc.version>2.6.0</mariadb-jdbc.version>
    <hdfs-offload-version3>3.3.0</hdfs-offload-version3>
    <elasticsearch.version>7.9.1</elasticsearch.version>
    <presto.version>332</presto.version>
    <scala.binary.version>2.11</scala.binary.version>
    <scala-library.version>2.11.12</scala-library.version>
    <debezium.version>1.0.0.Final</debezium.version>
    <jsonwebtoken.version>0.11.1</jsonwebtoken.version>
    <opencensus.version>0.18.0</opencensus.version>
    <hbase.version>2.3.0</hbase.version>
    <guava.version>30.1-jre</guava.version>
    <jcip.version>1.0</jcip.version>
    <prometheus-jmx.version>0.14.0</prometheus-jmx.version>
    <confluent.version>5.3.2</confluent.version>
    <kafka.confluent.schemaregistryclient.version>5.3.0</kafka.confluent.schemaregistryclient.version>
    <kafka.confluent.avroserializer.version>5.3.0</kafka.confluent.avroserializer.version>
    <kafka-avro-convert-jackson.version>1.9.13</kafka-avro-convert-jackson.version>
    <aircompressor.version>0.16</aircompressor.version>
    <asynchttpclient.version>2.12.1</asynchttpclient.version>
    <jcommander.version>1.78</jcommander.version>
    <commons-lang3.version>3.11</commons-lang3.version>
    <commons-configuration.version>1.10</commons-configuration.version>
    <commons-io.version>2.5</commons-io.version>
    <commons-codec.version>1.10</commons-codec.version>
    <javax.ws.rs-api.version>2.1</javax.ws.rs-api.version>
    <log4j.version>1.2.17</log4j.version>
    <hdrHistogram.version>2.1.9</hdrHistogram.version>
    <javax.servlet-api>3.1.0</javax.servlet-api>
    <caffeine.version>2.6.2</caffeine.version>
    <java-semver.version>0.9.0</java-semver.version>
    <hppc.version>0.7.3</hppc.version>
    <spark-streaming_2.10.version>2.1.0</spark-streaming_2.10.version>
    <assertj-core.version>3.18.1</assertj-core.version>
    <lombok.version>1.18.16</lombok.version>
    <javax.annotation-api.version>1.2</javax.annotation-api.version>
    <jaxb-api>2.3.1</jaxb-api>
    <javax.activation.version>1.2.0</javax.activation.version>
    <jna.version>4.2.0</jna.version>
    <kubernetesclient.version>10.0.0</kubernetesclient.version>
    <sundr.version>0.21.0</sundr.version>
    <nsq-client.version>1.0</nsq-client.version>
    <cron-utils.version>9.1.3</cron-utils.version>
    <spring-context.version>5.3.1</spring-context.version>
    <docker-java.version>3.2.7</docker-java.version>
    <apache-http-client.version>4.5.13</apache-http-client.version>

    <!-- test dependencies -->
    <cassandra.version>3.6.0</cassandra.version>
    <disruptor.version>3.4.0</disruptor.version>
    <testcontainers.version>1.15.1</testcontainers.version>
    <kerby.version>1.1.1</kerby.version>
    <testng.version>7.3.0</testng.version>
    <mockito.version>3.8.0</mockito.version>
    <powermock.version>2.0.9</powermock.version>
    <javassist.version>3.25.0-GA</javassist.version>
    <failsafe.version>2.3.1</failsafe.version>
    <skyscreamer.version>1.5.0</skyscreamer.version>
    <confluent.version>5.2.2</confluent.version>
    <objenesis.version>3.1</objenesis.version>
    <awaitility.version>4.0.3</awaitility.version>

    <!-- Plugin dependencies -->
    <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
    <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
    <aspectj-maven-plugin.version>1.11.1</aspectj-maven-plugin.version>
    <license-maven-plugin.version>4.0.rc2</license-maven-plugin.version>
    <directory-maven-plugin.version>0.3.1</directory-maven-plugin.version>
    <maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version>
    <maven-surefire-plugin.version>3.0.0-M3</maven-surefire-plugin.version>
    <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
    <maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>
    <maven-clean-plugin.version>2.4.1</maven-clean-plugin.version>
    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
    <maven-shade-plugin>3.2.4</maven-shade-plugin>
    <maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version>
    <maven-antrun-plugin.version>3.0.0</maven-antrun-plugin.version>
    <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
    <maven-archiver.version>2.5</maven-archiver.version>
    <nifi-nar-maven-plugin.version>1.2.0</nifi-nar-maven-plugin.version>
    <maven-checkstyle-plugin.version>3.1.1</maven-checkstyle-plugin.version>
    <git-commit-id-plugin.version>4.0.2</git-commit-id-plugin.version>
    <wagon-ssh-external.version>2.10</wagon-ssh-external.version>
    <os-maven-plugin.version>1.4.1.Final</os-maven-plugin.version>
    <jacoco-maven-plugin.version>0.8.3</jacoco-maven-plugin.version>
    <spotbugs-maven-plugin.version>4.1.3</spotbugs-maven-plugin.version>
    <spotbugs.version>4.2.0</spotbugs.version>
    <errorprone.version>2.4.0</errorprone.version>
    <errorprone.javac.version>9+181-r4173-1</errorprone.javac.version>
    <errorprone-slf4j.version>0.1.4</errorprone-slf4j.version>
    <lightproto-maven-plugin.version>0.2</lightproto-maven-plugin.version>

    <!-- Used to configure rename.netty.native. Libs -->
    <rename.netty.native.libs>rename-netty-native-libs.sh</rename.netty.native.libs>
  </properties>

  <dependencyManagement>
    <dependencies>

      <dependency>
        <groupId>org.asynchttpclient</groupId>
        <artifactId>async-http-client</artifactId>
        <version>${asynchttpclient.version}</version>
        <exclusions>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.yaml</groupId>
                <artifactId>*</artifactId>
            </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>${awaitility.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
      </dependency>

      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito2</artifactId>
        <version>${powermock.version}</version>
      </dependency>

      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-testng</artifactId>
        <version>${powermock.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper-jute</artifactId>
        <version>${zookeeper.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${dropwizardmetrics.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-graphite</artifactId>
        <version>${dropwizardmetrics.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-jvm</artifactId>
        <version>${dropwizardmetrics.version}</version>
      </dependency>
      <dependency>
        <groupId>org.xerial.snappy</groupId>
        <artifactId>snappy-java</artifactId>
        <version>${snappy.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <classifier>tests</classifier>
        <version>${zookeeper.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.bookkeeper</groupId>
        <artifactId>bookkeeper-server</artifactId>
        <version>${bookkeeper.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>*</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
          <exclusion>
            <groupId>org.jboss.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
          <!-- exclude all netty dependencies, use whatever pulsar is using -->
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
         <groupId>org.apache.curator</groupId>
         <artifactId>curator-recipes</artifactId>
         <version>${curator.version}</version>
         <exclusions>
             <exclusion>
                 <groupId>org.apache.zookeeper</groupId>
                 <artifactId>*</artifactId>
             </exclusion>
         </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.bookkeeper</groupId>
        <artifactId>bookkeeper-common-allocator</artifactId>
        <version>${bookkeeper.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.bookkeeper</groupId>
        <artifactId>bookkeeper-tools-framework</artifactId>
        <version>${bookkeeper.version}</version>
      </dependency>

      <!-- reflection libs -->
      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${reflections.version}</version>
      </dependency>

      <!-- exclude the grpc version from bookkeeper and use the one defined here -->
      <dependency>
        <groupId>org.apache.bookkeeper</groupId>
        <artifactId>stream-storage-java-client</artifactId>
        <version>${bookkeeper.version}</version>
        <exclusions>
          <exclusion>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- exclude the grpc version from bookkeeper and use the one defined here -->
      <dependency>
        <groupId>org.apache.bookkeeper</groupId>
        <artifactId>stream-storage-server</artifactId>
        <version>${bookkeeper.version}</version>
        <exclusions>
          <exclusion>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.bookkeeper</groupId>
        <artifactId>bookkeeper-common</artifactId>
        <version>${bookkeeper.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.bookkeeper.stats</groupId>
        <artifactId>bookkeeper-stats-api</artifactId>
        <version>${bookkeeper.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.bookkeeper.stats</groupId>
        <artifactId>datasketches-metrics-provider</artifactId>
        <version>${bookkeeper.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.bookkeeper.stats</groupId>
        <artifactId>prometheus-metrics-provider</artifactId>
        <version>${bookkeeper.version}</version>
      </dependency>

      <dependency>
        <groupId>org.rocksdb</groupId>
        <artifactId>rocksdbjni</artifactId>
        <version>${rocksdb.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-servlets</artifactId>
        <version>${jetty.version}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-proxy</artifactId>
        <version>${jetty.version}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>${jetty.version}</version>
      </dependency>

      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-bom</artifactId>
        <version>${netty.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-tcnative-boringssl-static</artifactId>
        <version>${netty-tc-native.version}</version>
      </dependency>

      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-codec-haproxy</artifactId>
        <version>${netty.version}</version>
      </dependency>

      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>${jcommander.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang3.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons-compress.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>${commons-configuration.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-bom</artifactId>
        <version>${log4j2.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${jersey.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>${jersey.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.inject</groupId>
        <artifactId>jersey-hk2</artifactId>
        <version>${jersey.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
        <version>${jersey.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
        <version>${jersey.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>${javax.ws.rs-api.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
        <version>${jersey.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-multipart</artifactId>
        <version>${jersey.version}</version>
      </dependency>

      <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <version>${jna.version}</version>
      </dependency>

      <dependency>
         <groupId>com.github.docker-java</groupId>
         <artifactId>docker-java-core</artifactId>
         <version>${docker-java.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${jackson.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <artifactId>log4j</artifactId>
        <groupId>log4j</groupId>
        <version>${log4j.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.sun.jmx</groupId>
            <artifactId>jmxri</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.hdrhistogram</groupId>
        <artifactId>HdrHistogram</artifactId>
        <version>${hdrHistogram.version}</version>
      </dependency>

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

      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>${swagger.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax.servlet-api}</version>
      </dependency>

      <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
        <version>${caffeine.version}</version>
      </dependency>

      <dependency>
        <groupId>com.yahoo.athenz</groupId>
        <artifactId>athenz-zts-java-client</artifactId>
        <version>${athenz.version}</version>
      </dependency>

      <dependency>
        <groupId>com.yahoo.athenz</groupId>
        <artifactId>athenz-zpe-java-client</artifactId>
        <version>${athenz.version}</version>
      </dependency>

      <dependency>
        <groupId>com.github.zafarkhaja</groupId>
        <artifactId>java-semver</artifactId>
        <version>${java-semver.version}</version>
      </dependency>

      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient</artifactId>
        <version>${prometheus.version}</version>
      </dependency>

      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_hotspot</artifactId>
        <version>${prometheus.version}</version>
      </dependency>

      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_log4j2</artifactId>
        <version>${prometheus.version}</version>
      </dependency>

      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_servlet</artifactId>
        <version>${prometheus.version}</version>
      </dependency>

      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_jetty</artifactId>
        <version>${prometheus.version}</version>
      </dependency>

      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_caffeine</artifactId>
        <version>${prometheus.version}</version>
      </dependency>

      <dependency>
        <groupId>com.carrotsearch</groupId>
        <artifactId>hppc</artifactId>
        <version>${hppc.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming_2.10</artifactId>
        <version>${spark-streaming_2.10.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec-http</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport-native-epoll</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-api</artifactId>
        <version>${jsonwebtoken.version}</version>
      </dependency>
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-impl</artifactId>
        <version>${jsonwebtoken.version}</version>
      </dependency>
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-jackson</artifactId>
        <version>${jsonwebtoken.version}</version>
      </dependency>

      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${aspectj.version}</version>
      </dependency>

      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>${aspectj.version}</version>
      </dependency>

      <dependency>
        <groupId>net.jodah</groupId>
        <artifactId>typetools</artifactId>
        <version>${typetools.version}</version>
      </dependency>

      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-all</artifactId>
        <version>${grpc.version}</version>
        <exclusions>
          <exclusion>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-testing</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

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

      <dependency>
        <groupId>io.perfmark</groupId>
        <artifactId>perfmark-api</artifactId>
        <version>${perfmark.version}</version>
        <scope>runtime</scope>
        <exclusions>
          <exclusion>
            <artifactId>error_prone_annotations</artifactId>
            <groupId>com.google.errorprone</groupId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-stub</artifactId>
        <version>${grpc.version}</version>
      </dependency>

      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-protobuf-lite</artifactId>
        <version>${grpc.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-bom</artifactId>
        <version>${protobuf3.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.yahoo.datasketches</groupId>
        <artifactId>sketches-core</artifactId>
        <version>${sketches.version}</version>
      </dependency>

      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-bom</artifactId>
        <version>${aws-sdk.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.distributedlog</groupId>
        <artifactId>distributedlog-core</artifactId>
        <version>${bookkeeper.version}</version>
        <exclusions>
          <!-- exclude bookkeeper, reply on the bookkeeper version that pulsar uses -->
          <exclusion>
            <groupId>org.apache.bookkeeper</groupId>
            <artifactId>bookkeeper-server</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons.collections.version}</version>
      </dependency>

      <!-- test dependencies -->
      <dependency>
        <groupId>com.lmax</groupId>
        <artifactId>disruptor</artifactId>
        <version>${disruptor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers</artifactId>
        <version>${testcontainers.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>kafka</artifactId>
        <version>${testcontainers.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>mysql</artifactId>
        <version>${testcontainers.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>postgresql</artifactId>
        <version>${testcontainers.version}</version>
      </dependency>
      <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>${cassandra.version}</version>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertj-core.version}</version>
      </dependency>

      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>${javax.annotation-api.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${jaxb-api}</version>
      </dependency>

      <dependency>
        <groupId>com.sun.activation</groupId>
        <artifactId>javax.activation</artifactId>
        <version>${javax.activation.version}</version>
      </dependency>

      <dependency>
        <groupId>io.opencensus</groupId>
        <artifactId>opencensus-api</artifactId>
        <version>${opencensus.version}</version>
      </dependency>

      <dependency>
        <groupId>io.opencensus</groupId>
        <artifactId>opencensus-contrib-grpc-metrics</artifactId>
        <version>${opencensus.version}</version>
      </dependency>

      <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>${elasticsearch.version}</version>
      </dependency>

      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda.version}</version>
      </dependency>

      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>${javassist.version}</version>
      </dependency>

      <dependency>
        <groupId>net.jcip</groupId>
        <artifactId>jcip-annotations</artifactId>
        <version>${jcip.version}</version>
      </dependency>

      <dependency>
        <groupId>io.airlift</groupId>
        <artifactId>aircompressor</artifactId>
        <version>${aircompressor.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.openjdk.jol</groupId>
            <artifactId>jol-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.objenesis</groupId>
        <artifactId>objenesis</artifactId>
        <version>${objenesis.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${apache-http-client.version}</version>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- These dependencies are common to all the submodules -->
    <dependency>
      <groupId>org.apache.pulsar</groupId>
      <artifactId>buildtools</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito2</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-testng</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <!-- We use MockedBookKeeper in many unit tests -->
      <groupId>org.apache.bookkeeper</groupId>
      <artifactId>bookkeeper-server</artifactId>
      <version>${bookkeeper.version}</version>
      <scope>test</scope>
      <classifier>tests</classifier>
      <exclusions>
        <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>*</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>log4j</artifactId>
          <groupId>log4j</groupId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

  <build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>org.apache.pulsar</groupId>
            <artifactId>buildtools</artifactId>
            <version>${project.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>UTF-8</encoding>
          <showDeprecation>true</showDeprecation>
          <showWarnings>true</showWarnings>
          <optimize>true</optimize>
          <!-- workaround https://issues.apache.org/jira/browse/MCOMPILER-205 -->
          <useIncrementalCompilation>false</useIncrementalCompilation>
          <annotationProcessorPaths>
            <path>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
              <version>${lombok.version}</version>
            </path>
          </annotationProcessorPaths>
          <compilerArgs>
            <arg>-parameters</arg>
            <!-- enable 'all' lint warnings with some exclusions -->
            <arg>-Xlint:all</arg>
            <arg>-Xlint:-options</arg>
            <arg>-Xlint:-serial</arg>
            <arg>-Xlint:-classfile</arg>
            <arg>-Xlint:-processing</arg>
          </compilerArgs>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <argLine> -Xmx1G -XX:+UseG1GC
            -Dpulsar.allocator.pooled=false
            -Dpulsar.allocator.leak_detection=Advanced
            -Dpulsar.allocator.exit_on_oom=false
            ${test.additional.args}
          </argLine>
          <reuseForks>${testReuseFork}</reuseForks>
          <forkCount>${testForkCount}</forkCount>
          <shutdown>kill</shutdown>
          <redirectTestOutputToFile>${redirectTestOutputToFile}</redirectTestOutputToFile>
          <trimStackTrace>false</trimStackTrace>
          <properties>
            <property>
              <name>testRealAWS</name>
              <value>${testRealAWS}</value>
            </property>
            <property>
              <name>testRetryCount</name>
              <value>${testRetryCount}</value>
            </property>
            <property>
              <name>listener</name>
              <value>org.apache.pulsar.tests.PulsarTestListener,org.apache.pulsar.tests.AnnotationListener</value>
            </property>
          </properties>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.commonjava.maven.plugins</groupId>
        <artifactId>directory-maven-plugin</artifactId>
        <version>${directory-maven-plugin.version}</version>
        <executions>
          <execution>
            <id>directories</id>
            <goals>
              <goal>directory-of</goal>
            </goals>
            <phase>initialize</phase>
            <configuration>
              <property>pulsar.basedir</property>
              <project>
                <groupId>org.apache.pulsar</groupId>
                <artifactId>pulsar</artifactId>
              </project>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>${license-maven-plugin.version}</version>
        <configuration>
          <licenseSets>
            <licenseSet>
              <header>${pulsar.basedir}/src/license-header.txt</header>
              <excludes>
                <exclude>LICENSE</exclude>
                <exclude>NOTICE</exclude>
                <exclude>**/*.txt</exclude>
                <exclude>**/*.pem</exclude>
                <exclude>**/*.crt</exclude>
                <exclude>**/*.key</exclude>
                <exclude>**/*.csr</exclude>
                <exclude>**/*.log</exclude>
                <exclude>**/*.patch</exclude>
                <exclude>**/*.avsc</exclude>
                <exclude>**/*.versionsBackup</exclude>
                <exclude>**/*.pyc</exclude>
                <exclude>**/*.graffle</exclude>
                <exclude>**/*.hgrm</exclude>
                <exclude>**/src/main/java/org/apache/bookkeeper/mledger/proto/MLDataFormats.java</exclude>
                <exclude>**/src/main/java/org/apache/pulsar/transaction/coordinator/proto/PulsarTransactionMetadata.java</exclude>
                <exclude>**/src/main/java/org/apache/pulsar/broker/service/schema/proto/SchemaRegistryFormat.java</exclude>
                <exclude>**/src/main/java/org/apache/pulsar/common/api/proto/*.java</exclude>
                <exclude>**/src/test/java/org/apache/pulsar/common/api/proto/*.java</exclude>
                <exclude>**/src/main/java/org/apache/pulsar/io/kinesis/fbs/CompressionType.java</exclude>
                <exclude>**/src/main/java/org/apache/pulsar/io/kinesis/fbs/EncryptionCtx.java</exclude>
                <exclude>**/src/main/java/org/apache/pulsar/io/kinesis/fbs/EncryptionKey.java</exclude>
                <exclude>**/src/main/java/org/apache/pulsar/io/kinesis/fbs/KeyValue.java</exclude>
                <exclude>**/src/main/java/org/apache/pulsar/io/kinesis/fbs/Message.java</exclude>
                <exclude>**/src/main/java/org/apache/bookkeeper/mledger/util/AbstractCASReferenceCounted.java</exclude>
                <exclude>**/ByteBufCodedInputStream.java</exclude>
                <exclude>**/ByteBufCodedOutputStream.java</exclude>
                <exclude>**/ahc.properties</exclude>
                <exclude>bin/proto/*</exclude>
                <exclude>conf/schema_example.conf</exclude>
                <exclude>data/**</exclude>
                <exclude>logs/**</exclude>
                <exclude>**/circe/**</exclude>
                <exclude>pulsar-broker/src/test/resources/authentication/basic/.htpasswd</exclude>
                <exclude>pulsar-client-cpp/lib/checksum/int_types.h</exclude>
                <exclude>pulsar-client-cpp/lib/checksum/gf2.hpp</exclude>
                <exclude>pulsar-client-cpp/lib/checksum/crc32c_sse42.cc</exclude>
                <exclude>pulsar-client-cpp/lib/checksum/crc32c_sse42.h</exclude>
                <exclude>pulsar-client-cpp/lib/checksum/crc32c_sw.cc</exclude>
                <exclude>pulsar-client-cpp/lib/lz4/lz4.*</exclude>
                <exclude>pulsar-client-cpp/lib/PulsarApi.pb.*</exclude>
                <exclude>pulsar-client-cpp/CMakeFiles/**</exclude>
                <exclude>pulsar-client-cpp/**/Makefile</exclude>
                <exclude>pulsar-client-cpp/**/cmake_install.cmake</exclude>
                <exclude>**/CMakeFiles/**</exclude>
                <exclude>**/django/stats/migrations/*.py</exclude>
                <exclude>site2/**</exclude>
                <exclude>generated-site/**</exclude>
                <exclude>.github/*.md</exclude>
                <exclude>**/.idea/**</exclude>
                <exclude>**/generated/**</exclude>
                <exclude>**/zk-3.5-test-data/*</exclude>
              </excludes>
            </licenseSet>
          </licenseSets>
          <mapping>
            <java>JAVADOC_STYLE</java>
            <proto>JAVADOC_STYLE</proto>
            <go>DOUBLESLASH_STYLE</go>
            <conf>SCRIPT_STYLE</conf>
            <ini>SCRIPT_STYLE</ini>
            <yaml>SCRIPT_STYLE</yaml>
            <tf>SCRIPT_STYLE</tf>
            <cfg>SCRIPT_STYLE</cfg>
            <Makefile>SCRIPT_STYLE</Makefile>
            <service>SCRIPT_STYLE</service>
            <cc>JAVADOC_STYLE</cc>
            <md>XML_STYLE</md>
            <txt>SCRIPT_STYLE</txt>
            <scss>JAVADOC_STYLE</scss>
            <Doxyfile>SCRIPT_STYLE</Doxyfile>
            <pulsar>SCRIPT_STYLE</pulsar>
            <pulsar-managed-ledger-admin>SCRIPT_STYLE</pulsar-managed-ledger-admin>
            <pulsar-daemon>SCRIPT_STYLE</pulsar-daemon>
            <pulsar-admin>SCRIPT_STYLE</pulsar-admin>
            <pulsar-perf>SCRIPT_STYLE</pulsar-perf>
            <pulsar-client>SCRIPT_STYLE</pulsar-client>
            <bookkeeper>SCRIPT_STYLE</bookkeeper>
            <tfvars>SCRIPT_STYLE</tfvars>
          </mapping>
        </configuration>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <!-- Other license files -->
            <exclude>licenses/LICENSE-*.txt</exclude>
            <exclude>pulsar-client-cpp/pkg/licenses/LICENSE-*.txt</exclude>
            <exclude>src/assemble/README.bin.txt</exclude>
            <exclude>src/assemble/LICENSE.bin.txt</exclude>
            <exclude>src/assemble/NOTICE.bin.txt</exclude>

            <!-- These files are generated automatically by the Protobuf compiler
                 and are included in source tree for convenience -->
            <exclude>src/main/java/org/apache/bookkeeper/mledger/proto/MLDataFormats.java</exclude>
            <exclude>src/main/java/org/apache/pulsar/broker/service/schema/proto/SchemaRegistryFormat.java</exclude>
            <exclude>bin/proto/MLDataFormats_pb2.py</exclude>

            <!-- These files are generated automatically by the Avro compiler
                 and are included in source tree for convenience -->
            <exclude>**/avro/generated/*.java</exclude>

            <!-- Avro schema definitions - JSON format -->
            <exclude>**/*.avsc</exclude>

            <!-- pulasr-io-connector kinesis : auto generated files from flatbuffer schema -->
            <exclude>src/main/java/org/apache/pulsar/io/kinesis/fbs/CompressionType.java</exclude>
            <exclude>src/main/java/org/apache/pulsar/io/kinesis/fbs/EncryptionCtx.java</exclude>
            <exclude>src/main/java/org/apache/pulsar/io/kinesis/fbs/EncryptionKey.java</exclude>
            <exclude>src/main/java/org/apache/pulsar/io/kinesis/fbs/KeyValue.java</exclude>
            <exclude>src/main/java/org/apache/pulsar/io/kinesis/fbs/Message.java</exclude>

            <!-- Imported from Netty - Apache License v2 -->
            <exclude>src/main/java/org/apache/bookkeeper/mledger/util/AbstractCASReferenceCounted.java</exclude>

            <!-- This is generated during maven build -->
            <exclude>dependency-reduced-pom.xml</exclude>

            <!-- LZ4 code is under BSD 2-clause  -->
            <exclude>pulsar-client-cpp/lib/lz4/lz4.*</exclude>

            <!-- These files is go module configs -->
            <exclude>pulsar-client-go/go.mod</exclude>
            <exclude>pulsar-client-go/go.sum</exclude>
            <exclude>pulsar-function-go/go.mod</exclude>
            <exclude>pulsar-function-go/go.sum</exclude>
            <exclude>pulsar-function-go/examples/go.mod</exclude>
            <exclude>pulsar-function-go/examples/go.sum</exclude>

            <!-- This file is using ZLib license -->
            <exclude>pulsar-client-cpp/lib/checksum/crc32c_sw.cc</exclude>

            <!-- This file is generated by c++ client -->
            <exclude>pulsar-client-cpp/generated/**</exclude>
            <!-- This is a text property file that contains just a class name -->
            <exclude>**/META-INF/services/com.scurrilous.circe.HashProvider</exclude>
            <exclude>**/META-INF/services/io.prestosql.spi.Plugin</exclude>

            <!-- Django generated code -->
            <exclude>**/django/stats/migrations/*.py</exclude>
            <exclude>**/conf/uwsgi_params</exclude>

            <!-- Exclude certificates used for tests -->
            <exclude>**/*.crt</exclude>
            <exclude>**/*.key</exclude>
            <exclude>**/*.csr</exclude>
            <exclude>**/*.pem</exclude>
            <exclude>**/*.json</exclude>
            <exclude>**/*.htpasswd</exclude>
            <exclude>src/test/resources/athenz.conf.test</exclude>
            <exclude>deployment/terraform-ansible/templates/myid</exclude>
            <exclude>certificate-authority/index.txt</exclude>
            <exclude>certificate-authority/serial</exclude>
            <exclude>certificate-authority/README.md</exclude>

            <!-- Exclude ZK test data file -->
            <exclude>**/zk-3.5-test-data/*</exclude>

            <!-- Python requirements files -->
            <exclude>**/requirements.txt</exclude>

            <!-- Configuration Templates -->
            <exclude>conf/schema_example.conf</exclude>
            <exclude>**/templates/*.tpl</exclude>

            <!-- helm files -->
            <exclude>**/.helmignore</exclude>
            <exclude>**/_helpers.tpl</exclude>

            <!-- project ignored files -->
            <exclude>*.md</exclude>
            <exclude>.github/**</exclude>
            <exclude>**/*.nar</exclude>
            <exclude>**/.terraform/**</exclude>
            <exclude>**/.gitignore</exclude>
            <exclude>**/.svn</exclude>
            <exclude>**/*.iws</exclude>
            <exclude>**/*.ipr</exclude>
            <exclude>**/*.iml</exclude>
            <exclude>**/*.cbp</exclude>
            <exclude>**/*.pyc</exclude>
            <exclude>**/.classpath</exclude>
            <exclude>**/.project</exclude>
            <exclude>**/.settings</exclude>
            <exclude>**/target/**</exclude>
            <exclude>**/CMakeFiles/**</exclude>
            <exclude>**/CMakeCache.txt</exclude>
            <exclude>**/cmake_install.cmake</exclude>
            <exclude>pulsar-client-cpp/**/Makefile</exclude>
            <exclude>pulsar-client-cpp/tests/main</exclude>
            <exclude>pulsar-client-cpp/examples/SampleAsyncProducer</exclude>
            <exclude>pulsar-client-cpp/examples/SampleConsumer</exclude>
            <exclude>pulsar-client-cpp/examples/SampleConsumerListener</exclude>
            <exclude>pulsar-client-cpp/examples/SampleProducer</exclude>
            <exclude>pulsar-client-cpp/perf/perfProducer</exclude>
            <exclude>pulsar-client-cpp/perf/perfConsumer</exclude>
            <exclude>**/python/dist/**</exclude>
            <exclude>**/pulsar-client-cpp/pkg/rpm/RPMS/**</exclude>
            <exclude>**/pulsar-client-cpp/pkg/rpm/SOURCES/**</exclude>
            <exclude>**/pulsar-client-cpp/pkg/deb/BUILD/**</exclude>
            <exclude>**/python/wheelhouse/**</exclude>
            <exclude>**/python/MANIFEST</exclude>
            <exclude>**/*.egg-info/**</exclude>
            <exclude>**/*.log</exclude>
            <exclude>**/build/**</exclude>
            <exclude>**/file:/**</exclude>
            <exclude>**/SecurityAuth.audit*</exclude>
            <exclude>**/site2/**</exclude>
            <exclude>**/.idea/**</exclude>
            <exclude>**/*.a</exclude>
            <exclude>**/*.so</exclude>
            <exclude>**/*.so.*</exclude>
            <exclude>**/*.dylib</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>${maven-enforcer-plugin.version}</version>
        <executions>
            <execution>
                <id>enforce-maven</id>
                <goals>
                    <goal>enforce</goal>
                </goals>
              <configuration>
                <rules>
                  <requireJavaVersion>
                    <version>[1.8.0,)</version>
                  </requireJavaVersion>
                  <requireMavenVersion>
                    <version>[3.3.9,)</version>
                  </requireMavenVersion>
                </rules>
              </configuration>
            </execution>
        </executions>
      </plugin>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${maven-assembly-plugin.version}</version>
          <inherited>false</inherited>
          <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>generate-sources</phase>
                  <goals>
                      <goal>single</goal>
                  </goals>
                  <configuration>
                      <skipAssembly>${skipSourceReleaseAssembly}</skipAssembly>
                      <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                      <descriptorRefs>
                          <!-- defined in Apache Parent Pom -->
                          <descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
                      </descriptorRefs>
                      <finalName>apache-pulsar-${project.version}-src</finalName>
                      <appendAssemblyId>false</appendAssemblyId>
                      <formats>
                          <format>tar.gz</format>
                      </formats>
                      <tarLongFileMode>posix</tarLongFileMode>
                  </configuration>
              </execution>
          </executions>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
          <configuration>
            <includes>
                <include>${include}</include>
            </includes>
            <excludes>
                <exclude>**/*$*,${exclude}</exclude>
            </excludes>
            <groups>${groups}</groups>
            <excludedGroups>${excludedGroups}</excludedGroups>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${maven-dependency-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${maven-clean-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven-shade-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${maven-javadoc-plugin.version}</version>
          <configuration>
            <additionalparam>-Xdoclint:none</additionalparam>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${maven-antrun-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</groupId>
          <artifactId>maven-archiver</artifactId>
          <version>${maven-archiver.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.nifi</groupId>
          <artifactId>nifi-nar-maven-plugin</artifactId>
          <version>${nifi-nar-maven-plugin.version}</version>
          <extensions>true</extensions>
          <configuration>
            <finalName>${project.artifactId}-${project.version}</finalName>
          </configuration>
          <executions>
            <execution>
              <id>default-nar</id>
              <phase>package</phase>
              <goals>
                <goal>nar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${maven-assembly-plugin.version}</version>
        </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>${puppycrawl.checkstyle.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <configLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/checkstyle.xml</configLocation>
            <suppressionsLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/suppressions.xml</suppressionsLocation>
            <encoding>UTF-8</encoding>
            <excludes>**/proto/*</excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>pl.project13.maven</groupId>
          <artifactId>git-commit-id-plugin</artifactId>
          <version>${git-commit-id-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${spotbugs-maven-plugin.version}</version>
            <dependencies>
              <dependency>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs</artifactId>
                <version>${spotbugs.version}</version>
              </dependency>
            </dependencies>
        </plugin>
      </plugins>
    </pluginManagement>
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh-external</artifactId>
        <version>${wagon-ssh-external.version}</version>
      </extension>
      <extension>
        <groupId>kr.motd.maven</groupId>
        <artifactId>os-maven-plugin</artifactId>
        <version>${os-maven-plugin.version}</version>
      </extension>
    </extensions>
  </build>

  <profiles>
    <profile>
      <id>jdk11-tests</id>
      <activation>
        <jdk>[11,)</jdk>
      </activation>
      <properties>
        <test.additional.args> --add-opens java.base/jdk.internal.loader=ALL-UNNAMED </test.additional.args>
      </properties>
    </profile>
    <profile>
      <id>coverage</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco-maven-plugin.version}</version>
            <executions>
              <execution>
                <id>pre-unit-test</id>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
              </execution>
              <execution>
                <id>post-test</id>
                <phase>test</phase>
                <goals>
                  <goal>report</goal>
                </goals>
                <configuration>
                  <outputDirectory>target/report</outputDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
              <configLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/checkstyle.xml</configLocation>
              <suppressionsLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/suppressions.xml</suppressionsLocation>
              <encoding>UTF-8</encoding>
              <excludes>**/proto/*</excludes>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <doclint>none</doclint>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <reportSets>
              <reportSet>
                <reports>
                  <report>report</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <profile>
      <id>docker</id>
      <modules>
        <module>docker</module>
        <module>tests</module>
      </modules>
    </profile>

    <profile>
      <!-- Checks style and licensing requirements. This is a good
           idea to run for contributions and for the release process. While it would
           be nice to run always these plugins can considerably slow the build and have
           proven to create unstable builds in our multi-module project and when building
           using multiple threads. The stability issues seen with Checkstyle in multi-module
           builds include false-positives and false negatives. -->
      <id>contrib-check</id>
         <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <executions>
                      <execution>
                          <goals>
                              <goal>check</goal>
                          </goals>
                          <phase>verify</phase>
                      </execution>
                   </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <executions>
                       <execution>
                          <id>check-style</id>
                          <phase>verify</phase>
                         <configuration>
                           <configLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/checkstyle.xml</configLocation>
                           <suppressionsLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/suppressions.xml</suppressionsLocation>
                           <encoding>UTF-8</encoding>
                           <excludes>**/proto/*</excludes>
                         </configuration>
                          <goals>
                             <goal>check</goal>
                          </goals>
                       </execution>
                    </executions>
                </plugin>
             </plugins>
         </build>
    </profile>

    <profile>
      <id>windows</id>
      <activation>
        <os>
          <family>Windows</family>
        </os>
      </activation>
      <properties>
        <rename.netty.native.libs>rename-netty-native-libs.cmd</rename.netty.native.libs>
      </properties>

    <!-- Primary Module profile -->
    </profile>
    <profile>
      <id>main</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>[8,)</jdk>
      </activation>
      <modules>
        <module>buildtools</module>
        <module>testmocks</module>
        <module>managed-ledger</module>
        <module>tiered-storage</module>
        <module>pulsar-common</module>
        <module>pulsar-broker-common</module>
        <module>pulsar-broker</module>
        <module>pulsar-broker-shaded</module>
        <module>pulsar-client-api</module>
        <module>pulsar-client</module>
        <module>pulsar-client-shaded</module>
        <module>pulsar-client-1x-base</module>
        <module>pulsar-client-admin-api</module>
        <module>pulsar-client-admin</module>
        <module>pulsar-client-admin-shaded</module>
        <module>pulsar-client-tools</module>
        <module>pulsar-client-tools-test</module>
        <module>pulsar-client-all</module>
        <module>pulsar-websocket</module>
        <module>pulsar-proxy</module>
        <module>pulsar-discovery-service</module>
        <module>pulsar-zookeeper-utils</module>
        <module>pulsar-testclient</module>
        <module>pulsar-broker-auth-athenz</module>
        <module>pulsar-client-auth-athenz</module>
        <module>pulsar-zookeeper</module>
        <module>pulsar-sql</module>
        <module>dashboard</module>
        <module>pulsar-broker-auth-sasl</module>
        <module>pulsar-client-auth-sasl</module>
        <module>pulsar-config-validation</module>

        <!-- transaction related modules -->
        <module>pulsar-transaction</module>

        <!-- functions-related modules -->
        <module>pulsar-functions</module>

        <!-- connector-related modules -->
        <module>pulsar-io</module>

        <!-- kafka connect avro converter shaded, because version mismatch    -->
        <module>kafka-connect-avro-converter-shaded</module>

        <!-- Bouncy Castle Provider loaders-->
        <module>bouncy-castle</module>

        <module>pulsar-client-messagecrypto-bc</module>

        <module>pulsar-metadata</module>
        <module>jclouds-shaded</module>

        <!-- package management releated modules (begin) -->
        <module>pulsar-package-management</module>
        <!-- package management releated modules (end) -->

        <!-- all these 3 modules should be put at the end in this exact sequence -->
        <module>distribution</module>
        <module>docker</module>
        <module>tests</module>
      </modules>
    </profile>

    <!-- core profile focused of pulsar java modules -->
    <profile>
      <id>core-modules</id>
      <properties>
        <skipSourceReleaseAssembly>true</skipSourceReleaseAssembly>
      </properties>
      <modules>
        <module>buildtools</module>
        <module>testmocks</module>
        <module>managed-ledger</module>
        <module>pulsar-common</module>
        <module>pulsar-broker-common</module>
        <module>pulsar-broker</module>
        <module>pulsar-client-api</module>
        <module>pulsar-client</module>
        <module>pulsar-client-admin-api</module>
        <module>pulsar-client-admin</module>
        <module>pulsar-client-tools</module>
        <module>pulsar-client-tools-test</module>
        <module>pulsar-websocket</module>
        <module>pulsar-proxy</module>
        <module>pulsar-discovery-service</module>
        <module>pulsar-zookeeper-utils</module>
        <module>pulsar-testclient</module>
        <module>pulsar-zookeeper</module>
        <module>pulsar-broker-auth-sasl</module>
        <module>pulsar-client-auth-sasl</module>
        <module>pulsar-config-validation</module>

        <!-- transaction related modules -->
        <module>pulsar-transaction</module>

        <!-- functions-related modules -->
        <module>pulsar-functions</module>

        <!-- connector-related modules -->
        <module>pulsar-io</module>

        <!-- Bouncy Castle Provider loaders-->
        <module>bouncy-castle</module>

        <module>pulsar-client-messagecrypto-bc</module>

        <!-- all these modules should be put at the end in this exact sequence -->
        <module>distribution</module>
        <module>pulsar-metadata</module>

        <!-- package management releated modules (begin) -->
        <module>pulsar-package-management</module>
        <!-- package management releated modules (end) -->
      </modules>
    </profile>

    <!--
         Configure Google Error Prone static code analyser, http://errorprone.info

         consists of 3 maven profiles: errorprone, errorprone-jdk8 and errorprone-jdk11

         usage:
         activate profiles "errorprone" and either "errorprone-jdk8" or "errorprone-jdk11"
         depending on the JVM version

         It is required to add "lombok.addJavaxGeneratedAnnotation = true" to lombok.config
         temporarily before running the analysis.

         usage example:
         echo lombok.addJavaxGeneratedAnnotation=true >> lombok.config
         mvn -Perrorprone,errorprone-jdk11,main compile

         Revisiting warnings and errors is possible in IntelliJ after activating
         errorprone, errorprone-jdk11 and main in "Maven->Profiles" and choosing
         "Build->Rebuild Project"
         Compiling all Pulsar projects in IntelliJ requires some manual tweaks to get the
         shaded projects to pass compilation. In some cases, it's better to mark the project
         ignored in IntelliJ by right clicking the project in IntelliJ's maven view and
         choosing "Ignore Projects". After "Reload All Maven Projects" and a rebuild, it might
         be possible to proceed compiling the remaining projects.
    -->
    <profile>
      <id>errorprone</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <fork>true</fork>
              <meminitial>128m</meminitial>
              <maxmem>1024m</maxmem>
              <optimize>false</optimize>
              <compilerArgs combine.children="append">
                <arg>-XDcompilePolicy=simple</arg>
                <arg>-Xlint:-options</arg>
                <!-- configure Error Prone . Disable some checks that crash the compiler or are annoying -->
                <!-- the following argument must be kept on one line when building with JDK8 -->
                <arg>-Xplugin:ErrorProne -XepExcludedPaths:.*/target/generated-sources/.* -XepDisableWarningsInGeneratedCode -Xep:UnusedVariable:OFF -Xep:FallThrough:OFF -Xep:OverrideThrowableToString:OFF -Xep:UnusedMethod:OFF -Xep:StringSplitter:OFF -Xep:CanonicalDuration:OFF ${errorprone.arguments.jdk11}</arg>
              </compilerArgs>
              <annotationProcessorPaths combine.children="append">
                <path>
                  <groupId>com.google.errorprone</groupId>
                  <artifactId>error_prone_core</artifactId>
                  <version>${errorprone.version}</version>
                </path>
                <path>
                  <groupId>org.mockito</groupId>
                  <artifactId>mockito-errorprone</artifactId>
                  <version>${mockito.version}</version>
                </path>
              </annotationProcessorPaths>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- running errorprone on JDK 8 requires special javac configuration -->
    <profile>
      <id>errorprone-jdk8</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <compilerArgs combine.children="append">
                <arg>
                  -J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${errorprone.javac.version}/javac-${errorprone.javac.version}.jar</arg>
              </compilerArgs>
              <annotationProcessorPaths combine.children="append">
                <path>
                  <groupId>com.google.errorprone</groupId>
                  <artifactId>javac</artifactId>
                  <version>${errorprone.javac.version}</version>
                </path>
              </annotationProcessorPaths>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>errorprone-jdk11</id>
      <dependencies>
        <!-- required on JDK9+ when there is "lombok.addJavaxGeneratedAnnotation = true" in lombok.config -->
        <dependency>
          <groupId>javax.annotation</groupId>
          <artifactId>javax.annotation-api</artifactId>
        </dependency>
      </dependencies>
      <properties>
        <!-- pass the additional properties to -Xplugin:ErrorProne argument defined in errorprone profile -->
        <!-- change configuration of slf4j checks to be more permissive -->
        <errorprone.arguments.jdk11>-Xep:Slf4jDoNotLogMessageOfExceptionExplicitly:WARN -Xep:Slf4jSignOnlyFormat:WARN -Xep:Slf4jFormatShouldBeConst:WARN -Xep:Slf4jLoggerShouldBePrivate:WARN -Xep:Slf4jLoggerShouldBeNonStatic:OFF</errorprone.arguments.jdk11>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <annotationProcessorPaths combine.children="append">
                <!-- add https://github.com/KengoTODA/errorprone-slf4j Error Prone plugin -->
                <!-- detects slf4j misusage. Doesn't run on Java 8, so this is why it's in the errorprone-jdk11 profile -->
                <path>
                  <groupId>jp.skypencil.errorprone.slf4j</groupId>
                  <artifactId>errorprone-slf4j</artifactId>
                  <version>${errorprone-slf4j.version}</version>
                </path>
              </annotationProcessorPaths>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>integrationTests</id>
      <modules>
        <module>tests</module>
      </modules>
    </profile>
  </profiles>

  <repositories>
    <repository>
      <id>central</id>
      <layout>default</layout>
      <url>https://repo1.maven.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>bintray-yahoo-maven</id>
      <name>bintray</name>
      <url>https://yahoo.bintray.com/maven</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>confluent</id>
      <url>http://packages.confluent.io/maven/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

</project>
