<?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.11.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>https://www.apache.org/</url> </organization> <inceptionYear>2017</inceptionYear> <developers> <developer> <organization>Apache Pulsar developers</organization> <organizationUrl>https://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>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <pulsar.broker.compiler.release>${maven.compiler.target}</pulsar.broker.compiler.release> <pulsar.client.compiler.release>8</pulsar.client.compiler.release> <pulsar.client.python.version>2.10.1</pulsar.client.python.version> <!--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> <!-- 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--> --add-opens java.base/java.util=ALL-UNNAMED <!--System Lambda--> --add-opens java.base/sun.net=ALL-UNNAMED <!--netty.DnsResolverUtil--> --add-opens java.management/sun.management=ALL-UNNAMED <!--JvmDefaultGCMetricsLogger & MBeanStatsGenerator--> --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED <!--MBeanStatsGenerator--> </test.additional.args> <testReuseFork>true</testReuseFork> <testForkCount>4</testForkCount> <testRealAWS>false</testRealAWS> <testRetryCount>1</testRetryCount> <testJacocoAgentArgument/> <testHeapDumpPath>/tmp</testHeapDumpPath> <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.15.3</bookkeeper.version> <zookeeper.version>3.8.0</zookeeper.version> <commons-cli.version>1.5.0</commons-cli.version> <commons-text.version>1.10.0</commons-text.version> <snappy.version>1.1.8.4</snappy.version> <!-- ZooKeeper server --> <dropwizardmetrics.version>4.1.12.1</dropwizardmetrics.version> <!-- ZooKeeper server --> <curator.version>5.1.0</curator.version> <netty.version>4.1.77.Final</netty.version> <netty-iouring.version>0.0.15.Final</netty-iouring.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.16.0</prometheus.version> <vertx.version>3.9.8</vertx.version> <rocksdb.version>6.29.4.1</rocksdb.version> <slf4j.version>1.7.32</slf4j.version> <commons.collections4.version>4.4</commons.collections4.version> <log4j2.version>2.18.0</log4j2.version> <bouncycastle.version>1.69</bouncycastle.version> <bouncycastle.bcpkix-fips.version>1.0.6</bouncycastle.bcpkix-fips.version> <bouncycastle.bc-fips.version>1.0.2.3</bouncycastle.bc-fips.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> <docker-maven.version>0.40.2</docker-maven.version> <docker.verbose>true</docker.verbose> <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.version>3.11.2</cassandra.version> <aerospike-client.version>4.4.20</aerospike-client.version> <kafka-client.version>2.7.2</kafka-client.version> <rabbitmq-client.version>5.5.3</rabbitmq-client.version> <aws-sdk.version>1.12.262</aws-sdk.version> <avro.version>1.10.2</avro.version> <joda.version>2.10.10</joda.version> <jclouds.version>2.5.0</jclouds.version> <guice.version>5.1.0</guice.version> <sqlite-jdbc.version>3.36.0.3</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> <openmldb-jdbc.version>0.4.4-hotfix1</openmldb-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> <elasticsearch-java.version>8.5.2</elasticsearch-java.version> <trino.version>363</trino.version> <scala.binary.version>2.13</scala.binary.version> <debezium.version>1.9.7.Final</debezium.version> <debezium.postgresql.version>42.5.0</debezium.postgresql.version> <debezium.mysql.version>8.0.30</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.16.1</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.82</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>3.1.2</caffeine.version> <java-semver.version>0.9.0</java-semver.version> <jline.version>2.14.6</jline.version> <jline3.version>3.21.0</jline3.version> <hppc.version>0.9.1</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.24</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>5.12.1</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.version>5.3.20</spring.version> <apache-http-client.version>4.5.13</apache-http-client.version> <apache-httpcomponents.version>4.4.15</apache-httpcomponents.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> <disruptor.version>3.4.3</disruptor.version> <zstd-jni.version>1.5.2-3</zstd-jni.version> <netty-reactive-streams.version>2.0.6</netty-reactive-streams.version> <!-- test dependencies --> <testcontainers.version>1.17.6</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.13</docker-java.version> <kerby.version>1.1.1</kerby.version> <testng.version>7.6.1</testng.version> <mockito.version>3.12.4</mockito.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.2.0</awaitility.version> <reload4j.version>1.2.22</reload4j.version> <jettison.version>1.5.1</jettison.version> <wiremock.version>2.33.2</wiremock.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.1</license-maven-plugin.version> <directory-maven-plugin.version>1.0</directory-maven-plugin.version> <maven-enforcer-plugin.version>3.1.0</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.10.1</maven-compiler-plugin.version> <maven-dependency-plugin.version>3.3.0</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.7.0</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> <extra-enforcer-rules.version>1.6.1</extra-enforcer-rules.version> <lombok.plugin.version>1.18.20.0</lombok.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.jline</groupId> <artifactId>jline</artifactId> <version>${jline3.version}</version> </dependency> <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>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.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> <exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </exclusion> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-tcnative</artifactId> </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> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </exclusion> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-tcnative</artifactId> </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>io.netty.incubator</groupId> <artifactId>netty-incubator-transport-classes-io_uring</artifactId> <version>${netty-iouring.version}</version> </dependency> <dependency> <groupId>io.netty.incubator</groupId> <artifactId>netty-incubator-transport-native-io_uring</artifactId> <version>${netty-iouring.version}</version> </dependency> <dependency> <groupId>io.netty.incubator</groupId> <artifactId>netty-incubator-transport-native-io_uring</artifactId> <version>${netty-iouring.version}</version> <classifier>linux-x86_64</classifier> </dependency> <dependency> <groupId>io.netty.incubator</groupId> <artifactId>netty-incubator-transport-native-io_uring</artifactId> <version>${netty-iouring.version}</version> <classifier>linux-aarch_64</classifier> </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.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>${commons-text.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>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>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>${commons.collections4.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>co.elastic.clients</groupId> <artifactId>elasticsearch-java</artifactId> <version>${elasticsearch-java.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>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>${apache-httpcomponents.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.github.luben</groupId> <artifactId>zstd-jni</artifactId> <version>${zstd-jni.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> </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.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> </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> <arg>-Xpkginfo:always</arg> </compilerArgs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>${testJacocoAgentArgument} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${testHeapDumpPath} -XX:+ExitOnOutOfMemoryError -Xmx1G -XX:+UseZGC -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>**/django/stats/migrations/*.py</exclude> <exclude>site2/**</exclude> <exclude>generated-site/**</exclude> <exclude>**/*.md</exclude> <exclude>**/.idea/**</exclude> <exclude>**/.mvn/**</exclude> <exclude>**/generated/**</exclude> <exclude>**/zk-3.5-test-data/*</exclude> </excludes> </licenseSet> </licenseSets> <mapping> <java>SLASHSTAR_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> <pulsar-shell>SCRIPT_STYLE</pulsar-shell> <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>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> <!-- 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 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.trino.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>**/*.log</exclude> <exclude>**/build/**</exclude> <exclude>**/file:/**</exclude> <exclude>**/SecurityAuth.audit*</exclude> <exclude>**/site2/**</exclude> <exclude>**/.idea/**</exclude> <exclude>**/.mvn/**</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>17</version> <message>Java 17+ is required to build Pulsar.</message> </requireJavaVersion> <requireMavenVersion> <version>3.6.1</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> <configuration> <release>${pulsar.broker.compiler.release}</release> </configuration> </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> <sourcepath>${project.build.directory}/generated-sources/delombok</sourcepath> </configuration> </plugin> <plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> <version>${lombok.plugin.version}</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>delombok</goal> </goals> </execution> </executions> </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> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker-maven.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> <!-- used for running integration tests on Java 8 --> <id>integration-test-java8</id> <activation> <jdk>1.8</jdk> </activation> <properties> <test.additional.args/> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <pulsar.broker.compiler.release></pulsar.broker.compiler.release> <pulsar.client.compiler.release></pulsar.client.compiler.release> </properties> </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> <excludes> <exclude>META-INF/**</exclude> </excludes> </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-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-api</module> <module>pulsar-client-tools</module> <module>pulsar-client-tools-customcommand-example</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-api</module> <module>pulsar-client-tools</module> <module>pulsar-client-tools-customcommand-example</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 usage: activate profile "errorprone" 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,main compile Revisiting warnings and errors is possible in IntelliJ after activating errorprone 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 -Xep:Slf4jDoNotLogMessageOfExceptionExplicitly:WARN -Xep:Slf4jSignOnlyFormat:WARN -Xep:Slf4jFormatShouldBeConst:WARN -Xep:Slf4jLoggerShouldBePrivate:WARN -Xep:Slf4jLoggerShouldBeNonStatic:OFF</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> <!-- add https://github.com/KengoTODA/errorprone-slf4j Error Prone plugin --> <!-- detects slf4j misusage. --> <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>pulsar-io-tests</id> <modules> <module>pulsar-io</module> </modules> </profile> <profile> <id>pulsar-sql-tests</id> <modules> <module>pulsar-sql</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>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>