pinot
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot</artifactId> <version>1.3.0</version> </dependency>
<?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> <parent> <groupId>org.apache</groupId> <artifactId>apache</artifactId> <version>33</version> <relativePath /> </parent> <groupId>org.apache.pinot</groupId> <artifactId>pinot</artifactId> <version>1.3.0</version> <packaging>pom</packaging> <name>Pinot</name> <description>A realtime distributed OLAP datastore</description> <url>https://pinot.apache.org/</url> <modules> <module>pinot-spi</module> <module>pinot-segment-spi</module> <module>pinot-broker</module> <module>pinot-common</module> <module>pinot-clients</module> <module>pinot-server</module> <module>pinot-core</module> <module>pinot-controller</module> <module>pinot-minion</module> <module>pinot-plugins</module> <module>pinot-tools</module> <module>pinot-perf</module> <module>pinot-integration-test-base</module> <module>pinot-integration-tests</module> <module>pinot-distribution</module> <module>pinot-connectors</module> <module>pinot-segment-local</module> <module>pinot-compatibility-verifier</module> <module>pinot-query-planner</module> <module>pinot-query-runtime</module> <module>pinot-timeseries</module> </modules> <licenses> <license> <name>Apache License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <organization> <name>Apache Software Foundation</name> <url>http://www.apache.org</url> </organization> <mailingLists> <mailingList> <name>Dev Mailing List</name> <post>dev@pinot.apache.org</post> <subscribe>dev-subscribe@pinot.apache.org</subscribe> <unsubscribe>dev-unsubscribe@pinot.apache.org</unsubscribe> </mailingList> <mailingList> <name>User Mailing List</name> <post>user@pinot.apache.org</post> <subscribe>user-subscribe@pinot.apache.org</subscribe> <unsubscribe>user-unsubscribe@pinot.apache.org</unsubscribe> </mailingList> <mailingList> <name>Commits Mailing List</name> <post>commits@pinot.apache.org</post> <subscribe>commits-subscribe@pinot.apache.org</subscribe> <unsubscribe>commits-unsubscribe@pinot.apache.org</unsubscribe> </mailingList> </mailingLists> <scm> <developerConnection>scm:git:git@github.com:apache/pinot.git</developerConnection> <tag>release-1.3.0-rc1</tag> </scm> <!-- Apache project inception year for generating correct NOTICE file for jar bundle. --> <inceptionYear>2018</inceptionYear> <properties> <pinot.root>${basedir}</pinot.root> <build.profile.id>dev</build.profile.id> <jdk.version>11</jdk.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- Setting maven.compiler flags to the jdk version. These are used by maven plugins like maven-javadoc-plugin --> <maven.compiler.release>${jdk.version}</maven.compiler.release> <maven.compiler.source>${jdk.version}</maven.compiler.source> <maven.compiler.target>${jdk.version}</maven.compiler.target> <!-- Configuration for unit/integration tests Property for running integration tests with profiles at the command line, where you do: mvn integration-test -P integration-test See also: the surefire plugin section and the profiles section.--> <!-- Only unit tests are run by default. --> <skip.integration.tests>true</skip.integration.tests> <skip.unit.tests>false</skip.unit.tests> <!-- Sets the VM argument line used when unit tests are run. --> <argLine>-Xms4g -Xmx4g</argLine> <SKIP_INTEGRATION_TESTS>true</SKIP_INTEGRATION_TESTS> <!-- Checkstyle violation prop.--> <checkstyle.violation.severity>warning</checkstyle.violation.severity> <checkstyle.fail.on.violation>true</checkstyle.fail.on.violation> <!-- Configuration for Packaging --> <shade.prefix>org.apache.pinot.shaded</shade.prefix> <shade.phase.prop>none</shade.phase.prop> <avro.version>1.11.4</avro.version> <parquet.version>1.15.0</parquet.version> <orc.version>1.9.5</orc.version> <hive.version>2.8.1</hive.version> <helix.version>1.3.1</helix.version> <zkclient.version>0.11</zkclient.version> <jackson.version>2.18.2</jackson.version> <zookeeper.version>3.9.3</zookeeper.version> <async-http-client.version>3.0.1</async-http-client.version> <jersey.version>2.45</jersey.version> <hk2.version>2.6.1</hk2.version> <swagger.version>1.6.14</swagger.version> <swagger-ui.version>5.18.2</swagger-ui.version> <hadoop.version>3.4.1</hadoop.version> <jsonpath.version>2.9.0</jsonpath.version> <jsonsmart.version>2.5.1</jsonsmart.version> <quartz.version>2.5.0</quartz.version> <calcite.version>1.37.0</calcite.version> <immutables.version>2.10.1</immutables.version> <lucene.version>9.12.0</lucene.version> <reflections.version>0.10.2</reflections.version> <dynatrace.hash4j.version>0.19.0</dynatrace.hash4j.version> <yammer-metrics.version>2.2.0</yammer-metrics.version> <!-- helix-core, spark-core use libraries from io.dropwizard.metrics --> <dropwizard-metrics.version>4.2.29</dropwizard-metrics.version> <snappy-java.version>1.1.10.7</snappy-java.version> <zstd-jni.version>1.5.6-9</zstd-jni.version> <lz4-java.version>1.8.0</lz4-java.version> <libthrift.verion>0.18.1</libthrift.verion> <log4j.version>2.24.3</log4j.version> <slf4j.version>2.0.16</slf4j.version> <netty.version>4.1.116.Final</netty.version> <reactivestreams.version>1.0.4</reactivestreams.version> <jts.version>1.20.0</jts.version> <h3.version>4.1.1</h3.version> <jmh.version>1.37</jmh.version> <audienceannotations.version>0.15.0</audienceannotations.version> <clp-ffi.version>0.4.7</clp-ffi.version> <stax2-api.version>4.2.2</stax2-api.version> <aws.sdk.version>2.29.49</aws.sdk.version> <azure.sdk.version>1.2.30</azure.sdk.version> <azure.msal4j.version>1.18.0</azure.msal4j.version> <joda-time.version>2.13.0</joda-time.version> <janino.version>3.1.12</janino.version> <sslcontext.kickstart.version>9.0.0</sslcontext.kickstart.version> <jbcrypt.version>0.4</jbcrypt.version> <plexus-classworlds.version>2.8.0</plexus-classworlds.version> <scala-xml.version>2.3.0</scala-xml.version> <circe.version>0.14.10</circe.version> <spark2.version>2.4.8</spark2.version> <spark3.version>3.5.3</spark3.version> <kafka2.version>2.8.2</kafka2.version> <kafka3.version>3.9.0</kafka3.version> <confluent.version>7.7.0</confluent.version> <pulsar.version>3.3.1</pulsar.version> <flink.version>1.20.0</flink.version> <!-- Apache Commons Libraries --> <commons-lang3.version>3.17.0</commons-lang3.version> <commons-collections4.version>4.4</commons-collections4.version> <commons-text.version>1.13.0</commons-text.version> <commons-compress.version>1.27.1</commons-compress.version> <commons-math3.version>3.6.1</commons-math3.version> <commons-csv.version>1.12.0</commons-csv.version> <commons-configuration2.version>2.11.0</commons-configuration2.version> <commons-beanutils.version>1.10.0</commons-beanutils.version> <commons-io.version>2.18.0</commons-io.version> <commons-codec.version>1.17.2</commons-codec.version> <commons-cli.version>1.9.0</commons-cli.version> <commons-net.version>3.11.1</commons-net.version> <commons-validator.version>1.9.0</commons-validator.version> <!-- Java EE Libraries --> <!-- Include both newer jakarta ones and older javax ones, but not migrate to Jakarta EE yet --> <!-- DO NOT upgrade these versions unless we are migrating to Jakarta EE --> <jakarta.servlet-api.version>4.0.4</jakarta.servlet-api.version> <javax.servlet-api.version>4.0.1</javax.servlet-api.version> <jakarta.annotation-api.version>1.3.5</jakarta.annotation-api.version> <javax.annotation-api.version>1.3.2</javax.annotation-api.version> <jakarta.validation-api.version>2.0.2</jakarta.validation-api.version> <javax.validation-api.version>2.0.1.Final</javax.validation-api.version> <jakarta.xml.bind-api.version>2.3.3</jakarta.xml.bind-api.version> <javax.jaxb-api.version>2.3.1</javax.jaxb-api.version> <jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version> <javax.ws.rs-api.version>2.1.1</javax.ws.rs-api.version> <jakarta.activation-api.version>1.2.2</jakarta.activation-api.version> <!-- HTTP Components Libraries --> <httpclient.version>4.5.14</httpclient.version> <httpcore.version>4.4.16</httpcore.version> <httpclient5.version>5.3.1</httpclient5.version> <httpcore5.version>5.3.2</httpcore5.version> <!-- Google Libraries --> <protobuf.version>3.25.5</protobuf.version> <grpc.version>1.69.0</grpc.version> <google.cloud.libraries.version>26.52.0</google.cloud.libraries.version> <google.auto-service.version>1.1.1</google.auto-service.version> <google.re2j.version>1.8</google.re2j.version> <google.errorprone.version>2.36.0</google.errorprone.version> <google.j2objc.version>3.0.0</google.j2objc.version> <google.jsr305.version>3.0.2</google.jsr305.version> <!-- Configuration for Scala --> <scala.version>2.12.19</scala.version> <scala.compat.version>2.12</scala.compat.version> <!-- Solve conflicts and vulnerabilities --> <kerby.version>2.1.0</kerby.version> <jline.version>3.28.0</jline.version> <wildfly.version>2.0.1</wildfly.version> <jettison.version>1.5.4</jettison.version> <nimbus-jose-jwt.version>10.0.1</nimbus-jose-jwt.version> <dnsjava.version>3.6.2</dnsjava.version> <eclipse.jetty.version>9.4.57.v20241219</eclipse.jetty.version> <woodstox.version>7.1.0</woodstox.version> <curator.version>5.7.1</curator.version> <javassist.version>3.30.2-GA</javassist.version> <bouncycastle.version>1.78.1</bouncycastle.version> <aircompressor.version>0.27</aircompressor.version> <jna.version>5.16.0</jna.version> <jnr-ffi.version>2.2.17</jnr-ffi.version> <jnr-constants.version>0.10.4</jnr-constants.version> <asm.version>9.7.1</asm.version> <paranamer.version>2.8</paranamer.version> <kotlin.stdlib.version>2.0.21</kotlin.stdlib.version> <jetbrains.annotations.version>26.0.1</jetbrains.annotations.version> <okio.version>3.10.2</okio.version> <kryo.version>2.24.0</kryo.version> <objenesis.version>3.4</objenesis.version> <chill.version>0.10.0</chill.version> <HikariCP-java7.version>2.4.13</HikariCP-java7.version> <ivy.version>2.5.3</ivy.version> <c3p0.version>0.10.1</c3p0.version> <mchange-commons-java.version>0.3.1</mchange-commons-java.version> <!-- Test Libraries --> <testng.version>7.10.2</testng.version> <mockito-core.version>5.15.2</mockito-core.version> <equalsverifier.version>3.18.1</equalsverifier.version> <testcontainers.version>1.20.4</testcontainers.version> <h2.version>2.3.232</h2.version> <jnr-posix.version>3.1.20</jnr-posix.version> <scalatest.version>3.2.19</scalatest.version> <fmpp.version>0.9.16</fmpp.version> <archiver.compress>true</archiver.compress> <archiver.recompressZippedFiles>true</archiver.recompressZippedFiles> </properties> <profiles> <profile> <id>pinot-fastdev</id> <!-- disable verifying plugins that can be easily fixed after a successful implementation --> <properties> <checkstyle.skip>true</checkstyle.skip> <!-- This plugin slows down the builds, most likely caused by an issue in the deprecated org.apache.maven.shared.utils.io.DirectoryScanner --> <license.skip>true</license.skip> <!-- This plugin slows down the builds, most likely caused by an issue in the deprecated org.apache.maven.shared.utils.io.DirectoryScanner --> <rat.skip>true</rat.skip> <spotless.check.skip>true</spotless.check.skip> <shade.phase.prop>none</shade.phase.prop> <archiver.compress>false</archiver.compress> <archiver.recompressZippedFiles>false</archiver.recompressZippedFiles> </properties> </profile> <!--build profile for linux-aarch64. We exclude certain tests as they use runtime JNI bindings not supported for linux-aarch64--> <profile> <id>linux-aarch64</id> <activation> <!--os info is taken from the output of mvn -version--> <os> <name>linux</name> <arch>aarch64</arch> </os> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire.version}</version> <configuration> <systemPropertyVariables> <os.arch>aarch64</os.arch> </systemPropertyVariables> </configuration> </plugin> </plugins> </build> </profile> <!--build profile for osx-aarch64. We exclude certain tests as they use runtime JNI bindings not supported for linux-aarch64--> <profile> <id>osx-aarch64</id> <activation> <!--os info is taken from the output of mvn -version--> <os> <name>mac os x</name> <arch>aarch64</arch> </os> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire.version}</version> <configuration> <excludes> </excludes> <systemPropertyVariables> <os.arch>aarch64</os.arch> </systemPropertyVariables> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>github-actions</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <argLine>-Xms4g -Xmx4g -Dlog4j2.configurationFile=log4j2.xml</argLine> </properties> </profile> <profile> <id>codecoverage</id> <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <executions> <execution> <id>prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <append>true</append> <includes> <include>org/apache/pinot/**/*</include> </includes> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Disable source release assembly for 'apache-release' profile. --> <profile> <id>apache-release</id> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>source-release-assembly</id> <phase>none</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>scala-2.13</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <scala.version>2.13.3</scala.version> <scala.compat.version>2.13</scala.compat.version> </properties> </profile> </profiles> <dependencyManagement> <dependencies> <!-- Pinot Modules --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-spi</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-segment-spi</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-common</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-segment-local</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-query-planner</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-query-runtime</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-controller</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-broker</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-server</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-minion</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-java-client</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-jdbc-client</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-tools</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-perf</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-timeseries-spi</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-timeseries-planner</artifactId> <version>${project.version}</version> </dependency> <!-- Pinot Plug-in Modules --> <!-- Batch Ingestion --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-batch-ingestion-common</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-batch-ingestion-hadoop</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-batch-ingestion-spark-base</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-batch-ingestion-spark-2.4</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-batch-ingestion-spark-3</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-batch-ingestion-standalone</artifactId> <version>${project.version}</version> </dependency> <!-- Stream Ingestion --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-kafka-base</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-kafka-2.0</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-kafka-3.0</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-kinesis</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-pulsar</artifactId> <version>${project.version}</version> </dependency> <!-- Input Format --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-avro-base</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-avro</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-confluent-avro</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-orc</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-parquet</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-json</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-csv</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-thrift</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-protobuf</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-clp-log</artifactId> <version>${project.version}</version> </dependency> <!-- File System --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-hdfs</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-s3</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-gcs</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-adls</artifactId> <version>${project.version}</version> </dependency> <!-- Environment --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-azure</artifactId> <version>${project.version}</version> </dependency> <!-- Metrics --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-yammer</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-dropwizard</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-compound-metrics</artifactId> <version>${project.version}</version> </dependency> <!-- Minion Tasks --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-minion-builtin-tasks</artifactId> <version>${project.version}</version> </dependency> <!-- Segment Writer --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-segment-writer-file-based</artifactId> <version>${project.version}</version> </dependency> <!-- Segment Uploader --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-segment-uploader-default</artifactId> <version>${project.version}</version> </dependency> <!-- Pinot Connector Modules --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-spark-common</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-spark-2-connector</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-spark-3-connector</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-flink-connector</artifactId> <version>${project.version}</version> </dependency> <!-- Pinot Test Jars --> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-spi</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-common</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-segment-local</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-core</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-query-planner</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-controller</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-broker</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-server</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-minion</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-integration-test-base</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-integration-tests</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-query-runtime</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.pinot</groupId> <artifactId>pinot-kafka-base</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.checkerframework</groupId> <artifactId>checker-qual</artifactId> <version>3.48.4</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.4.21</version> </dependency> <dependency> <groupId>xml-apis</groupId> <artifactId>xml-apis</artifactId> <version>2.0.2</version> </dependency> <dependency> <groupId>org.roaringbitmap</groupId> <artifactId>RoaringBitmap</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>${zkclient.version}</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <!-- JMX exporter--> <dependency> <groupId>io.prometheus.jmx</groupId> <artifactId>jmx_prometheus_javaagent</artifactId> <version>0.19.0</version> <scope>test</scope> </dependency> <!-- netty BOM --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-bom</artifactId> <version>${netty.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.reactivestreams</groupId> <artifactId>reactive-streams</artifactId> <version>${reactivestreams.version}</version> </dependency> <dependency> <groupId>org.apache.yetus</groupId> <artifactId>audience-annotations</artifactId> <version>${audienceannotations.version}</version> </dependency> <dependency> <groupId>it.unimi.dsi</groupId> <artifactId>fastutil</artifactId> <version>8.5.15</version> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${joda-time.version}</version> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>${avro.version}</version> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro-mapred</artifactId> <version>${avro.version}</version> </dependency> <dependency> <groupId>org.apache.parquet</groupId> <artifactId>parquet-avro</artifactId> <version>${parquet.version}</version> </dependency> <dependency> <groupId>org.apache.parquet</groupId> <artifactId>parquet-column</artifactId> <version>${parquet.version}</version> </dependency> <dependency> <groupId>org.apache.parquet</groupId> <artifactId>parquet-hadoop</artifactId> <version>${parquet.version}</version> </dependency> <dependency> <groupId>org.apache.orc</groupId> <artifactId>orc-core</artifactId> <version>${orc.version}</version> </dependency> <dependency> <groupId>org.apache.orc</groupId> <artifactId>orc-mapreduce</artifactId> <version>${orc.version}</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-storage-api</artifactId> <version>${hive.version}</version> </dependency> <dependency> <groupId>org.xerial.snappy</groupId> <artifactId>snappy-java</artifactId> <version>${snappy-java.version}</version> </dependency> <dependency> <groupId>com.github.luben</groupId> <artifactId>zstd-jni</artifactId> <version>${zstd-jni.version}</version> </dependency> <dependency> <groupId>org.lz4</groupId> <artifactId>lz4-java</artifactId> <version>${lz4-java.version}</version> </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>${libthrift.verion}</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>${quartz.version}</version> </dependency> <dependency> <groupId>org.apache.helix</groupId> <artifactId>helix-core</artifactId> <version>${helix.version}</version> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${jmh.version}</version> </dependency> <!-- log4j2 related dependencies --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-1.2-api</artifactId> <version>${log4j.version}</version> </dependency> <!-- We don't use slf4j but slf4j2. Including it here to support old libraries such as Spark 2.4 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>org.asynchttpclient</groupId> <artifactId>async-http-client</artifactId> <version>${async-http-client.version}</version> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>org.xerial.larray</groupId> <artifactId>larray-mmap</artifactId> <version>0.4.1</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> </exclusions> </dependency> <!-- Jackson --> <dependency> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>${jackson.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Apache Commons Libraries --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>${commons-collections4.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>${commons-text.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>${commons-compress.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> <version>${commons-math3.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>${commons-csv.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-configuration2</artifactId> <version>${commons-configuration2.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>${commons-beanutils.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons-codec.version}</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>${commons-cli.version}</version> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>${commons-net.version}</version> </dependency> <dependency> <groupId>commons-validator</groupId> <artifactId>commons-validator</artifactId> <version>${commons-validator.version}</version> </dependency> <!-- Java EE Libraries --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>${jakarta.servlet-api.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${javax.servlet-api.version}</version> </dependency> <dependency> <groupId>jakarta.annotation</groupId> <artifactId>jakarta.annotation-api</artifactId> <version>${jakarta.annotation-api.version}</version> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>${javax.annotation-api.version}</version> </dependency> <dependency> <groupId>jakarta.validation</groupId> <artifactId>jakarta.validation-api</artifactId> <version>${jakarta.validation-api.version}</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>${javax.validation-api.version}</version> </dependency> <dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>${jakarta.xml.bind-api.version}</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>${javax.jaxb-api.version}</version> </dependency> <dependency> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>${jakarta.ws.rs-api.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>jakarta.activation</groupId> <artifactId>jakarta.activation-api</artifactId> <version>${jakarta.activation-api.version}</version> </dependency> <!-- HTTP Components Libraries --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${httpclient.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>${httpcore.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents.client5</groupId> <artifactId>httpclient5</artifactId> <version>${httpclient5.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents.core5</groupId> <artifactId>httpcore5</artifactId> <version>${httpcore5.version}</version> </dependency> <!-- Google Libraries --> <!-- protobuf-bom --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-bom</artifactId> <version>${protobuf.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- grpc-bom --> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-bom</artifactId> <version>${grpc.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- libraries-bom should be imported after protobuf-bom and grpc-bom to honor their versions --> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>${google.cloud.libraries.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.google.auto.service</groupId> <artifactId>auto-service-annotations</artifactId> <version>${google.auto-service.version}</version> <optional>true</optional> <!-- This is only needed at compilation time as an annotation processor --> </dependency> <dependency> <groupId>com.google.re2j</groupId> <artifactId>re2j</artifactId> <version>${google.re2j.version}</version> </dependency> <!-- Solve the dependency converge issue between guava and calcite-core --> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>${google.errorprone.version}</version> </dependency> <!-- Solve the dependency converge issue between guava and protobuf --> <dependency> <groupId>com.google.j2objc</groupId> <artifactId>j2objc-annotations</artifactId> <version>${google.j2objc.version}</version> </dependency> <!-- Solve the dependency converge issue between google and flink libraries --> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>${google.jsr305.version}</version> </dependency> <!-- Hadoop --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-servlet</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> </exclusion> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-reload4j</artifactId> </exclusion> <exclusion> <groupId>ch.qos.reload4j</groupId> <artifactId>reload4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>${hadoop.version}</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> </exclusion> <exclusion> <groupId>ch.qos.reload4j</groupId> <artifactId>reload4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-reload4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <version>${hadoop.version}</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> </exclusion> <exclusion> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-servlet</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-guice</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-reload4j</artifactId> </exclusion> <exclusion> <groupId>ch.qos.reload4j</groupId> <artifactId>reload4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs-client</artifactId> <version>${hadoop.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client-runtime</artifactId> <version>${hadoop.version}</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client-api</artifactId> <version>${hadoop.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.hadoop.thirdparty</groupId> <artifactId>hadoop-shaded-protobuf_3_21</artifactId> <version>1.2.0</version> </dependency> <!-- Metrics --> <dependency> <groupId>com.yammer.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${yammer-metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${dropwizard-metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-jmx</artifactId> <version>${dropwizard-metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-jvm</artifactId> <version>${dropwizard-metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-json</artifactId> <version>${dropwizard-metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-graphite</artifactId> <version>${dropwizard-metrics.version}</version> </dependency> <dependency> <groupId>com.clearspring.analytics</groupId> <artifactId>stream</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>org.apache.datasketches</groupId> <artifactId>datasketches-java</artifactId> <version>6.1.1</version> </dependency> <dependency> <groupId>com.dynatrace.hash4j</groupId> <artifactId>hash4j</artifactId> <version>${dynatrace.hash4j.version}</version> </dependency> <dependency> <groupId>com.tdunning</groupId> <artifactId>t-digest</artifactId> <version>3.2</version> </dependency> <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <version>${jsonpath.version}</version> </dependency> <dependency> <groupId>net.minidev</groupId> <artifactId>json-smart</artifactId> <version>${jsonsmart.version}</version> </dependency> <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-core</artifactId> <version>${calcite.version}</version> <exclusions> <exclusion> <groupId>org.apache.calcite.avatica</groupId> <artifactId>avatica-metrics</artifactId> </exclusion> <exclusion> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> </exclusion> <exclusion> <groupId>com.yahoo.datasketches</groupId> <artifactId>sketches-core</artifactId> </exclusion> <exclusion> <groupId>net.hydromatic</groupId> <artifactId>aggdesigner-algorithm</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-babel</artifactId> <version>${calcite.version}</version> </dependency> <!-- Required by Calcite --> <dependency> <groupId>org.immutables</groupId> <artifactId>value-annotations</artifactId> <version>${immutables.version}</version> </dependency> <dependency> <groupId>org.codehaus.janino</groupId> <artifactId>janino</artifactId> <version>${janino.version}</version> </dependency> <dependency> <groupId>org.codehaus.janino</groupId> <artifactId>commons-compiler</artifactId> <version>${janino.version}</version> </dependency> <!-- Jersey Libraries --> <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.core</groupId> <artifactId>jersey-common</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-grizzly2-http</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.media</groupId> <artifactId>jersey-media-multipart</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-locator</artifactId> <version>${hk2.version}</version> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-metadata-generator</artifactId> <version>${hk2.version}</version> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-jersey2-jaxrs</artifactId> <version>${swagger.version}</version> </dependency> <!-- Also used by pulsar-common --> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>swagger-ui</artifactId> <version>${swagger-ui.version}</version> </dependency> <dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> <version>4.7.6</version> </dependency> <dependency> <groupId>org.glassfish.tyrus.bundles</groupId> <artifactId>tyrus-standalone-client</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>net.sf.jopt-simple</groupId> <artifactId>jopt-simple</artifactId> <version>5.0.4</version> </dependency> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>${reflections.version}</version> </dependency> <!-- geo dependencies --> <dependency> <groupId>org.locationtech.jts</groupId> <artifactId>jts-core</artifactId> <version>${jts.version}</version> </dependency> <dependency> <groupId>com.uber</groupId> <artifactId>h3</artifactId> <version>${h3.version}</version> </dependency> <dependency> <groupId>com.github.seancfoley</groupId> <artifactId>ipaddress</artifactId> <version>5.5.1</version> </dependency> <dependency> <groupId>net.openhft</groupId> <artifactId>posix</artifactId> <version>2.27ea0</version> </dependency> <dependency> <groupId>net.openhft</groupId> <artifactId>chronicle-core</artifactId> <version>2.27ea1</version> </dependency> <dependency> <groupId>com.yscope.clp</groupId> <artifactId>clp-ffi</artifactId> <version>${clp-ffi.version}</version> </dependency> <dependency> <groupId>org.codehaus.woodstox</groupId> <artifactId>stax2-api</artifactId> <version>${stax2-api.version}</version> </dependency> <dependency> <groupId>io.github.hakky54</groupId> <artifactId>sslcontext-kickstart-for-netty</artifactId> <version>${sslcontext.kickstart.version}</version> </dependency> <dependency> <groupId>org.mindrot</groupId> <artifactId>jbcrypt</artifactId> <version>${jbcrypt.version}</version> </dependency> <dependency> <groupId>org.scala-lang.modules</groupId> <artifactId>scala-xml_${scala.compat.version}</artifactId> <version>${scala-xml.version}</version> </dependency> <dependency> <groupId>io.circe</groupId> <artifactId>circe-parser_${scala.compat.version}</artifactId> <version>${circe.version}</version> </dependency> <dependency> <groupId>io.circe</groupId> <artifactId>circe-generic_${scala.compat.version}</artifactId> <version>${circe.version}</version> </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-classworlds</artifactId> <version>${plexus-classworlds.version}</version> </dependency> <!-- AWS SDK --> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>${aws.sdk.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Azure SDK --> <dependency> <groupId>com.azure</groupId> <artifactId>azure-sdk-bom</artifactId> <version>${azure.sdk.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.microsoft.azure</groupId> <artifactId>msal4j</artifactId> <version>${azure.msal4j.version}</version> </dependency> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.version}</version> </dependency> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-reflect</artifactId> <version>${scala.version}</version> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>${kafka2.version}</version> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_${scala.compat.version}</artifactId> <version>${kafka2.version}</version> </dependency> <dependency> <groupId>io.confluent</groupId> <artifactId>kafka-schema-registry-client</artifactId> <version>${confluent.version}</version> </dependency> <dependency> <groupId>io.confluent</groupId> <artifactId>kafka-avro-serializer</artifactId> <version>${confluent.version}</version> </dependency> <dependency> <groupId>io.confluent</groupId> <artifactId>kafka-protobuf-serializer</artifactId> <version>${confluent.version}</version> </dependency> <dependency> <groupId>org.apache.pulsar</groupId> <artifactId>pulsar-client</artifactId> <version>${pulsar.version}</version> </dependency> <dependency> <groupId>org.apache.pulsar</groupId> <artifactId>pulsar-client-admin</artifactId> <version>${pulsar.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>${flink.version}</version> </dependency> <!-- Lucene --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-backward-codecs</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-queryparser</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analysis-common</artifactId> <version>${lucene.version}</version> </dependency> <!-- Solve conflicts and vulnerabilities --> <!-- Dependencies in Hadoop libraries --> <dependency> <groupId>org.apache.kerby</groupId> <artifactId>kerby-bom</artifactId> <version>${kerby.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.jline</groupId> <artifactId>jline</artifactId> <version>${jline.version}</version> </dependency> <dependency> <groupId>org.wildfly.common</groupId> <artifactId>wildfly-common</artifactId> <version>${wildfly.version}</version> </dependency> <dependency> <groupId>org.codehaus.jettison</groupId> <artifactId>jettison</artifactId> <version>${jettison.version}</version> </dependency> <dependency> <groupId>com.nimbusds</groupId> <artifactId>nimbus-jose-jwt</artifactId> <version>${nimbus-jose-jwt.version}</version> </dependency> <dependency> <groupId>dnsjava</groupId> <artifactId>dnsjava</artifactId> <version>${dnsjava.version}</version> </dependency> <!-- Eclipse jetty dependencies in Hadoop/Spark/Pulsar --> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>websocket-client</artifactId> <version>${eclipse.jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${eclipse.jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> <version>${eclipse.jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> <version>${eclipse.jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> <version>${eclipse.jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${eclipse.jetty.version}</version> </dependency> <!-- Used by Hadoop and Jackson --> <dependency> <groupId>com.fasterxml.woodstox</groupId> <artifactId>woodstox-core</artifactId> <version>${woodstox.version}</version> </dependency> <!-- Used by Hadoop and Spark --> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-client</artifactId> <version>${curator.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>${curator.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>${curator.version}</version> </dependency> <!-- Used by reflections and jersey-hk2 --> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>${javassist.version}</version> </dependency> <!-- Bouncy Castle libraries are used by Hadoop/Kafka/Pulsar --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcutil-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-ext-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <!-- Used by ORC, Parquet and Pulsar --> <dependency> <groupId>io.airlift</groupId> <artifactId>aircompressor</artifactId> <version>${aircompressor.version}</version> </dependency> <!-- Native access libraries --> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> <version>${jna.version}</version> </dependency> <dependency> <groupId>com.github.jnr</groupId> <artifactId>jnr-ffi</artifactId> <version>${jnr-ffi.version}</version> </dependency> <dependency> <groupId>com.github.jnr</groupId> <artifactId>jnr-constants</artifactId> <version>${jnr-constants.version}</version> </dependency> <!-- Used by jnr-ffi and json-smart --> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>${asm.version}</version> </dependency> <!-- Used by Jackson and Spark --> <dependency> <groupId>com.thoughtworks.paranamer</groupId> <artifactId>paranamer</artifactId> <version>${paranamer.version}</version> </dependency> <!-- Dependencies in Confluent Kafka libraries --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jdk8</artifactId> <version>${kotlin.stdlib.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-reflect</artifactId> <version>${kotlin.stdlib.version}</version> </dependency> <dependency> <groupId>com.squareup.okio</groupId> <artifactId>okio</artifactId> <version>${okio.version}</version> </dependency> <dependency> <groupId>com.squareup.okio</groupId> <artifactId>okio-jvm</artifactId> <version>${okio.version}</version> </dependency> <!-- Used in async-http-client and orc-core --> <dependency> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <version>${jetbrains.annotations.version}</version> </dependency> <!-- Used in Spark and Flink --> <dependency> <groupId>com.esotericsoftware.kryo</groupId> <artifactId>kryo</artifactId> <version>${kryo.version}</version> </dependency> <dependency> <groupId>org.objenesis</groupId> <artifactId>objenesis</artifactId> <version>${objenesis.version}</version> </dependency> <dependency> <groupId>com.twitter</groupId> <artifactId>chill-java</artifactId> <version>${chill.version}</version> </dependency> <dependency> <groupId>com.twitter</groupId> <artifactId>chill_2.11</artifactId> <version>${chill.version}</version> </dependency> <dependency> <groupId>com.twitter</groupId> <artifactId>chill_2.12</artifactId> <version>${chill.version}</version> </dependency> <!-- Used by Spark and quartz --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP-java7</artifactId> <version>${HikariCP-java7.version}</version> </dependency> <!-- Used by Spark --> <dependency> <groupId>org.apache.ivy</groupId> <artifactId>ivy</artifactId> <version>${ivy.version}</version> </dependency> <!-- Used by quartz --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>${c3p0.version}</version> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>mchange-commons-java</artifactId> <version>${mchange-commons-java.version}</version> </dependency> <!-- Test Libraries --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>${testng.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito-core.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>nl.jqno.equalsverifier</groupId> <artifactId>equalsverifier</artifactId> <version>${equalsverifier.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>kafka</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>pulsar</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${h2.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.github.jnr</groupId> <artifactId>jnr-posix</artifactId> <version>${jnr-posix.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.scalatest</groupId> <artifactId>scalatest_${scala.compat.version}</artifactId> <version>${scalatest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>net.sourceforge.fmpp</groupId> <artifactId>fmpp</artifactId> <version>${fmpp.version}</version> </dependency> </dependencies> </dependencyManagement> <build> <defaultGoal>clean install</defaultGoal> <extensions> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>1.7.1</version> </extension> </extensions> <pluginManagement> <plugins> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> <version>2.44.1</version> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> <configuration> <java> <includes> <include>src/main/java/**/*.java</include> <include>src/test/java/**/*.java</include> </includes> <importOrder> <order>,\#</order> </importOrder> <removeUnusedImports /> </java> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>2.1.0</version> <configuration> <binFileExtensions> <unix>.sh</unix> </binFileExtensions> <!-- Set the target configuration directory to be used in the bin scripts --> <configurationDirectory>conf</configurationDirectory> <!-- Copy the contents from "/src/main/config" to the target configuration directory in the assembled application --> <copyConfigurationDirectory>false</copyConfigurationDirectory> <!-- Include the target configuration directory in the beginning of the classpath declaration in the bin scripts --> <includeConfigurationDirectoryInClasspath>false</includeConfigurationDirectoryInClasspath> <assembleDirectory>${project.build.directory}/${project.artifactId}-pkg</assembleDirectory> <!-- Extra JVM arguments that will be included in the bin scripts --> <extraJvmArguments>-Xms1024m -Xmx1024m</extraJvmArguments> <!-- Generate bin scripts for windows and unix pr default --> <platforms> <platform>windows</platform> <platform>unix</platform> </platforms> <repositoryLayout>flat</repositoryLayout> <repositoryName>lib</repositoryName> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>assemble</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <!-- Remove this after fixing all javadoc warnings --> <doclint>none</doclint> <source>${jdk.version}</source> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.12</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> <configuration> <archive> <manifestEntries> <Build-Time>${maven.build.timestamp}</Build-Time> <Implementation-Branch>${scmBranch}</Implementation-Branch> <Implementation-Title>${project.artifactId}</Implementation-Title> <Implementation-Version>${project.version}-${buildNumber}</Implementation-Version> <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id> <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <forkCount>1</forkCount> <reuseForks>false</reuseForks> <!-- 60 minutes --> <forkedProcessTimeoutInSeconds>3600</forkedProcessTimeoutInSeconds> <!-- Disable zookeeper force sync --> <systemPropertyVariables> <zookeeper.forceSync>no</zookeeper.forceSync> </systemPropertyVariables> <trimStackTrace>false</trimStackTrace> <reportFormat>plain</reportFormat> <argLine> @{argLine} --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-exports=java.base/jdk.internal.util.random=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED -Dnet.bytebuddy.experimental=true </argLine> </configuration> <!-- Explicitly select the test provider, instead of relying on the classpath --> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-testng</artifactId> <version>${surefire.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>default-cli</id> <!-- magic id, used when calling enforcer:enforce --> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <dependencyConvergence /> <bannedDependencies> <excludes> <!-- Use org.slf4j:jcl-over-slf4j --> <exclude>commons-logging:commons-logging</exclude> <!-- Use org.apache.logging.log4j:log4j-core --> <exclude>log4j:log4j</exclude> <!-- Use org.apache.logging.log4j:log4j-slf4j2-impl --> <exclude>org.slf4j:slf4j-log4j12</exclude> <exclude>org.slf4j:slf4j-reload4j</exclude> <exclude>ch.qos.reload4j:reload4j</exclude> <exclude>ch.qos.logback</exclude> <!-- Use com.fasterxml.jackson --> <exclude>org.codehaus.jackson</exclude> <!-- Use org.glassfish.jersey --> <exclude>com.sun.jersey</exclude> <!-- Use hadoop-shaded-protobuf_3_21 --> <exclude>org.apache.hadoop.thirdparty:hadoop-shaded-protobuf_3_7</exclude> <!-- Use org.bouncycastle:bcprov-jdk18on --> <exclude>org.bouncycastle:bcprov-jdk15on</exclude> </excludes> </bannedDependencies> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>4.6</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>3.2.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.18.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <dependencies> <dependency> <groupId>org.apache.maven.scm</groupId> <artifactId>maven-scm-provider-gitexe</artifactId> <version>2.1.0</version> </dependency> </dependencies> <configuration> <autoVersionSubmodules>true</autoVersionSubmodules> </configuration> </plugin> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>0.6.1</version> <configuration> <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact> <pluginId>grpc-java</pluginId> <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> <goal>test-compile</goal> <goal>test-compile-custom</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <release>${jdk.version}</release> <source>${jdk.version}</source> <target>${jdk.version}</target> <fork>true</fork> <encoding>${project.build.sourceEncoding}</encoding> <annotationProcessorPaths> <path> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-metadata-generator</artifactId> </path> <path> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </path> <path> <groupId>com.google.auto.service</groupId> <artifactId>auto-service</artifactId> <version>${google.auto-service.version}</version> </path> <path> <groupId>org.immutables</groupId> <artifactId>value-processor</artifactId> <version>${immutables.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>javacc-maven-plugin</artifactId> <version>3.1.0</version> <dependencies> <dependency> <groupId>net.java.dev.javacc</groupId> <artifactId>javacc</artifactId> <!-- Higher version JavaCC throws exception when generating custom Calcite parser --> <version>5.0</version> </dependency> </dependencies> </plugin> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>4.9.2</version> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sourceDir>src/main/java</sourceDir> </configuration> </execution> <execution> <id>scala-compile-first</id> <phase>process-resources</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>scala-test-compile-first</id> <phase>process-test-resources</phase> <goals> <goal>testCompile</goal> </goals> </execution> <execution> <id>attach-scaladocs</id> <phase>verify</phase> <goals> <goal>doc-jar</goal> </goals> </execution> </executions> <configuration> <scalaVersion>${scala.version}</scalaVersion> <release>${jdk.version}</release> <source>${jdk.version}</source> <target>${jdk.version}</target> <args> <arg>-unchecked</arg> <arg>-deprecation</arg> <arg>-feature</arg> </args> <jvmArgs> <jvmArg>-Xms1024m</jvmArg> <jvmArg>-Xmx1024m</jvmArg> </jvmArgs> <javacArgs> <javacArg>-Xlint:all,-serial,-path</javacArg> </javacArgs> </configuration> </plugin> <plugin> <groupId>org.scalatest</groupId> <artifactId>scalatest-maven-plugin</artifactId> <version>2.2.0</version> <configuration> <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory> <junitxml>.</junitxml> <parallel>false</parallel> </configuration> <executions> <execution> <id>test</id> <goals> <goal>test</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <version>1.15.1</version> </plugin> <plugin> <groupId>net.nicoulaj.maven.plugins</groupId> <artifactId>checksum-maven-plugin</artifactId> <version>1.11</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.5.0</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <configLocation>${pinot.root}/config/checkstyle.xml</configLocation> <suppressionsLocation>${pinot.root}/config/suppressions.xml</suppressionsLocation> <propertyExpansion>config_loc=${pinot.root}/config</propertyExpansion> <logViolationsToConsole>true</logViolationsToConsole> <violationSeverity>${checkstyle.violation.severity}</violationSeverity> <failOnViolation>${checkstyle.fail.on.violation}</failOnViolation> <includeTestSourceDirectory>true</includeTestSourceDirectory> </configuration> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>10.21.1</version> </dependency> </dependencies> <executions> <execution> <id>checkstyle</id> <phase>validate</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <!-- Configuration for unit/integration tests section 2 of 3 (plugins) STARTS HERE. This is the core piece for being able to manage unit tests and integration (='system') tests within Maven by using surefire. See also: properties section and profiles section. --> <configuration> <testFailureIgnore>false</testFailureIgnore> <!-- Excludes integration tests when unit tests are run. --> <excludes> <exclude>**/*IT.java</exclude> </excludes> <forkCount>1</forkCount> <reuseForks>false</reuseForks> </configuration> <executions> <execution> <id>integration-tests</id> <phase>integration-test</phase> <goals> <goal>test</goal> </goals> <configuration> <skip>${SKIP_INTEGRATION_TESTS}</skip> <excludes> <exclude>none</exclude> </excludes> <includes> <include>**/*IT.java</include> </includes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <!-- Default configuration for all reports --> <excludePackageNames>protobuf.grpc-java.org.apache.pinot.common.proto</excludePackageNames> </configuration> <executions> <execution> <id>aggregate</id> <goals> <goal>aggregate</goal> </goals> <phase>site</phase> <configuration> <!-- Specific configuration for the aggregate report --> <excludePackageNames> org.apache.pinot.common.request:org.apache.pinot.common.response </excludePackageNames> <skip>false</skip> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <configuration> <licenseSets> <licenseSet> <header>${pinot.root}/HEADER</header> <headerDefinitions> <headerDefinition>${pinot.root}/headerdefinition.xml</headerDefinition> </headerDefinitions> <excludes> <!-- Text and log files --> <exclude>**/*.txt</exclude> <exclude>**/*.log</exclude> <exclude>**/*.list</exclude> <exclude>**/*.out</exclude> <exclude>**/*.generated</exclude> <exclude>**/*.json</exclude> <exclude>**/*.schema</exclude> <exclude>**/*.sql</exclude> <!-- JDBC Drivers --> <exclude>**/java.sql.*</exclude> <!-- Spark datasource register --> <exclude>**/org.apache.spark.sql.sources.DataSourceRegister</exclude> <!-- Binary files --> <exclude>**/*.avro</exclude> <exclude>**/*.avsc</exclude> <exclude>**/*.csv</exclude> <exclude>**/*.desc</exclude> <exclude>**/*.fst</exclude> <exclude>**/*.parquet</exclude> <exclude>**/*.gz</exclude> <exclude>**/*.gzip</exclude> <exclude>**/*.orc</exclude> <exclude>**/*.dict</exclude> <exclude>**/*.raw</exclude> <exclude>**/*.mapping</exclude> <exclude>**/*.ser</exclude> <exclude>**/*.v1</exclude> <exclude>**/*.v2</exclude> <exclude>**/*.parq</exclude> <exclude>**/*.parquet.encrypted</exclude> <!-- Pinot index files --> <exclude>**/index_map</exclude> <exclude>**/star_tree_index</exclude> <exclude>**/star_tree_index_map</exclude> <!-- Auto-generated target directories --> <exclude>target/**</exclude> <exclude>pinot-*/target/**</exclude> <!-- Docker and Kubernetes (not part of the distribution) --> <exclude>docker/**</exclude> <exclude>helm/**</exclude> <!-- Pinot-Druid Benchmark (not part of the distribution) --> <exclude>contrib/**</exclude> <!-- Top level files --> <exclude>HEADER</exclude> <exclude>LICENSE*</exclude> <exclude>NOTICE*</exclude> <exclude>.trivyignore</exclude> <exclude>doap_Pinot.rdf</exclude> <!-- js, css files that are exact copies of the third-party works. In this case, the original header has to be kept. Please refer to 'Treatment of Third-party works' in https://www.apache.org/legal/src-headers.html --> <exclude>**/node_modules/**</exclude> <exclude>**/dist/**</exclude> <exclude>**/src/main/resources/*.*rc</exclude> <!-- files from Eclipse --> <exclude>**/maven-eclipse.xml</exclude> <exclude>**/.settings/**</exclude> <exclude>**/.project</exclude> <exclude>**/.classpath</exclude> <exclude>.externalToolBuilders/**</exclude> <!-- specific files --> <exclude>**/src/test/resources/*version-header.properties</exclude> </excludes> </licenseSet> </licenseSets> <mapping> <java>JAVADOC_STYLE</java> <scala>JAVADOC_STYLE</scala> <thrift>JAVADOC_STYLE</thrift> <jj>JAVADOC_STYLE</jj> <ts>JAVADOC_STYLE</ts> <tsx>JAVADOC_STYLE</tsx> <config>SCRIPT_STYLE</config> <queries>SCRIPT_STYLE</queries> <results>SCRIPT_STYLE</results> <fmpp>SCRIPT_STYLE</fmpp> <ftl>FTL_STYLE</ftl> <MockMaker>SCRIPT_STYLE</MockMaker> <appAssemblerScriptTemplate>SCRIPT_STYLE</appAssemblerScriptTemplate> <inc>SCRIPT_STYLE</inc> <sql>SCRIPT_STYLE</sql> <conf>DOUBLESLASH_STYLE</conf> <cfg>DOUBLESLASH_STYLE</cfg> <proto>DOUBLESLASH_STYLE</proto> <rst>RST_STYLE</rst> <readme>RST_STYLE</readme> </mapping> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <executions> <execution> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> <configuration> <excludes> <!-- Exclude license copies --> <exclude>licenses/**</exclude> <exclude>licenses-binary/**</exclude> <!-- Exclude build targets --> <exclude>**/target/**</exclude> <!-- Exclude Maven plugin generated files --> <exclude>**/dependency-reduced-pom.xml</exclude> <!-- Text and log files --> <exclude>**/*.txt</exclude> <exclude>**/*.log</exclude> <exclude>**/*.list</exclude> <exclude>**/*.out</exclude> <exclude>**/*.generated</exclude> <exclude>**/*.json</exclude> <exclude>**/*.schema</exclude> <exclude>**/*.sql</exclude> <!-- JDBC Drivers --> <exclude>**/java.sql.*</exclude> <!-- Spark datasource register --> <exclude>**/org.apache.spark.sql.sources.DataSourceRegister</exclude> <!-- Binary files --> <exclude>**/*.avro</exclude> <exclude>**/*.avsc</exclude> <exclude>**/*.csv</exclude> <exclude>**/*.desc</exclude> <exclude>**/*.fst</exclude> <exclude>**/*.parquet</exclude> <exclude>**/*.gz</exclude> <exclude>**/*.orc</exclude> <exclude>**/*.dict</exclude> <exclude>**/*.raw</exclude> <exclude>**/*.mapping</exclude> <exclude>**/*.ser</exclude> <exclude>**/*.v1</exclude> <exclude>**/*.v2</exclude> <exclude>**/Text.lucene.index/**</exclude> <exclude>**/appAssemblerScriptTemplate</exclude> <exclude>doap_Pinot.rdf</exclude> <!-- js, css files that are exact copies of the third-party works. In this case, the original header has to be kept. Please refer to 'Treatment of Third-party works' in https://www.apache.org/legal/src-headers.html --> <exclude>**/node_modules/**</exclude> <exclude>**/dist/**</exclude> <exclude>**/*.*rc</exclude> <exclude>**/src/main/resources/*.*rc</exclude> <!-- IDE files --> <exclude>**/*.iml</exclude> <exclude>**/maven-eclipse.xml</exclude> <exclude>**/.settings/**</exclude> <exclude>**/.project</exclude> <exclude>**/.classpath</exclude> <exclude>.externalToolBuilders/**</exclude> <!-- Docker and Kubernetes (not part of the distribution) --> <exclude>helm/**</exclude> <exclude>docker/**</exclude> <exclude>.trivyignore</exclude> <!-- Pinot-Druid Benchmark (not part of the distribution) --> <exclude>contrib/**</exclude> <!-- Github template files --> <exclude>.github/*.md</exclude> <!-- Test output --> <exclude>**/test-output/**</exclude> <!-- MISC --> <exclude>**/.factorypath</exclude> <!-- specific files --> <exclude>**/src/test/resources/*version-header.properties</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-transform-maven-shade-plugin-extensions</artifactId> <version>0.2.0</version> </dependency> </dependencies> <executions> <execution> <phase>${shade.phase.prop}</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> <configuration> <shadedArtifactAttached>true</shadedArtifactAttached> <createDependencyReducedPom>false</createDependencyReducedPom> <transformers> <!-- See https://logging.apache.org/log4j/transform for details --> <transformer implementation="org.apache.logging.log4j.maven.plugins.shade.transformer.Log4j2PluginCacheFileTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>${mainClass}</mainClass> <manifestEntries> <Multi-Release>true</Multi-Release> </manifestEntries> </transformer> </transformers> <filters> <filter> <artifact>*:*</artifact> <excludes> <!-- Exclude signed manifests --> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> <!-- See https://github.com/apache/pinot/issues/11974 for details --> <exclude>module-info.class</exclude> <!-- Solve NoClassDefFoundError. Borrowed from https://github.com/prometheus/jmx_exporter/issues/802 --> <exclude>META-INF/versions/9/org/yaml/snakeyaml/internal/**</exclude> </excludes> </filter> </filters> <relocations> <relocation> <pattern>com.fasterxml.jackson</pattern> <shadedPattern>${shade.prefix}.com.fasterxml.jackson</shadedPattern> </relocation> <relocation> <pattern>com.google.common</pattern> <shadedPattern>${shade.prefix}.com.google.common</shadedPattern> </relocation> </relocations> </configuration> </plugin> <!-- Include apache LICENSE, NOTICE files for jar resource bundle --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> <configuration> <properties> <projectName>Apache Pinot</projectName> </properties> </configuration> </plugin> </plugins> </build> <!-- TODO: Revisit if we need reporting --> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>3.6.0</version> <configuration> <aggregate>true</aggregate> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <configuration> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <!-- Default configuration for all reports --> <excludePackageNames>protobuf.grpc-java.org.apache.pinot.common.proto</excludePackageNames> </configuration> <reportSets> <reportSet> <id>non-aggregate</id> <configuration> <!-- Specific configuration for the non aggregate report --> <excludePackageNames> org.apache.pinot.common.request:org.apache.pinot.common.response </excludePackageNames> <skip>true</skip> </configuration> <reports> <report>javadoc</report> </reports> </reportSet> <reportSet> <id>aggregate</id> <configuration> <excludePackageNames> org.apache.pinot.common.request:org.apache.pinot.common.response </excludePackageNames> <skip>true</skip> </configuration> <reports> <report>aggregate</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> </project>