| <?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.0-SNAPSHOT</version> |
| |
| <name>Pulsar</name> |
| <description>Pulsar is a distributed pub-sub messaging platform with a very |
| flexible messaging model and an intuitive client API.</description> |
| <url>https://github.com/apache/pulsar</url> |
| |
| <organization> |
| <name>Apache Software Foundation</name> |
| <url>http://www.apache.org/</url> |
| </organization> |
| <inceptionYear>2017</inceptionYear> |
| |
| <developers> |
| <developer> |
| <organization>Apache Pulsar developers</organization> |
| <organizationUrl>http://pulsar.apache.org/</organizationUrl> |
| </developer> |
| </developers> |
| |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| |
| <scm> |
| <url>https://github.com/apache/pulsar</url> |
| <connection>scm:git:https://github.com/apache/pulsar.git</connection> |
| <developerConnection>scm:git:ssh://git@github.com:apache/pulsar.git</developerConnection> |
| </scm> |
| |
| <ciManagement> |
| <system>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 congiure 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> |
| <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.3</bookkeeper.version> |
| <zookeeper.version>3.6.3</zookeeper.version> |
| <snappy.version>1.1.7</snappy.version> <!-- ZooKeeper server --> |
| <dropwizardmetrics.version>3.2.5</dropwizardmetrics.version> <!-- ZooKeeper server --> |
| <curator.version>5.1.0</curator.version> |
| <netty.version>4.1.72.Final</netty.version> |
| <netty-tc-native.version>2.0.46.Final</netty-tc-native.version> |
| <jetty.version>9.4.43.v20210629</jetty.version> |
| <conscrypt.version>2.5.2</conscrypt.version> |
| <jersey.version>2.34</jersey.version> |
| <athenz.version>1.10.9</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.17.1</log4j2.version> |
| <bouncycastle.version>1.69</bouncycastle.version> |
| <bouncycastlefips.version>1.0.2</bouncycastlefips.version> |
| <jackson.version>2.12.3</jackson.version> |
| <jackson.databind.version>2.12.3</jackson.databind.version> |
| <reflections.version>0.9.11</reflections.version> |
| <swagger.version>1.6.2</swagger.version> |
| <puppycrawl.checkstyle.version>8.37</puppycrawl.checkstyle.version> |
| <dockerfile-maven.version>1.4.13</dockerfile-maven.version> |
| <typetools.version>0.5.0</typetools.version> |
| <protobuf3.version>3.11.4</protobuf3.version> |
| <protoc3.version>${protobuf3.version}</protoc3.version> |
| <grpc.version>1.33.0</grpc.version> |
| <perfmark.version>0.19.0</perfmark.version> |
| <protoc-gen-grpc-java.version>${grpc.version}</protoc-gen-grpc-java.version> |
| <gson.version>2.8.9</gson.version> |
| <sketches.version>0.8.3</sketches.version> |
| <hbc-core.version>2.2.0</hbc-core.version> |
| <cassandra-driver-core.version>3.6.0</cassandra-driver-core.version> |
| <aerospike-client.version>4.4.8</aerospike-client.version> |
| <kafka-client.version>2.7.0</kafka-client.version> |
| <rabbitmq-client.version>5.1.1</rabbitmq-client.version> |
| <aws-sdk.version>1.11.774</aws-sdk.version> |
| <avro.version>1.10.2</avro.version> |
| <joda.version>2.10.5</joda.version> |
| <jclouds.version>2.3.0</jclouds.version> |
| <sqlite-jdbc.version>3.8.11.2</sqlite-jdbc.version> |
| <mysql-jdbc.version>8.0.11</mysql-jdbc.version> |
| <postgresql-jdbc.version>42.2.12</postgresql-jdbc.version> |
| <clickhouse-jdbc.version>0.2.4</clickhouse-jdbc.version> |
| <mariadb-jdbc.version>2.6.0</mariadb-jdbc.version> |
| <hdfs-offload-version3>3.3.0</hdfs-offload-version3> |
| <elasticsearch.version>7.9.1</elasticsearch.version> |
| <presto.version>332</presto.version> |
| <scala.binary.version>2.13</scala.binary.version> |
| <scala-library.version>2.13.6</scala-library.version> |
| <debezium.version>1.7.1.Final</debezium.version> |
| <jsonwebtoken.version>0.11.1</jsonwebtoken.version> |
| <opencensus.version>0.18.0</opencensus.version> |
| <hbase.version>2.3.0</hbase.version> |
| <guava.version>30.1-jre</guava.version> |
| <jcip.version>1.0</jcip.version> |
| <prometheus-jmx.version>0.14.0</prometheus-jmx.version> |
| <confluent.version>5.3.2</confluent.version> |
| <kafka.confluent.schemaregistryclient.version>5.3.0</kafka.confluent.schemaregistryclient.version> |
| <kafka.confluent.avroserializer.version>5.3.0</kafka.confluent.avroserializer.version> |
| <kafka-avro-convert-jackson.version>1.9.13</kafka-avro-convert-jackson.version> |
| <aircompressor.version>0.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> |
| <log4j.version>1.2.17</log4j.version> |
| <hdrHistogram.version>2.1.9</hdrHistogram.version> |
| <javax.servlet-api>3.1.0</javax.servlet-api> |
| <caffeine.version>2.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.3</cron-utils.version> |
| <spring-context.version>5.3.1</spring-context.version> |
| <apache-http-client.version>4.5.13</apache-http-client.version> |
| |
| <!-- test dependencies --> |
| <cassandra.version>3.6.0</cassandra.version> |
| <disruptor.version>3.4.0</disruptor.version> |
| <testcontainers.version>1.15.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> |
| <failsafe.version>2.3.1</failsafe.version> |
| <skyscreamer.version>1.5.0</skyscreamer.version> |
| <objenesis.version>3.1</objenesis.version> |
| <awaitility.version>4.0.3</awaitility.version> |
| |
| <!-- Plugin dependencies --> |
| <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version> |
| <exec-maven-plugin.version>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-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.2.4</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.6</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>6.1.6</dependency-check-maven.version> |
| |
| <!-- Used to configure rename.netty.native. Libs --> |
| <rename.netty.native.libs>rename-netty-native-libs.sh</rename.netty.native.libs> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| |
| <dependency> |
| <groupId>org.asynchttpclient</groupId> |
| <artifactId>async-http-client</artifactId> |
| <version>${asynchttpclient.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.testng</groupId> |
| <artifactId>testng</artifactId> |
| <version>${testng.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.yaml</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.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.powermock</groupId> |
| <artifactId>powermock-api-mockito2</artifactId> |
| <version>${powermock.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.powermock</groupId> |
| <artifactId>powermock-module-testng</artifactId> |
| <version>${powermock.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.zookeeper</groupId> |
| <artifactId>zookeeper</artifactId> |
| <version>${zookeeper.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>slf4j-log4j12</artifactId> |
| <groupId>org.slf4j</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.zookeeper</groupId> |
| <artifactId>zookeeper-jute</artifactId> |
| <version>${zookeeper.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-core</artifactId> |
| <version>${dropwizardmetrics.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-graphite</artifactId> |
| <version>${dropwizardmetrics.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-jvm</artifactId> |
| <version>${dropwizardmetrics.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.xerial.snappy</groupId> |
| <artifactId>snappy-java</artifactId> |
| <version>${snappy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.zookeeper</groupId> |
| <artifactId>zookeeper</artifactId> |
| <classifier>tests</classifier> |
| <version>${zookeeper.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>slf4j-log4j12</artifactId> |
| <groupId>org.slf4j</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.bookkeeper</groupId> |
| <artifactId>bookkeeper-server</artifactId> |
| <version>${bookkeeper.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>slf4j-log4j12</artifactId> |
| <groupId>org.slf4j</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jboss.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <!-- exclude all netty dependencies, use whatever pulsar is using --> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.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-servlet</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlets</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-proxy</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-bom</artifactId> |
| <version>${netty.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-tcnative-boringssl-static</artifactId> |
| <version>${netty-tc-native.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-codec-haproxy</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.beust</groupId> |
| <artifactId>jcommander</artifactId> |
| <version>${jcommander.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${commons-lang3.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| <version>${commons-compress.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-configuration</groupId> |
| <artifactId>commons-configuration</artifactId> |
| <version>${commons-configuration.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons-io.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jul-to-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-bom</artifactId> |
| <version>${log4j2.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| <version>${commons-codec.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-server</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-client</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-servlet-core</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-servlet</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>javax.ws.rs</groupId> |
| <artifactId>javax.ws.rs-api</artifactId> |
| <version>${javax.ws.rs-api.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-json-jackson</artifactId> |
| <version>${jersey.version}</version> |
| <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> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| <version>${log4j.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.sun.jmx</groupId> |
| <artifactId>jmxri</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.hdrhistogram</groupId> |
| <artifactId>HdrHistogram</artifactId> |
| <version>${hdrHistogram.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-core</artifactId> |
| <version>${swagger.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-annotations</artifactId> |
| <version>${swagger.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>javax.servlet-api</artifactId> |
| <version>${javax.servlet-api}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.github.ben-manes.caffeine</groupId> |
| <artifactId>caffeine</artifactId> |
| <version>${caffeine.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.yahoo.athenz</groupId> |
| <artifactId>athenz-zts-java-client</artifactId> |
| <version>${athenz.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.yahoo.athenz</groupId> |
| <artifactId>athenz-zpe-java-client</artifactId> |
| <version>${athenz.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.github.zafarkhaja</groupId> |
| <artifactId>java-semver</artifactId> |
| <version>${java-semver.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient</artifactId> |
| <version>${prometheus.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient_hotspot</artifactId> |
| <version>${prometheus.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient_log4j2</artifactId> |
| <version>${prometheus.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient_servlet</artifactId> |
| <version>${prometheus.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient_jetty</artifactId> |
| <version>${prometheus.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.prometheus</groupId> |
| <artifactId>simpleclient_caffeine</artifactId> |
| <version>${prometheus.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.carrotsearch</groupId> |
| <artifactId>hppc</artifactId> |
| <version>${hppc.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-streaming_2.10</artifactId> |
| <version>${spark-streaming_2.10.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-codec-http</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport-native-epoll</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-all</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.jsonwebtoken</groupId> |
| <artifactId>jjwt-api</artifactId> |
| <version>${jsonwebtoken.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.jsonwebtoken</groupId> |
| <artifactId>jjwt-impl</artifactId> |
| <version>${jsonwebtoken.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.jsonwebtoken</groupId> |
| <artifactId>jjwt-jackson</artifactId> |
| <version>${jsonwebtoken.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>net.jodah</groupId> |
| <artifactId>typetools</artifactId> |
| <version>${typetools.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-all</artifactId> |
| <version>${grpc.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-testing</artifactId> |
| </exclusion> |
| <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>io.grpc</groupId> |
| <artifactId>grpc-core</artifactId> |
| <version>${grpc.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.perfmark</groupId> |
| <artifactId>perfmark-api</artifactId> |
| <version>${perfmark.version}</version> |
| <scope>runtime</scope> |
| <exclusions> |
| <exclusion> |
| <artifactId>error_prone_annotations</artifactId> |
| <groupId>com.google.errorprone</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-stub</artifactId> |
| <version>${grpc.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-protobuf-lite</artifactId> |
| <version>${grpc.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-bom</artifactId> |
| <version>${protobuf3.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${gson.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.yahoo.datasketches</groupId> |
| <artifactId>sketches-core</artifactId> |
| <version>${sketches.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-bom</artifactId> |
| <version>${aws-sdk.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.distributedlog</groupId> |
| <artifactId>distributedlog-core</artifactId> |
| <version>${bookkeeper.version}</version> |
| <exclusions> |
| <!-- exclude bookkeeper, reply on the bookkeeper version that pulsar uses --> |
| <exclusion> |
| <groupId>org.apache.bookkeeper</groupId> |
| <artifactId>bookkeeper-server</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-collections</groupId> |
| <artifactId>commons-collections</artifactId> |
| <version>${commons.collections.version}</version> |
| </dependency> |
| |
| <!-- test dependencies --> |
| <dependency> |
| <groupId>com.lmax</groupId> |
| <artifactId>disruptor</artifactId> |
| <version>${disruptor.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers-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-grpc-metrics</artifactId> |
| <version>${opencensus.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.elasticsearch.client</groupId> |
| <artifactId>elasticsearch-rest-high-level-client</artifactId> |
| <version>${elasticsearch.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| <version>${joda.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.javassist</groupId> |
| <artifactId>javassist</artifactId> |
| <version>${javassist.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>net.jcip</groupId> |
| <artifactId>jcip-annotations</artifactId> |
| <version>${jcip.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.airlift</groupId> |
| <artifactId>aircompressor</artifactId> |
| <version>${aircompressor.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.openjdk.jol</groupId> |
| <artifactId>jol-core</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.objenesis</groupId> |
| <artifactId>objenesis</artifactId> |
| <version>${objenesis.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${apache-http-client.version}</version> |
| </dependency> |
| |
| <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>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> |
| |
| |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <!-- These dependencies are common to all the submodules --> |
| <dependency> |
| <groupId>org.apache.pulsar</groupId> |
| <artifactId>buildtools</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.testng</groupId> |
| <artifactId>testng</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.powermock</groupId> |
| <artifactId>powermock-api-mockito2</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.powermock</groupId> |
| <artifactId>powermock-module-testng</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <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> |
| <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> -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.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 </test.additional.args> |
| </properties> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <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> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>${jacoco-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>pre-unit-test</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>post-test</id> |
| <phase>test</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>target/report</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <configuration> |
| <configLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/checkstyle.xml</configLocation> |
| <suppressionsLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/suppressions.xml</suppressionsLocation> |
| <encoding>UTF-8</encoding> |
| <excludes>**/proto/*</excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <doclint>none</doclint> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>report</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| </profile> |
| <profile> |
| <id>docker</id> |
| <modules> |
| <module>docker</module> |
| <module>tests</module> |
| </modules> |
| </profile> |
| |
| <profile> |
| <!-- Checks style and licensing requirements. This is a good |
| idea to run for contributions and for the release process. While it would |
| be nice to run always these plugins can considerably slow the build and have |
| proven to create unstable builds in our multi-module project and when building |
| using multiple threads. The stability issues seen with Checkstyle in multi-module |
| builds include false-positives and false negatives. --> |
| <id>contrib-check</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>check-style</id> |
| <phase>verify</phase> |
| <configuration> |
| <configLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/checkstyle.xml</configLocation> |
| <suppressionsLocation>${pulsar.basedir}/buildtools/src/main/resources/pulsar/suppressions.xml</suppressionsLocation> |
| <encoding>UTF-8</encoding> |
| <excludes>**/proto/*</excludes> |
| </configuration> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>windows</id> |
| <activation> |
| <os> |
| <family>Windows</family> |
| </os> |
| </activation> |
| <properties> |
| <rename.netty.native.libs>rename-netty-native-libs.cmd</rename.netty.native.libs> |
| </properties> |
| |
| </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-zookeeper-utils</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-zookeeper-utils</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> |
| <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> |