<?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>23</version>
  </parent>

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

  <version>2.10.3</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>GitHub Actions</system>
    <url>https://github.com/apache/pulsar/actions</url>
  </ciManagement>

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

  <properties>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>

    <!--config keys to configure test selection -->
    <include>**/Test*.java,**/*Test.java,**/*Tests.java,**/*TestCase.java</include>
    <exclude/>
    <groups/>
    <excludedGroups>quarantine</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>
    <testJacocoAgentArgument></testJacocoAgentArgument>
    <docker.organization>apachepulsar</docker.organization>
    <skipSourceReleaseAssembly>false</skipSourceReleaseAssembly>
    <skipBuildDistribution>false</skipBuildDistribution>
    <shadePluginPhase>package</shadePluginPhase>
    <narPluginPhase>package</narPluginPhase>

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

    <bookkeeper.version>4.14.5</bookkeeper.version>
    <zookeeper.version>3.6.3</zookeeper.version>
    <commons-cli.version>1.5.0</commons-cli.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.86.Final</netty.version>
    <jetty.version>9.4.48.v20220622</jetty.version>
    <conscrypt.version>2.5.2</conscrypt.version>
    <jersey.version>2.34</jersey.version>
    <athenz.version>1.10.50</athenz.version>
    <prometheus.version>0.5.0</prometheus.version>
    <vertx.version>3.9.8</vertx.version>
    <rocksdb.version>6.10.2</rocksdb.version>
    <slf4j.version>1.7.32</slf4j.version>
    <commons.collections.version>3.2.2</commons.collections.version>
    <log4j2.version>2.18.0</log4j2.version>
    <bouncycastle.version>1.69</bouncycastle.version>
    <bouncycastlefips.version>1.0.2</bouncycastlefips.version>
    <jackson.version>2.13.4.20221013</jackson.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.19.6</protobuf3.version>
    <protoc3.version>${protobuf3.version}</protoc3.version>
    <grpc.version>1.45.1</grpc.version>
    <google-http-client.version>1.41.0</google-http-client.version>
    <perfmark.version>0.19.0</perfmark.version>
    <protoc-gen-grpc-java.version>${grpc.version}</protoc-gen-grpc-java.version>
    <gson.version>2.8.9</gson.version>
    <system-lambda.version>1.2.1</system-lambda.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.20</aerospike-client.version>
    <kafka-client.version>2.7.2</kafka-client.version>
    <rabbitmq-client.version>5.1.1</rabbitmq-client.version>
    <aws-sdk.version>1.12.262</aws-sdk.version>
    <avro.version>1.10.2</avro.version>
    <joda.version>2.10.5</joda.version>
    <jclouds.version>2.5.0</jclouds.version>
    <guice.version>5.1.0</guice.version>
    <sqlite-jdbc.version>3.8.11.2</sqlite-jdbc.version>
    <mysql-jdbc.version>8.0.11</mysql-jdbc.version>
    <postgresql-jdbc.version>42.4.1</postgresql-jdbc.version>
    <clickhouse-jdbc.version>0.3.2</clickhouse-jdbc.version>
    <mariadb-jdbc.version>2.7.5</mariadb-jdbc.version>
    <hdfs-offload-version3>3.3.3</hdfs-offload-version3>
    <json-smart.version>2.4.7</json-smart.version>
    <opensearch.version>1.2.4</opensearch.version>
    <presto.version>332</presto.version>
    <scala.binary.version>2.13</scala.binary.version>
    <scala-library.version>2.13.10</scala-library.version>
    <debezium.version>1.7.2.Final</debezium.version>
    <debezium.postgresql.version>42.4.1</debezium.postgresql.version>
    <debezium.mysql.version>8.0.28</debezium.mysql.version>
    <jsonwebtoken.version>0.11.1</jsonwebtoken.version>
    <opencensus.version>0.28.0</opencensus.version>
    <hbase.version>2.4.9</hbase.version>
    <guava.version>31.0.1-jre</guava.version>
    <jcip.version>1.0</jcip.version>
    <prometheus-jmx.version>0.14.0</prometheus-jmx.version>
    <confluent.version>7.0.1</confluent.version>
    <kafka.confluent.schemaregistryclient.version>5.3.0</kafka.confluent.schemaregistryclient.version>
    <kafka.confluent.avroserializer.version>5.3.0</kafka.confluent.avroserializer.version>
    <aircompressor.version>0.20</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.8.0</commons-io.version>
    <commons-codec.version>1.15</commons-codec.version>
    <javax.ws.rs-api.version>2.1</javax.ws.rs-api.version>
    <hdrHistogram.version>2.1.9</hdrHistogram.version>
    <javax.servlet-api>3.1.0</javax.servlet-api>
    <caffeine.version>2.9.1</caffeine.version>
    <java-semver.version>0.9.0</java-semver.version>
    <jline.version>2.14.6</jline.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.22</lombok.version>
    <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
    <jaxb-api>2.3.1</jaxb-api>
    <javax.activation.version>1.2.0</javax.activation.version>
    <jakarta.activation.version>1.2.2</jakarta.activation.version>
    <jakarta.xml.bind.version>2.3.3</jakarta.xml.bind.version>
    <jakarta.validation.version>2.0.2</jakarta.validation.version>
    <jna.version>4.2.0</jna.version>
    <kubernetesclient.version>12.0.1</kubernetesclient.version>
    <okhttp3.version>4.9.3</okhttp3.version>
    <!-- use okio version that matches the okhttp3 version -->
    <okio.version>2.8.0</okio.version>
    <!-- override kotlin-stdlib used by okio in order to address CVE-2020-29582 -->
    <kotlin-stdlib.version>1.4.32</kotlin-stdlib.version>
    <nsq-client.version>1.0</nsq-client.version>
    <cron-utils.version>9.1.6</cron-utils.version>
    <spring-context.version>5.3.19</spring-context.version>
    <apache-http-client.version>4.5.13</apache-http-client.version>
    <jetcd.version>0.5.11</jetcd.version>
    <snakeyaml.version>1.32</snakeyaml.version>
    <ant.version>1.10.12</ant.version>
    <seancfoley.ipaddress.version>5.3.3</seancfoley.ipaddress.version>
    <netty-reactive-streams.version>2.0.6</netty-reactive-streams.version>

    <!-- test dependencies -->
    <cassandra.version>3.6.0</cassandra.version>
    <disruptor.version>3.4.0</disruptor.version>
    <testcontainers.version>1.15.3</testcontainers.version>
    <hamcrest.version>2.2</hamcrest.version>

    <!-- Set docker-java.version to the version of docker-java used in Testcontainers -->
    <docker-java.version>3.2.8</docker-java.version>
    <kerby.version>1.1.1</kerby.version>
    <testng.version>7.3.0</testng.version>
    <junit4.version>4.13.1</junit4.version>
    <mockito.version>3.12.4</mockito.version>
    <powermock.version>2.0.9</powermock.version>
    <javassist.version>3.25.0-GA</javassist.version>
    <skyscreamer.version>1.5.0</skyscreamer.version>
    <objenesis.version>3.1</objenesis.version>
    <awaitility.version>4.0.3</awaitility.version>
    <reload4j.version>1.2.22</reload4j.version>
    <jettison.version>1.5.1</jettison.version>

    <!-- Plugin dependencies -->
    <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
    <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
    <license-maven-plugin.version>4.0.rc2</license-maven-plugin.version>
    <directory-maven-plugin.version>1.0</directory-maven-plugin.version>
    <maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
    <!-- surefire.version is defined in apache parent pom -->
    <!-- it is used for surefire, failsafe and surefire-report plugins -->
    <!-- do not upgrade surefire.version to 3.0.0-M5 since it runs slowly and breaks tests. -->
    <surefire.version>3.0.0-M3</surefire.version>
    <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
    <maven-compiler-plugin.version>3.9.0</maven-compiler-plugin.version>
    <maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>
    <maven-modernizer-plugin.version>2.3.0</maven-modernizer-plugin.version>
    <maven-shade-plugin>3.4.0</maven-shade-plugin>
    <maven-antrun-plugin.version>3.0.0</maven-antrun-plugin.version>
    <properties-maven-plugin.version>1.0.0</properties-maven-plugin.version>
    <nifi-nar-maven-plugin.version>1.2.0</nifi-nar-maven-plugin.version>
    <maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
    <git-commit-id-plugin.version>4.0.2</git-commit-id-plugin.version>
    <wagon-ssh-external.version>3.4.3</wagon-ssh-external.version>
    <os-maven-plugin.version>1.4.1.Final</os-maven-plugin.version>
    <jacoco-maven-plugin.version>0.8.7</jacoco-maven-plugin.version>
    <spotbugs-maven-plugin.version>4.2.2</spotbugs-maven-plugin.version>
    <spotbugs.version>4.2.2</spotbugs.version>
    <errorprone.version>2.5.1</errorprone.version>
    <errorprone.javac.version>9+181-r4173-1</errorprone.javac.version>
    <errorprone-slf4j.version>0.1.4</errorprone-slf4j.version>
    <j2objc-annotations.version>1.3</j2objc-annotations.version>
    <lightproto-maven-plugin.version>0.4</lightproto-maven-plugin.version>
    <dependency-check-maven.version>7.1.0</dependency-check-maven.version>
    <roaringbitmap.version>0.9.15</roaringbitmap.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>
          <exclusion>
            <groupId>com.typesafe.netty</groupId>
            <artifactId>netty-reactive-streams</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.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>${hamcrest.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit4.version}</version>
      </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.mockito</groupId>
        <artifactId>mockito-inline</artifactId>
        <version>${mockito.version}</version>
      </dependency>

      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-reflect</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>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>${commons-cli.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.bookkeeper</groupId>
        <artifactId>cpu-affinity</artifactId>
        <version>${bookkeeper.version}</version>
      </dependency>

      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-core</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-web</artifactId>
        <version>${vertx.version}</version>
      </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>
          <exclusion>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-testing</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-okhttp</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.squareup.okhttp</groupId>
            <artifactId>okhttp</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.squareup.okio</groupId>
            <artifactId>okio</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>
          <exclusion>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-okhttp</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.squareup.okhttp</groupId>
            <artifactId>okhttp</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.squareup.okio</groupId>
            <artifactId>okio</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.inferred</groupId>
            <artifactId>freebuilder</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-alpn-conscrypt-server</artifactId>
        <version>${jetty.version}</version>
      </dependency>

      <dependency>
        <groupId>org.conscrypt</groupId>
        <artifactId>conscrypt-openjdk-uber</artifactId>
        <version>${conscrypt.version}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-bom</artifactId>
        <version>${jetty.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-bom</artifactId>
        <version>${netty.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </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>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>${guice.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.inject.extensions</groupId>
        <artifactId>guice-assistedinject</artifactId>
        <version>${guice.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>
        <exclusions>
          <exclusion>
            <groupId>jakarta.activation</groupId>
            <artifactId>jakarta.activation-api</artifactId>
          </exclusion>
        </exclusions>
      </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.github.docker-java</groupId>
        <artifactId>docker-java-api</artifactId>
        <version>${docker-java.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.docker-java</groupId>
        <artifactId>docker-java-transport-zerodep</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>
        <groupId>org.codehaus.jettison</groupId>
        <artifactId>jettison</artifactId>
        <version>${jettison.version}</version>
      </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-core</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>io.etcd</groupId>
        <artifactId>jetcd-core</artifactId>
        <version>${jetcd.version}</version>
      </dependency>

      <dependency>
        <groupId>io.etcd</groupId>
        <artifactId>jetcd-test</artifactId>
        <version>${jetcd.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>net.jodah</groupId>
        <artifactId>typetools</artifactId>
        <version>${typetools.version}</version>
      </dependency>

      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-bom</artifactId>
        <version>${grpc.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </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>
          <exclusion>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-okhttp</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.squareup.okhttp</groupId>
            <artifactId>okhttp</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.squareup.okio</groupId>
            <artifactId>okio</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client</artifactId>
        <version>${google-http-client.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson2</artifactId>
        <version>${google-http-client.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-gson</artifactId>
        <version>${google-http-client.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>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-bom</artifactId>
        <version>${testcontainers.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </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>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>${jakarta.xml.bind.version}</version>
      </dependency>

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

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

      <dependency>
        <groupId>jakarta.activation</groupId>
        <artifactId>jakarta.activation-api</artifactId>
        <version>${jakarta.activation.version}</version>
      </dependency>

      <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
        <version>${jakarta.validation.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-http-util</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.opensearch.client</groupId>
        <artifactId>opensearch-rest-high-level-client</artifactId>
        <version>${opensearch.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>

      <dependency>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-annotations</artifactId>
        <version>${spotbugs.version}</version>
        <scope>provided</scope>
        <optional>true</optional>
      </dependency>

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

      <dependency>
        <groupId>com.google.j2objc</groupId>
        <artifactId>j2objc-annotations</artifactId>
        <version>${j2objc-annotations.version}</version>
      </dependency>

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

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

      <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>${okhttp3.version}</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp-urlconnection</artifactId>
        <version>${okhttp3.version}</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>logging-interceptor</artifactId>
        <version>${okhttp3.version}</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.okio</groupId>
        <artifactId>okio</artifactId>
        <version>${okio.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib</artifactId>
        <version>${kotlin-stdlib.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-common</artifactId>
        <version>${kotlin-stdlib.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
        <version>${kotlin-stdlib.version}</version>
      </dependency>

      <dependency>
          <groupId>com.typesafe.netty</groupId>
          <artifactId>netty-reactive-streams</artifactId>
          <version>${netty-reactive-streams.version}</version>
      </dependency>

      <dependency>
        <groupId>ch.qos.reload4j</groupId>
        <artifactId>reload4j</artifactId>
        <version>${reload4j.version}</version>
      </dependency>

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

      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala-library.version}</version>
      </dependency>

      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-reflect</artifactId>
        <version>${scala-library.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.mockito</groupId>
      <artifactId>mockito-inline</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>com.github.stefanbirkner</groupId>
      <artifactId>system-lambda</artifactId>
      <version>${system-lambda.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-reflect</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>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</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>
        <exclusion>
          <groupId>org.apache.zookeeper</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>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <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>${testJacocoAgentArgument} -Xmx1G -XX:+UseG1GC
            -Dpulsar.allocator.pooled=true
            -Dpulsar.allocator.leak_detection=Advanced
            -Dpulsar.allocator.exit_on_oom=false
            -Dpulsar.allocator.out_of_memory_policy=FallbackToHeap
            -Dio.netty.tryReflectionSetAccessible=true
            ${test.additional.args}
          </argLine>
          <reuseForks>${testReuseFork}</reuseForks>
          <forkCount>${testForkCount}</forkCount>
          <shutdown>kill</shutdown>
          <redirectTestOutputToFile>${redirectTestOutputToFile}</redirectTestOutputToFile>
          <trimStackTrace>false</trimStackTrace>
          <systemPropertyVariables>
            <testRealAWS>${testRealAWS}</testRealAWS>
            <testRetryCount>${testRetryCount}</testRetryCount>
          </systemPropertyVariables>
          <properties>
            <property>
              <name>listener</name>
              <value>org.apache.pulsar.tests.PulsarTestListener,org.apache.pulsar.tests.AnnotationListener,org.apache.pulsar.tests.FailFastNotifier,org.apache.pulsar.tests.MockitoCleanupListener,org.apache.pulsar.tests.FastThreadLocalCleanupListener,org.apache.pulsar.tests.ThreadLeakDetectorListener</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>
            <exclude>src/test/resources/*.txt</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>
          <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>
                      <descriptors>
                        <descriptor>src/assembly-source-package.xml</descriptor>
                      </descriptors>
                      <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-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.gaul</groupId>
          <artifactId>modernizer-maven-plugin</artifactId>
          <version>${maven-modernizer-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <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>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven-shade-plugin}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <doclint>none</doclint>
            <notimestamp>true</notimestamp>
          </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.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>${narPluginPhase}</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>
            <includeTestSourceDirectory>true</includeTestSourceDirectory>
            <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>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>properties-maven-plugin</artifactId>
          <version>${properties-maven-plugin.version}</version>
        </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</id>
      <activation>
        <jdk>[11,)</jdk>
      </activation>
      <properties>
        <!-- prevents silent NoSuchMethodErrors that happen at runtime on Java 8 -->
        <!-- see https://github.com/apache/pulsar/issues/8445 -->
        <maven.compiler.release>${maven.compiler.target}</maven.compiler.release>
        <!-- required for running tests on JDK11+ -->
        <test.additional.args>
          --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
          --add-opens java.base/java.lang=ALL-UNNAMED <!--Mockito-->
          --add-opens java.base/java.io=ALL-UNNAMED <!--Bookkeeper NativeIO -->
        </test.additional.args>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                <!-- for some reason, setting maven.compiler.release property alone doesn't work -->
                <release>${maven.compiler.release}</release>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>coverage</id>
      <properties>
        <testJacocoAgentArgument>@{jacoco.agent.argument}</testJacocoAgentArgument>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco-maven-plugin.version}</version>
            <configuration>
              <propertyName>jacoco.agent.argument</propertyName>
            </configuration>
            <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>

    </profile>
    <!-- Primary Module profile -->
    <profile>
      <id>main</id>
      <activation>
        <!-- always activate this profile by default. Use "-main" or "!main" in the "-P" parameter to exclude it -->
        <!-- for example use "-Pcore-modules,-main" to activate the core-modules profile -->
        <property>
          <name>disableMainProfile</name>
          <!-- always active unless true is passed as a value -->
          <value>!true</value>
        </property>
      </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-testclient</module>
        <module>pulsar-broker-auth-athenz</module>
        <module>pulsar-client-auth-athenz</module>
        <module>pulsar-sql</module>
        <module>pulsar-broker-auth-sasl</module>
        <module>pulsar-client-auth-sasl</module>
        <module>pulsar-config-validation</module>

        <module>structured-event-log</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-testclient</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>
      <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>
    <profile>
      <id>skip-all</id>
      <properties>
        <maven.main.skip>true</maven.main.skip>
        <maven.test.skip>true</maven.test.skip>
        <skipSourceReleaseAssembly>true</skipSourceReleaseAssembly>
        <skipBuildDistribution>true</skipBuildDistribution>
        <spotbugs.skip>true</spotbugs.skip>
        <license.skip>true</license.skip>
        <rat.skip>true</rat.skip>
        <assembly.skipAssembly>true</assembly.skipAssembly>
        <shadePluginPhase>none</shadePluginPhase>
        <narPluginPhase>none</narPluginPhase>
        <skipDocker>true</skipDocker>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <executions>
              <execution>
                <id>default-testCompile</id>
                <goals>
                  <goal>testCompile</goal>
                </goals>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <executions>
              <execution>
                <id>default-test</id>
                <goals>
                  <goal>test</goal>
                </goals>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>owasp-dependency-check</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <version>${dependency-check-maven.version}</version>
            <configuration>
              <suppressionFiles>
                <suppressionFile>${pulsar.basedir}/src/owasp-dependency-check-false-positives.xml</suppressionFile>
                <suppressionFile>${pulsar.basedir}/src/owasp-dependency-check-suppressions.xml</suppressionFile>
              </suppressionFiles>
              <failBuildOnCVSS>7</failBuildOnCVSS>
              <msbuildAnalyzerEnabled>false</msbuildAnalyzerEnabled>
              <nodeAnalyzerEnabled>false</nodeAnalyzerEnabled>
              <yarnAuditAnalyzerEnabled>false</yarnAuditAnalyzerEnabled>
              <pyDistributionAnalyzerEnabled>false</pyDistributionAnalyzerEnabled>
              <pyPackageAnalyzerEnabled>false</pyPackageAnalyzerEnabled>
              <pipAnalyzerEnabled>false</pipAnalyzerEnabled>
              <pipfileAnalyzerEnabled>false</pipfileAnalyzerEnabled>
              <retireJsAnalyzerEnabled>false</retireJsAnalyzerEnabled>
              <msbuildAnalyzerEnabled>false</msbuildAnalyzerEnabled>
              <mixAuditAnalyzerEnabled>false</mixAuditAnalyzerEnabled>
              <nugetconfAnalyzerEnabled>false</nugetconfAnalyzerEnabled>
              <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>aggregate</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <version>${dependency-check-maven.version}</version>
            <reportSets>
              <reportSet>
                <reports>
                  <report>aggregate</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <profile>
      <id>mac-apple-silicon</id>
      <activation>
        <os>
          <family>mac</family>
          <arch>aarch64</arch>
        </os>
      </activation>
      <properties>
        <os.detected.classifier>osx-x86_64</os.detected.classifier>
      </properties>
    </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>confluent</id>
      <url>https://packages.confluent.io/maven/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>maven.restlet.org</id>
      <name>maven.restlet.org</name>
      <url>https://maven.restlet.talend.com</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

</project>
