| <?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/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>25</version> |
| </parent> |
| |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid</artifactId> |
| <version>34.0.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <name>Druid</name> |
| <description>Druid - A Distributed Column Store</description> |
| <url>https://druid.apache.org/</url> |
| |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0</url> |
| </license> |
| </licenses> |
| |
| <developers> |
| <developer> |
| <name>Apache Druid Committers</name> |
| <url>https://druid.apache.org/community/#committers</url> |
| </developer> |
| </developers> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Apache Druid developers list</name> |
| <subscribe>dev-subscribe@druid.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@druid.apache.org</unsubscribe> |
| <post>dev@druid.apache.org</post> |
| <archive>https://mail-archives.apache.org/mod_mbox/druid-dev</archive> |
| </mailingList> |
| </mailingLists> |
| |
| <inceptionYear>2011</inceptionYear> |
| |
| <scm> |
| <connection>scm:git:ssh://git@github.com/apache/druid.git</connection> |
| <developerConnection>scm:git:ssh://git@github.com/apache/druid.git</developerConnection> |
| <url>https://github.com/apache/druid.git</url> |
| <tag>29.0.0-SNAPSHOT</tag> |
| </scm> |
| |
| <properties> |
| <java.version>11</java.version> |
| <maven.compiler.release>${java.version}</maven.compiler.release> |
| <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding> |
| <aether.version>0.9.0.M2</aether.version> |
| <apache.curator.version>5.8.0</apache.curator.version> |
| <apache.kafka.version>3.9.0</apache.kafka.version> |
| <!-- when updating apache ranger, verify the usage of aws-bundle-sdk vs aws-logs-sdk |
| and update as needed in extensions-core/druid-ranger-security/pm.xml --> |
| <apache.ranger.version>2.4.0</apache.ranger.version> |
| <gson.version>2.10.1</gson.version> |
| <scala.library.version>2.13.14</scala.library.version> |
| <avatica.version>1.25.0</avatica.version> |
| <avro.version>1.11.4</avro.version> |
| <!-- |
| The base calcite parser was copied into the project; when updating Calcite run dev/upgrade-calcite-parser to adopt upstream changes |
| --> |
| <calcite.version>1.37.0</calcite.version> |
| <confluent.version>6.2.12</confluent.version> |
| <cronutils.version>9.2.0</cronutils.version> |
| <datasketches.version>4.2.0</datasketches.version> |
| <datasketches.memory.version>2.2.0</datasketches.memory.version> |
| <derby.version>10.14.2.0</derby.version> |
| <dropwizard.metrics.version>4.2.22</dropwizard.metrics.version> |
| <errorprone.version>2.35.1</errorprone.version> |
| <fastutil.version>8.5.4</fastutil.version> |
| <guava.version>32.0.1-jre</guava.version> |
| <guice.version>5.1.0</guice.version> |
| <hamcrest.version>1.3</hamcrest.version> |
| <jetty.version>9.4.56.v20240826</jetty.version> |
| <jersey.version>1.19.4</jersey.version> |
| <jackson.version>2.12.7.20221012</jackson.version> |
| <codehaus.jackson.version>1.9.13</codehaus.jackson.version> |
| <log4j.version>2.22.1</log4j.version> |
| <mysql.version>8.2.0</mysql.version> |
| <mariadb.version>2.7.3</mariadb.version> |
| <netty3.version>3.10.6.Final</netty3.version> |
| <netty4.version>4.1.118.Final</netty4.version> |
| <postgresql.version>42.7.2</postgresql.version> |
| <protobuf.version>3.25.5</protobuf.version> |
| <resilience4j.version>1.3.1</resilience4j.version> |
| <slf4j.version>1.7.36</slf4j.version> |
| <jna.version>5.13.0</jna.version> |
| <jna-platform.version>5.13.0</jna-platform.version> |
| <hadoop.compile.version>3.3.6</hadoop.compile.version> |
| <graaljs.version>22.3.5</graaljs.version> |
| <mockito.version>5.14.2</mockito.version> |
| <aws.sdk.version>1.12.638</aws.sdk.version> |
| <caffeine.version>2.8.0</caffeine.version> |
| <jacoco.version>0.8.12</jacoco.version> |
| <hibernate-validator.version>6.2.5.Final</hibernate-validator.version> |
| <httpclient.version>4.5.13</httpclient.version> |
| <!-- When upgrading ZK, edit docs and integration tests as well (integration-tests/docker-base/setup.sh) --> |
| <zookeeper.version>3.8.4</zookeeper.version> |
| <checkerframework.version>3.48.1</checkerframework.version> |
| <com.google.apis.client.version>2.2.0</com.google.apis.client.version> |
| <com.google.http.client.apis.version>1.42.3</com.google.http.client.apis.version> |
| <com.google.apis.compute.version>v1-rev20230606-2.0.0</com.google.apis.compute.version> |
| <com.google.cloud.storage.version>2.29.1</com.google.cloud.storage.version> |
| <jdk.strong.encapsulation.argLine> |
| <!-- Strong encapsulation parameters --> |
| <!-- When updating this list, update all four locations: --> |
| <!-- 1) ForkingTaskRunner#STRONG_ENCAPSULATION_PROPERTIES --> |
| <!-- 2) docs/operations/java.md, "Strong encapsulation" section --> |
| <!-- 3) pom.xml, jdk.strong.encapsulation.argLine (here) --> |
| <!-- 4) examples/bin/run-java script --> |
| |
| <!-- required for DataSketches Memory --> |
| --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED |
| --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED |
| --add-opens=java.base/java.nio=ALL-UNNAMED |
| --add-opens=java.base/sun.nio.ch=ALL-UNNAMED |
| --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED |
| |
| <!-- required for NativeIO#getfd --> |
| --add-opens=java.base/java.io=ALL-UNNAMED |
| |
| <!-- required for Guice --> |
| --add-opens=java.base/java.lang=ALL-UNNAMED |
| |
| <!-- required for metrics --> |
| --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED |
| |
| <!-- required for certain EqualsVerifier tests (not required in production) --> |
| --add-opens=java.base/java.util=ALL-UNNAMED |
| </jdk.strong.encapsulation.argLine> |
| <jdk.security.manager.allow.argLine><!-- empty placeholder --></jdk.security.manager.allow.argLine> |
| <repoOrgId>maven.org</repoOrgId> |
| <repoOrgName>Maven Central Repository</repoOrgName> |
| <repoOrgUrl>https://repo.maven.apache.org/maven2/</repoOrgUrl> |
| |
| <!-- Allow the handful of flaky tests with transient failures to pass. --> |
| <surefire.rerunFailingTestsCount>3</surefire.rerunFailingTestsCount> |
| <surefire.trimStackTrace>false</surefire.trimStackTrace> |
| |
| <!-- Using -DskipTests or -P skip-tests will skip both the unit tests and |
| the "new" integration tests. To skip just the unit tests (but run the |
| new integration tests by setting the required profile), use -DskipUTs=true. |
| --> |
| <skipTests>false</skipTests> |
| <skipUTs>${skipTests}</skipUTs> |
| <skipITs>${skipTests}</skipITs> |
| |
| <!-- NetBeans has a problem when we use late binding with @ in the surefire arg line. |
| Therefore we set this empty property here. |
| ref: https://github.com/mapstruct/mapstruct/pull/1241 |
| --> |
| <jacocoArgLine /> |
| <!-- used to enable continuous profiling of jdk17 unit tests in github actions --> |
| <jfrProfilerArgLine></jfrProfilerArgLine> |
| </properties> |
| |
| <modules> |
| <module>processing</module> |
| <module>indexing-hadoop</module> |
| <module>indexing-service</module> |
| <module>server</module> |
| <module>sql</module> |
| <module>services</module> |
| <module>integration-tests</module> |
| <module>benchmarks</module> |
| <module>web-console</module> |
| <!-- Core cloud functionality --> |
| <module>cloud/aws-common</module> |
| <module>cloud/gcp-common</module> |
| <!-- Core extensions --> |
| <module>extensions-core/kubernetes-extensions</module> |
| <module>extensions-core/kubernetes-overlord-extensions</module> |
| <module>extensions-core/avro-extensions</module> |
| <module>extensions-core/azure-extensions</module> |
| <module>extensions-core/datasketches</module> |
| <module>extensions-core/druid-bloom-filter</module> |
| <module>extensions-core/druid-kerberos</module> |
| <module>extensions-core/druid-pac4j</module> |
| <module>extensions-core/hdfs-storage</module> |
| <module>extensions-core/histogram</module> |
| <module>extensions-core/stats</module> |
| <module>extensions-core/kafka-extraction-namespace</module> |
| <module>extensions-core/kafka-indexing-service</module> |
| <module>extensions-core/kinesis-indexing-service</module> |
| <module>extensions-core/multi-stage-query</module> |
| <module>extensions-core/mysql-metadata-storage</module> |
| <module>extensions-core/orc-extensions</module> |
| <module>extensions-core/parquet-extensions</module> |
| <module>extensions-core/postgresql-metadata-storage</module> |
| <module>extensions-core/protobuf-extensions</module> |
| <module>extensions-core/lookups-cached-global</module> |
| <module>extensions-core/lookups-cached-single</module> |
| <module>extensions-core/ec2-extensions</module> |
| <module>extensions-core/s3-extensions</module> |
| <module>extensions-core/druid-aws-rds-extensions</module> |
| <module>extensions-core/simple-client-sslcontext</module> |
| <module>extensions-core/druid-basic-security</module> |
| <module>extensions-core/google-extensions</module> |
| <module>extensions-core/druid-catalog</module> |
| <module>extensions-core/testing-tools</module> |
| <!-- Community extensions --> |
| <module>extensions-contrib/compressed-bigdecimal</module> |
| <module>extensions-contrib/influx-extensions</module> |
| <module>extensions-contrib/cassandra-storage</module> |
| <module>extensions-contrib/dropwizard-emitter</module> |
| <module>extensions-contrib/cloudfiles-extensions</module> |
| <module>extensions-contrib/graphite-emitter</module> |
| <module>extensions-contrib/distinctcount</module> |
| <module>extensions-contrib/statsd-emitter</module> |
| <module>extensions-contrib/time-min-max</module> |
| <module>extensions-contrib/virtual-columns</module> |
| <module>extensions-contrib/thrift-extensions</module> |
| <module>extensions-contrib/ambari-metrics-emitter</module> |
| <module>extensions-contrib/sqlserver-metadata-storage</module> |
| <module>extensions-contrib/kafka-emitter</module> |
| <module>extensions-contrib/redis-cache</module> |
| <module>extensions-contrib/opentsdb-emitter</module> |
| <module>extensions-contrib/materialized-view-maintenance</module> |
| <module>extensions-contrib/materialized-view-selection</module> |
| <module>extensions-contrib/momentsketch</module> |
| <module>extensions-contrib/moving-average-query</module> |
| <module>extensions-contrib/tdigestsketch</module> |
| <module>extensions-contrib/ddsketch</module> |
| <module>extensions-contrib/influxdb-emitter</module> |
| <module>extensions-contrib/gce-extensions</module> |
| <module>extensions-contrib/aliyun-oss-extensions</module> |
| <module>extensions-contrib/prometheus-emitter</module> |
| <module>extensions-contrib/opentelemetry-emitter</module> |
| <module>extensions-contrib/grpc-query</module> |
| <module>extensions-contrib/druid-iceberg-extensions</module> |
| <module>extensions-contrib/druid-deltalake-extensions</module> |
| <module>extensions-contrib/spectator-histogram</module> |
| <module>extensions-contrib/rabbit-stream-indexing-service</module> |
| <module>extensions-contrib/druid-ranger-security</module> |
| <!-- distribution packaging --> |
| <module>distribution</module> |
| <!-- Revised integration tests --> |
| <module>integration-tests-ex/tools</module> |
| <module>integration-tests-ex/image</module> |
| <module>integration-tests-ex/cases</module> |
| <module>quidem-ut</module> |
| </modules> |
| |
| <repositories> |
| <repository> |
| <id>${repoOrgId}</id> |
| <name>${repoOrgName}</name> |
| <url>${repoOrgUrl}</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| |
| <!-- Only used by core, but moved to root for parallel build dependency resolution --> |
| <repository> |
| <id>sigar</id> |
| <url>https://repository.mulesoft.org/nexus/content/repositories/public</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| |
| <repository> |
| <id>cflt-public</id> |
| <url>https://packages.confluent.io/maven/</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| |
| <pluginRepositories> |
| <pluginRepository> |
| <id>${repoOrgId}</id> |
| <name>${repoOrgName}</name> |
| <url>${repoOrgUrl}</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </pluginRepository> |
| </pluginRepositories> |
| <dependencyManagement> |
| <dependencies> |
| <!-- Compile Scope --> |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| <version>1.16.1</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.17.0</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| <version>1.1.1</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-lang</groupId> |
| <artifactId>commons-lang</artifactId> |
| <version>2.6</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-net</groupId> |
| <artifactId>commons-net</artifactId> |
| <version>3.9.0</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.seancfoley</groupId> |
| <artifactId>ipaddress</artifactId> |
| <version>5.3.4</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>3.12.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-text</artifactId> |
| <version>1.10.0</version> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-core</artifactId> |
| <version>${aws.sdk.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-ec2</artifactId> |
| <version>${aws.sdk.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-s3</artifactId> |
| <version>${aws.sdk.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-sts</artifactId> |
| <version>${aws.sdk.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.ning</groupId> |
| <artifactId>compress-lzf</artifactId> |
| <version>1.0.4</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.rvesse</groupId> |
| <artifactId>airline</artifactId> |
| <version>2.8.4</version> |
| </dependency> |
| <dependency> |
| <groupId>net.minidev</groupId> |
| <artifactId>json-smart</artifactId> |
| <version>2.4.11</version> |
| </dependency> |
| |
| <!-- transitive dependency of testng |
| this would be resolved by updating |
| testng to 7.8.0 --> |
| <dependency> |
| <groupId>org.apache.ant</groupId> |
| <artifactId>ant</artifactId> |
| <version>1.10.14</version> |
| </dependency> |
| <!-- transitive dependency of kafka-clients and kubernetes client |
| this should get resolved with the update of above depdendencies --> |
| <dependency> |
| <groupId>org.bitbucket.b_c</groupId> |
| <artifactId>jose4j</artifactId> |
| <version>0.9.6</version> |
| </dependency> |
| <!-- transitive dependency of kafka-clientorg.apache.calcite:calcite-testkit |
| and kafka-protobuf-provider |
| this should get resolved with the update of above depdendencies --> |
| <dependency> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-stdlib</artifactId> |
| <version>1.6.10</version> |
| </dependency> |
| <!-- Transitive dependency of kubernetes-client-java in kubernetes-extension, |
| schema-repo in avro-extensions, and com.google.caliper:caliper in druid-server |
| and direct dependency of druid-ranger |
| --> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${gson.version}</version> |
| </dependency> |
| <!-- Transitive dependency of kubernetes-client java and docker-java-core |
| in kubernetes-extensions and it-integration tests --> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcpkix-jdk18on</artifactId> |
| <version>1.78.1</version> |
| </dependency> |
| <!-- Transitive dependency of hive-common in druid-kerberos, druid-ranger-security and |
| druid-iceberg-extension --> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-configuration2</artifactId> |
| <version>2.10.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.zookeeper</groupId> |
| <artifactId>zookeeper</artifactId> |
| <version>${zookeeper.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport-native-epoll</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-annotations</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.zookeeper</groupId> |
| <artifactId>zookeeper-jute</artifactId> |
| <version>${zookeeper.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.curator</groupId> |
| <artifactId>curator-client</artifactId> |
| <version>${apache.curator.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.zookeeper</groupId> |
| <artifactId>zookeeper</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.curator</groupId> |
| <artifactId>curator-framework</artifactId> |
| <version>${apache.curator.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.curator</groupId> |
| <artifactId>curator-recipes</artifactId> |
| <version>${apache.curator.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.curator</groupId> |
| <artifactId>curator-x-discovery</artifactId> |
| <version>${apache.curator.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite</groupId> |
| <artifactId>calcite-core</artifactId> |
| <version>${calcite.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>net.hydromatic</groupId> |
| <artifactId>aggdesigner-algorithm</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite</groupId> |
| <artifactId>calcite-linq4j</artifactId> |
| <version>${calcite.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica</artifactId> |
| <version>${avatica.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-core</artifactId> |
| <version>${avatica.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-metrics</artifactId> |
| <version>${avatica.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-server</artifactId> |
| <version>${avatica.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-storage-api</artifactId> |
| <version>2.8.1</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>listenablefuture</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| <version>${guice.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject.extensions</groupId> |
| <artifactId>guice-servlet</artifactId> |
| <version>${guice.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject.extensions</groupId> |
| <artifactId>guice-assistedinject</artifactId> |
| <version>${guice.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_annotations</artifactId> |
| <version>${errorprone.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.ibm.icu</groupId> |
| <artifactId>icu4j</artifactId> |
| <version>73.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mozilla</groupId> |
| <artifactId>rhino</artifactId> |
| <version>1.7.14</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| <version>1.26.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.tukaani</groupId> |
| <artifactId>xz</artifactId> |
| <version>1.9</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.luben</groupId> |
| <artifactId>zstd-jni</artifactId> |
| <version>1.5.2-3</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson</groupId> |
| <artifactId>jackson-bom</artifactId> |
| <version>${jackson.version}</version> |
| <scope>import</scope> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <groupId>org.hibernate.validator</groupId> |
| <artifactId>hibernate-validator</artifactId> |
| <version>${hibernate-validator.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.validation</groupId> |
| <artifactId>validation-api</artifactId> |
| <version>2.0.1.Final</version> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.validation</groupId> |
| <artifactId>jakarta.validation-api</artifactId> |
| <version>2.0.2</version> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.inject</groupId> |
| <artifactId>jakarta.inject-api</artifactId> |
| <version>1.0.3</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.el</groupId> |
| <artifactId>javax.el-api</artifactId> |
| <version>3.0.0</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>servlet-api</artifactId> |
| <version>2.5</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.xml.bind</groupId> |
| <artifactId>jakarta.xml.bind-api</artifactId> |
| <version>2.3.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish</groupId> |
| <artifactId>jakarta.el</artifactId> |
| <version>3.0.4</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.grizzly</groupId> |
| <artifactId>grizzly-http-server</artifactId> |
| <version>2.2.16</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jaxb</groupId> |
| <artifactId>jaxb-runtime</artifactId> |
| <version>2.3.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.graalvm.js</groupId> |
| <artifactId>js</artifactId> |
| <version>${graaljs.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.graalvm.js</groupId> |
| <artifactId>js-scriptengine</artifactId> |
| <version>${graaljs.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jdbi</groupId> |
| <artifactId>jdbi</artifactId> |
| <version>2.63.1</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-client</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-core</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-grizzly2</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey.contribs</groupId> |
| <artifactId>jersey-guice</artifactId> |
| <version>${jersey.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.inject.extensions</groupId> |
| <artifactId>guice-servlet</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-server</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-servlet</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-json</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-client</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-http</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-io</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-server</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlet</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlets</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-proxy</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-rewrite</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-security</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| <version>${netty3.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-bom</artifactId> |
| <version>${netty4.version}</version> |
| <scope>import</scope> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| <version>2.12.5</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| <version>2.0.1</version> |
| </dependency> |
| <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-slf4j-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> |
| <dependency> |
| <!-- This is not slf4j's version because of performance concerns |
| http://www.slf4j.org/api/org/slf4j/bridge/SLF4JBridgeHandler.html |
| Please make sure to do performance tests before switching this to slf4j |
| Users wishing to use slf4j's solution are encouraged to also use |
| Logback |
| More info at |
| http://logback.qos.ch/manual/configuration.html#LevelChangePropagator |
| http://www.slf4j.org/legacy.html#jul-to-slf4j |
| --> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-jul</artifactId> |
| <version>${log4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.lmax</groupId> |
| <artifactId>disruptor</artifactId> |
| <version>3.3.6</version> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>elasticache-java-cluster-client</artifactId> |
| <version>1.2.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr4-runtime</artifactId> |
| <version>4.5.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr4-coordinator</artifactId> |
| <version>4.5.3</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>1.5.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-dbcp2</artifactId> |
| <version>2.0.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.lz4</groupId> |
| <artifactId>lz4-java</artifactId> |
| <version>1.8.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.xerial.snappy</groupId> |
| <artifactId>snappy-java</artifactId> |
| <version>1.1.10.4</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.tesla.aether</groupId> |
| <artifactId>tesla-aether</artifactId> |
| <version>0.0.5</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.aether</groupId> |
| <artifactId>aether-api</artifactId> |
| <version>${aether.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.aether</groupId> |
| <artifactId>aether-util</artifactId> |
| <version>${aether.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${httpclient.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| <version>4.4.11</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mapdb</groupId> |
| <artifactId>mapdb</artifactId> |
| <version>1.0.8</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| <version>${derby.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derbynet</artifactId> |
| <version>${derby.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derbyclient</artifactId> |
| <version>${derby.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-math3</artifactId> |
| <version>3.6.1</version> |
| </dependency> |
| <dependency> |
| <groupId>it.unimi.dsi</groupId> |
| <artifactId>fastutil</artifactId> |
| <version>${fastutil.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>it.unimi.dsi</groupId> |
| <artifactId>fastutil-core</artifactId> |
| <version>${fastutil.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.opencsv</groupId> |
| <artifactId>opencsv</artifactId> |
| <version>4.6</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-beanutils</groupId> |
| <artifactId>commons-beanutils</artifactId> |
| <!-- override the transitive dependency from com.opencsv:opensv:4.6 to version 1.9.3 to address CVE-2014-0114 --> |
| <version>1.9.4</version> |
| </dependency> |
| <dependency> |
| <groupId>com.jayway.jsonpath</groupId> |
| <artifactId>json-path</artifactId> |
| <version>2.9.0</version> |
| </dependency> |
| <dependency> |
| <groupId>net.thisptr</groupId> |
| <artifactId>jackson-jq</artifactId> |
| <version>0.0.10</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.roaringbitmap</groupId> |
| <artifactId>RoaringBitmap</artifactId> |
| <version>0.9.49</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>9.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm-commons</artifactId> |
| <version>9.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.asynchttpclient</groupId> |
| <artifactId>async-http-client</artifactId> |
| <!-- Uses Netty 4.1.x --> |
| <version>2.5.3</version> |
| </dependency> |
| <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-platform.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-collections4</artifactId> |
| <version>4.2</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-core</artifactId> |
| <version>${dropwizard.metrics.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-core-asl</artifactId> |
| <version>${codehaus.jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-mapper-asl</artifactId> |
| <version>${codehaus.jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>javax.servlet-api</artifactId> |
| <version>3.1.0</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.activation</groupId> |
| <artifactId>activation</artifactId> |
| <version>1.1.1</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-pool</groupId> |
| <artifactId>commons-pool</artifactId> |
| <version>1.6</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-utils</artifactId> |
| <version>3.0.24</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.ben-manes.caffeine</groupId> |
| <artifactId>caffeine</artifactId> |
| <version>${caffeine.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-artifact</artifactId> |
| <version>3.6.0</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.ws.rs</groupId> |
| <artifactId>jsr311-api</artifactId> |
| <version>1.1.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.schemarepo</groupId> |
| <artifactId>schema-repo-common</artifactId> |
| <version>0.1.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.avro</groupId> |
| <artifactId>avro</artifactId> |
| <version>${avro.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.directory.api</groupId> |
| <artifactId>api-util</artifactId> |
| <version>2.1.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.datasketches</groupId> |
| <artifactId>datasketches-java</artifactId> |
| <version>${datasketches.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.datasketches</groupId> |
| <artifactId>datasketches-memory</artifactId> |
| <version>${datasketches.memory.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.junit</groupId> |
| <artifactId>junit-bom</artifactId> |
| <version>5.10.2</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite</groupId> |
| <artifactId>calcite-testkit</artifactId> |
| <version>${calcite.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.easymock</groupId> |
| <artifactId>easymock</artifactId> |
| <version>5.2.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.13.2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>net.hydromatic</groupId> |
| <artifactId>quidem</artifactId> |
| <version>0.11</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-bom</artifactId> |
| <version>${mockito.version}</version> |
| <scope>import</scope> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <groupId>com.github.docker-java</groupId> |
| <artifactId>docker-java-bom</artifactId> |
| <version>3.3.4</version> |
| <scope>import</scope> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.carrotsearch</groupId> |
| <artifactId>junit-benchmarks</artifactId> |
| <version>0.7.2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.caliper</groupId> |
| <artifactId>caliper</artifactId> |
| <version>0.5-rc1</version> |
| <exclusions> |
| <!-- caliper ships a very old asm version which can cause issues during testing --> |
| <exclusion> |
| <groupId>asm</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.curator</groupId> |
| <artifactId>curator-test</artifactId> |
| <version>${apache.curator.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| </exclusion> |
| </exclusions> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>3.24.2</version> |
| <scope>test</scope> |
| <exclusions> |
| <!-- exclude older byte-buddy until assertj-core depends on 1.14+ for Java 21 --> |
| <exclusion> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.ircclouds.irc</groupId> |
| <artifactId>irc-api</artifactId> |
| <version>1.0-0014</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.maxmind.geoip2</groupId> |
| <artifactId>geoip2</artifactId> |
| <version>0.4.0</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.http-client</groupId> |
| <artifactId>google-http-client</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.http-client</groupId> |
| <artifactId>google-http-client-jackson2</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.postgresql</groupId> |
| <artifactId>postgresql</artifactId> |
| <version>${postgresql.version}</version> |
| </dependency> |
| |
| <!-- GCP --> |
| <dependency> |
| <groupId>com.google.api-client</groupId> |
| <artifactId>google-api-client</artifactId> |
| <version>${com.google.apis.client.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava-jdk5</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.google.http-client</groupId> |
| <artifactId>google-http-client</artifactId> |
| <version>${com.google.http.client.apis.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.http-client</groupId> |
| <artifactId>google-http-client-jackson2</artifactId> |
| <version>${com.google.http.client.apis.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>io.github.resilience4j</groupId> |
| <artifactId>resilience4j-bulkhead</artifactId> |
| <version>${resilience4j.version}</version> |
| </dependency> |
| <!-- GCE --> |
| <dependency> |
| <groupId>com.google.apis</groupId> |
| <artifactId>google-api-services-compute</artifactId> |
| <version>${com.google.apis.compute.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.testng</groupId> |
| <artifactId>testng</artifactId> |
| <version>7.3.0</version> |
| <!-- testng ships guice 4.2, which requires a newer version of guava --> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-all</artifactId> |
| <version>${hamcrest.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| <version>${hamcrest.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.reflections</groupId> |
| <artifactId>reflections</artifactId> |
| <version>0.9.12</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>pl.pragmatists</groupId> |
| <artifactId>JUnitParams</artifactId> |
| <version>1.1.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava-testlib</artifactId> |
| <version>${guava.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>nl.jqno.equalsverifier</groupId> |
| <artifactId>equalsverifier</artifactId> |
| <version>3.15.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.github.stefanbirkner</groupId> |
| <artifactId>system-rules</artifactId> |
| <version>1.19.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.timeandspace</groupId> |
| <artifactId>cron-scheduler</artifactId> |
| <version>0.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-common</artifactId> |
| <version>${hadoop.compile.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs-client</artifactId> |
| <version>${hadoop.compile.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-yarn-common</artifactId> |
| <version>${hadoop.compile.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.immutables</groupId> |
| <artifactId>value-annotations</artifactId> |
| <version>2.8.8</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-mapreduce-client-core</artifactId> |
| <version>${hadoop.compile.version}</version> |
| <scope>provided</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>javax.servlet</groupId> |
| <artifactId>servlet-api</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.jruby.joni</groupId> |
| <artifactId>joni</artifactId> |
| <version>2.1.34</version> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers</artifactId> |
| <version>1.16.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>junit-jupiter</artifactId> |
| <version>1.16.3</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.openrewrite.maven</groupId> |
| <artifactId>rewrite-maven-plugin</artifactId> |
| <version>5.42.0</version> |
| <configuration> |
| <activeRecipes> |
| <recipe>org.apache.druid.RewriteRules</recipe> |
| </activeRecipes> |
| <configLocation>${maven.multiModuleProjectDirectory}/rewrite.yml</configLocation> |
| <checkstyleDetectionEnabled>false</checkstyleDetectionEnabled> |
| <failOnDryRunResults>true</failOnDryRunResults> |
| <pomCacheEnabled>false</pomCacheEnabled> |
| <skipMavenParsing>true</skipMavenParsing> |
| <exclusions> |
| <exclude>**/*.json</exclude> |
| <exclude>**/*.yaml</exclude> |
| </exclusions> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>org.openrewrite.recipe</groupId> |
| <artifactId>rewrite-testing-frameworks</artifactId> |
| <version>2.20.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.openrewrite.recipe</groupId> |
| <artifactId>rewrite-apache</artifactId> |
| <version>1.8.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.openrewrite.recipe</groupId> |
| <artifactId>rewrite-jackson</artifactId> |
| <version>0.6.0</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>${jacoco.version}</version> |
| <configuration> |
| <excludes> |
| <!-- Ignore initialization classes, these are tested by the integration tests. --> |
| <exclude>org/apache/druid/cli/Cli*</exclude> |
| <exclude>org/apache/druid/cli/GuiceRunnable.class</exclude> |
| <exclude>org/apache/druid/cli/*JettyServerInitializer*</exclude> |
| <exclude>org/apache/druid/server/initialization/*Module*</exclude> |
| <exclude>org/apache/druid/server/initialization/jetty/*Module*</exclude> |
| <exclude>org/apache/druid/guice/http/*</exclude> |
| |
| <!-- Ignore cli tools --> |
| <exclude>org/apache/druid/cli/UpdateTables*</exclude> |
| |
| <!-- Ignore generated code --> |
| <exclude>org/apache/druid/math/expr/antlr/Expr*</exclude> <!-- core --> |
| <exclude>org/apache/druid/**/generated/*Benchmark*</exclude> <!-- benchmarks --> |
| <exclude>org/apache/druid/data/input/influx/InfluxLineProtocol*</exclude> <!-- extensions-contrib/influx-extensions --> |
| |
| <!-- Ignore non-production code --> |
| <exclude>org/apache/druid/benchmark/**/*</exclude> <!-- benchmarks --> |
| <exclude>org/apache/druid/**/*Benchmark*</exclude> <!-- benchmarks --> |
| <exclude>org/apache/druid/testing/**/*</exclude> <!-- integration-tests --> |
| <!-- The "new" ITs put the test classes into the above testing package. However, |
| the "old" version has them sprinked through the module tree. Remove the following |
| once the old version is retired. --> |
| <exclude>org/apache/druid/server/coordination/ServerManagerForQueryErrorTest.class</exclude> |
| <exclude>org/apache/druid/guice/SleepModule.class</exclude> |
| <exclude>org/apache/druid/guice/CustomNodeRoleClientModule.class</exclude> |
| <exclude>org/apache/druid/cli/CustomNodeRoleCommandCreator.class</exclude> |
| <exclude>org/apache/druid/cli/QueryRetryTestCommandCreator.class</exclude> |
| |
| <!-- Exceptions --> |
| <exclude>org/apache/druid/query/TruncatedResponseContextException.class</exclude> |
| |
| <exclude>org/apache/druid/common/aws/AWSCredentials*</exclude> |
| <exclude>com/fasterxml/jackson/databind/*</exclude> |
| </excludes> |
| <!-- fileSets specify the target locations which will be scanned by jacoco:merge --> |
| <fileSets> |
| <fileSet> |
| <directory>${project.basedir}</directory> |
| <includes> |
| <include>**/target/jacoco*.exec</include> |
| </includes> |
| </fileSet> |
| </fileSets> |
| </configuration> |
| <executions> |
| <execution> |
| <id>prepare-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| <configuration> |
| <propertyName>jacocoArgLine</propertyName> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>3.0.0</version> |
| <configuration> |
| <sourceDirectories> |
| <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> |
| </sourceDirectories> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <configLocation>codestyle/checkstyle.xml</configLocation> |
| <suppressionsLocation>codestyle/checkstyle-suppressions.xml</suppressionsLocation> |
| <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression> |
| <encoding>UTF-8</encoding> |
| <headerLocation>codestyle/LICENSE.txt</headerLocation> |
| <consoleOutput>true</consoleOutput> |
| <failsOnError>true</failsOnError> |
| <excludes> |
| *com/fasterxml/jackson/databind/* |
| </excludes> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>8.21</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>validate</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.8.6.6</version> |
| <dependencies> |
| <!-- overwrite dependency on spotbugs if you want to specify the version of spotbugs --> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs</artifactId> |
| <version>4.8.6</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <excludeFilterFile>codestyle/spotbugs-exclude.xml</excludeFilterFile> |
| <maxHeap>768</maxHeap> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.26.0</version> |
| <configuration> |
| <linkXRef>false</linkXRef> <!-- prevent "Unable to locate Source XRef to link to" warning --> |
| <printFailingErrors>true</printFailingErrors> |
| <rulesets> |
| <ruleset>${project.parent.basedir}/codestyle/pmd-ruleset.xml</ruleset> |
| </rulesets> |
| <excludeRoots> |
| <excludeRoot>target/generated-sources/</excludeRoot> |
| </excludeRoots> |
| <targetJdk>${maven.compiler.release}</targetJdk> |
| </configuration> |
| <executions> |
| <execution> |
| <id>validate</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>de.thetaphi</groupId> |
| <artifactId>forbiddenapis</artifactId> |
| <version>3.2</version> |
| <configuration> |
| <ignoreSignaturesOfMissingClasses>true</ignoreSignaturesOfMissingClasses> |
| <bundledSignatures> |
| <!-- |
| This will automatically choose the right |
| signatures based on 'maven.compiler.release': |
| --> |
| <bundledSignature>jdk-unsafe</bundledSignature> |
| </bundledSignatures> |
| <signaturesFiles> |
| <signaturesFile>${project.parent.basedir}/codestyle/joda-time-forbidden-apis.txt</signaturesFile> |
| <signaturesFile>${project.parent.basedir}/codestyle/druid-forbidden-apis.txt</signaturesFile> |
| </signaturesFiles> |
| <excludes> |
| <exclude>**/SomeAvroDatum.class</exclude> |
| <exclude>**/DruidSqlParserImpl.class</exclude> |
| <exclude>**/DruidSqlParserImplTokenManager.class</exclude> |
| <exclude>**/SimpleCharStream.class</exclude> |
| </excludes> |
| <suppressAnnotations> |
| <annotation>**.SuppressForbidden</annotation> |
| </suppressAnnotations> |
| </configuration> |
| <executions> |
| <execution> |
| <id>compile</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <bundledSignatures> |
| <!-- Check jdk-system-out only for production code, but not in test code --> |
| <bundledSignature>jdk-unsafe</bundledSignature> |
| <bundledSignature>jdk-system-out</bundledSignature> |
| </bundledSignatures> |
| </configuration> |
| </execution> |
| <execution> |
| <id>testCompile</id> |
| <phase>test-compile</phase> |
| <goals> |
| <goal>testCheck</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>animal-sniffer-maven-plugin</artifactId> |
| <version>1.23</version> |
| <executions> |
| <execution> |
| <id>check-java-api</id> |
| <phase>test</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <!-- checks for ${java.version}, TODO: replace this plugin with release flag with javac, see https://openjdk.org/jeps/247 --> |
| <ignores> |
| <!-- Some of our code uses sun.* classes directly, which are not part of |
| the JDK signature (although they are there anyway). --> |
| <ignore>sun.nio.ch.DirectBuffer</ignore> |
| <ignore>sun.misc.Cleaner</ignore> |
| <ignore>sun.misc.Unsafe</ignore> |
| <!-- ignore java reflection polymorphic api signatures --> |
| <ignore>java.lang.invoke.MethodHandle</ignore> |
| <!-- For ignoring java.lang.ClassLoader#getPlatformClassLoader since that's present in java 9+. |
| Need to be added since animal sniffer is using JDK8 signature currently. --> |
| <ignore>java.lang.ClassLoader</ignore> |
| <!-- |
| For the following java.nio.* classes, we get errors like: "Undefined reference: java.nio.ByteBuffer java.nio.ByteBuffer.clear()" |
| GitHub issue: https://github.com/mojohaus/animal-sniffer/issues/4 |
| --> |
| <ignore>java.nio.ByteBuffer</ignore> |
| <ignore>java.nio.IntBuffer</ignore> |
| <ignore>java.nio.CharBuffer</ignore> |
| <ignore>java.nio.FloatBuffer</ignore> |
| <ignore>java.nio.DoubleBuffer</ignore> |
| <ignore>java.nio.MappedByteBuffer</ignore> |
| </ignores> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.0.0</version> |
| <executions> |
| <execution> |
| <id>default-cli</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <banDuplicatePomDependencyVersions/> |
| <requireMavenVersion> |
| <version>3.0.0</version> |
| </requireMavenVersion> |
| <requireJavaVersion> |
| <version>1.8.0</version> |
| </requireJavaVersion> |
| <bannedDependencies> |
| <excludes> |
| <!--LGPL licenced library--> |
| <exclude>com.google.code.findbugs:annotations</exclude> |
| </excludes> |
| </bannedDependencies> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifestEntries> |
| <Build-Jdk>${java.version} (${java.vendor} ${java.vm.version})</Build-Jdk> |
| <Build-OS>${os.name} ${os.arch} ${os.version}</Build-OS> |
| <Build-Timestamp>${git.build.time}</Build-Timestamp> |
| <Build-Version>${git.build.version}</Build-Version> |
| <Build-Revision>${git.commit.id}</Build-Revision> |
| <Build-Revision-Describe>${git.commit.id.describe}</Build-Revision-Describe> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>io.github.git-commit-id</groupId> |
| <artifactId>git-commit-id-maven-plugin</artifactId> |
| <version>9.0.1</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>revision</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <dotGitDirectory>${project.basedir}/.git</dotGitDirectory> |
| <dateFormatTimeZone>Etc/UTC</dateFormatTimeZone> |
| <skipPoms>false</skipPoms> |
| <format>json</format> |
| <generateGitPropertiesFile>true</generateGitPropertiesFile> |
| <generateGitPropertiesFilename>${project.build.directory}/git.version</generateGitPropertiesFilename> |
| <failOnNoGitDirectory>false</failOnNoGitDirectory> |
| <useNativeGit>true</useNativeGit> |
| <excludeProperties> |
| <excludeProperty>git.build.user.email</excludeProperty> |
| <excludeProperty>git.build.host</excludeProperty> |
| <excludeProperty>git.commit.id.describe-short</excludeProperty> |
| <excludeProperty>git.commit.user.*</excludeProperty> |
| <excludeProperty>git.commit.message.*</excludeProperty> |
| <excludeProperty>git.closest.tag.*</excludeProperty> |
| <excludeProperty>git.commit.id.abbrev</excludeProperty> |
| <excludeProperty>git.dirty</excludeProperty> |
| </excludeProperties> |
| <gitDescribe> |
| <skip>false</skip> |
| <always>true</always> |
| <abbrev>7</abbrev> |
| <dirty>-dirty</dirty> |
| <forceLongFormat>true</forceLongFormat> |
| </gitDescribe> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>process-resource-bundles</id> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| <configuration> |
| <properties> |
| <projectName>Apache Druid</projectName> |
| </properties> |
| <resourceBundles> |
| <resourceBundle>org.apache.apache.resources:apache-jar-resource-bundle:1.5</resourceBundle> |
| </resourceBundles> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <version>7.4.4</version> |
| <configuration> |
| <failBuildOnCVSS>7</failBuildOnCVSS> |
| <skipProvidedScope>true</skipProvidedScope> |
| <skipSystemScope>true</skipSystemScope> <!-- avoid error when processing jdk.tools:jdk.tools:jar:1.8:system --> |
| <!-- For node analysis info, see https://github.com/jeremylong/DependencyCheck/issues/2482#issuecomment-603755623 --> |
| <nodeAnalyzerEnabled>false</nodeAnalyzerEnabled> <!-- plugin author (jeremylong) recommends to disable, since this analyzer is retired --> |
| <nodeAuditSkipDevDependencies>true</nodeAuditSkipDevDependencies> |
| <suppressionFile>owasp-dependency-check-suppressions.xml</suppressionFile> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>none</phase> <!-- TODO: Consider enabling so part of dev flow instead of just CI --> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.cyclonedx</groupId> |
| <artifactId>cyclonedx-maven-plugin</artifactId> |
| <version>2.7.9</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>makeBom</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>com.googlecode.fmpp-maven-plugin</groupId> |
| <artifactId>fmpp-maven-plugin</artifactId> |
| <version>1.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>3.2.5</version> |
| <configuration> |
| <!-- locale settings must be set on the command line before startup --> |
| <!-- set default options --> |
| <argLine> |
| @{jacocoArgLine} |
| ${jdk.strong.encapsulation.argLine} |
| ${jdk.security.manager.allow.argLine} |
| -Xmx2048m |
| -XX:MaxDirectMemorySize=2500m |
| -XX:+ExitOnOutOfMemoryError |
| -XX:+HeapDumpOnOutOfMemoryError |
| -Duser.language=en |
| -Duser.GroupByQueryRunnerTest.javacountry=US |
| -Dfile.encoding=UTF-8 |
| -Duser.timezone=UTC |
| -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager |
| -Daws.region=us-east-1 <!-- required for s3-related unit tests --> |
| -Ddruid.test.stupidPool.poison=true |
| -XX:OnOutOfMemoryError=${project.parent.basedir}/dev/chmod-heap-dumps.sh |
| -XX:HeapDumpPath=${project.parent.basedir}/target |
| <!--@TODO After fixing https://github.com/apache/druid/issues/4964 remove this parameter--> |
| -Ddruid.indexing.doubleStorage=double |
| ${jfrProfilerArgLine} |
| </argLine> |
| <!-- Skip the tests which Surefire runs. Surefire runs the unit tests, |
| while its sister plugin, Failsafe, runs the "new" ITs. --> |
| <skipTests>${skipUTs}</skipTests> |
| <trimStackTrace>${surefire.trimStackTrace}</trimStackTrace> |
| <!-- our tests are very verbose, let's keep the volume down --> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/> |
| <!-- Surefire default is to exclude static inner classes; which may lead to the ignore of static inner classes |
| https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#excludes --> |
| <excludes> |
| <exclude/> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>2.5</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.3.0</version> |
| <configuration> |
| <ignoredNonTestScopedDependencies> |
| <ignoredNonTestScopedDependency>*</ignoredNonTestScopedDependency> |
| </ignoredNonTestScopedDependencies> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>2.7</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-install-plugin</artifactId> |
| <version>2.3.1</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>install</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>3.2.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.5.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.11.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.scala-tools</groupId> |
| <artifactId>maven-scala-plugin</artifactId> |
| <version>2.15.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr4-maven-plugin</artifactId> |
| <version>4.5.3</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>1.8</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>javacc-maven-plugin</artifactId> |
| <version>2.4</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.10.1</version> |
| <configuration> |
| <!-- jdk8 started linting javadocs by default; ours are not fully compliant --> |
| <additionalparam>-Xdoclint:none</additionalparam> |
| |
| <!-- HadoopFsWrapper javadocs cannot be generated due to missing annotations --> |
| <excludePackageNames>org.apache.hadoop.fs</excludePackageNames> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.11.0</version> |
| <inherited>true</inherited> |
| <configuration> |
| <release>${maven.compiler.release}</release> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.eirslett</groupId> |
| <artifactId>frontend-maven-plugin</artifactId> |
| <version>1.15.0</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>java-12+</id> |
| <activation> |
| <jdk>[12,)</jdk> |
| </activation> |
| <properties> |
| <jdk.security.manager.allow.argLine> |
| <!-- required for system-rules with Java >= 18 https://github.com/stefanbirkner/system-rules/issues/85 --> |
| <!-- this option is only available starting in Java 12 --> |
| -Djava.security.manager=allow |
| </jdk.security.manager.allow.argLine> |
| </properties> |
| </profile> |
| <profile> |
| <id>strict</id> |
| <activation> |
| <property> |
| <name>strictCompile</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <fork>true</fork> |
| <meminitial>1024m</meminitial> |
| <maxmem>3000m</maxmem> |
| <release>${java.version}</release> |
| <showWarnings>false</showWarnings> |
| <compilerArgs> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-Xplugin:ErrorProne -XepExcludedPaths:.*/target/generated-(test-)?sources/.* -XepDisableWarningsInGeneratedCode -Xep:ClassCanBeStatic:ERROR -Xep:PreconditionsInvalidPlaceholder:ERROR -Xep:MissingOverride:ERROR -Xep:DefaultCharset:ERROR -Xep:QualifierOrScopeOnInjectMethod:ERROR -Xep:AssistedInjectAndInjectOnSameConstructor -Xep:AutoFactoryAtInject -Xep:ClassName -Xep:ComparisonContractViolated -Xep:DepAnn -Xep:EmptyIf -Xep:InjectInvalidTargetingOnScopingAnnotation -Xep:InjectMoreThanOneQualifier -Xep:InjectScopeAnnotationOnInterfaceOrAbstractClass -Xep:InjectScopeOrQualifierAnnotationRetention -Xep:InjectedConstructorAnnotations -Xep:InsecureCryptoUsage -Xep:JavaxInjectOnFinalField -Xep:LongLiteralLowerCaseSuffix -Xep:NoAllocation -Xep:NonRuntimeAnnotation -Xep:NumericEquality -Xep:ProtoStringFieldReferenceEquality -Xep:CheckedExceptionNotThrown:ERROR</arg> |
| <!-- Error Prone requires exemptions for Java >= 16, see https://errorprone.info/docs/installation#maven --> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=java.base/sun.nio.ch=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> |
| </compilerArgs> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>${errorprone.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>parallel-test</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration combine.self="override"> |
| <forkCount>${maven.fork.count}</forkCount> |
| <reuseForks>true</reuseForks> |
| <trimStackTrace>false</trimStackTrace> |
| <!-- locale settings must be set on the command line before startup --> |
| <!-- set heap size to work around https://github.com/travis-ci/travis-ci/issues/3396 --> |
| <argLine> |
| -Xmx768m -Duser.language=en -Duser.country=US -Dfile.encoding=UTF-8 |
| -XX:+ExitOnOutOfMemoryError |
| -XX:+HeapDumpOnOutOfMemoryError |
| -Duser.timezone=UTC -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager |
| -Daws.region=us-east-1 <!-- required for s3-related unit tests --> |
| -Ddruid.test.stupidPool.poison=true |
| <!--@TODO After fixing https://github.com/apache/druid/issues/4964 remove this parameter--> |
| -Ddruid.indexing.doubleStorage=double |
| </argLine> |
| <!-- our tests are very verbose, let's keep the volume down --> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <!-- Run Apache Rat license checks in a separate profile, because during local builds it doesn't skip files |
| that are not checked into Git --> |
| <profile> |
| <id>rat</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>0.15</version> |
| <executions> |
| <execution> |
| <phase>verify</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <outputDirectory>${project.basedir}/rat</outputDirectory> |
| <licenses> |
| <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>MIT</licenseFamilyCategory> |
| <licenseFamilyName>MIT JQuery</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors</pattern> |
| <pattern>Copyright 2012 jQuery Foundation and other contributors; Licensed MIT</pattern> |
| <pattern>jQuery Foundation, Inc. | jquery.org/license</pattern> |
| </patterns> |
| </license> |
| <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>Underscore</licenseFamilyCategory> |
| <licenseFamilyName>Underscore</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>Underscore is freely distributable under the MIT license</pattern> |
| </patterns> |
| </license> |
| <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>Allan Jardine</licenseFamilyCategory> |
| <licenseFamilyName>Allan Jardine</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>Copyright 2009 Allan Jardine. All Rights Reserved</pattern> |
| </patterns> |
| </license> |
| <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>Allan Jardine</licenseFamilyCategory> |
| <licenseFamilyName>Allan Jardine</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>Copyright 2009 Allan Jardine. All Rights Reserved</pattern> |
| <pattern>Copyright 2008-2011 Allan Jardine</pattern> |
| <pattern>GPL v2 or BSD 3 point style</pattern> |
| </patterns> |
| </license> |
| </licenses> |
| |
| <licenseFamilies> |
| <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily"> |
| <familyName>MIT JQuery</familyName> |
| </licenseFamily> |
| <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily"> |
| <familyName>Underscore</familyName> |
| </licenseFamily> |
| <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily"> |
| <familyName>Allan Jardine</familyName> |
| </licenseFamily> |
| </licenseFamilies> |
| <excludes> |
| <exclude>publications/**</exclude> |
| <exclude>codestyle/*-forbidden-apis.txt</exclude> |
| <exclude>conf/**</exclude> |
| <exclude>docker/*.conf</exclude> |
| <exclude>docker/service-supervisords/*.conf</exclude> |
| <exclude>**/target/**</exclude> |
| <exclude>licenses/**</exclude> |
| <exclude>**/test/resources/**/*</exclude> <!-- test data for "old" ITs. --> |
| <exclude>**/docker/client_tls/*</exclude> <!-- generated files for "old" ITs. --> |
| <exclude>resources/data/**/*</exclude> <!-- test data for "new" ITs. --> |
| <exclude>**/jvm.config</exclude> |
| <exclude>**/*.avsc</exclude> |
| <exclude>**/*.png</exclude> |
| <exclude>**/*.log</exclude> |
| <exclude>**/*.jpg</exclude> |
| <exclude>**/*.gif</exclude> |
| <exclude>examples/quickstart/protobuf/metrics.desc</exclude> |
| <exclude>examples/var/sv/.lock</exclude> |
| <exclude>**/*.iml</exclude> |
| <exclude>**/*.json</exclude> |
| <exclude>**/*.parq</exclude> |
| <exclude>**/*.parquet</exclude> |
| <exclude>**/*.pmd</exclude> <!-- Artifact of maven-pmd-plugin --> |
| <exclude>**/*.pmdruleset.xml</exclude> <!-- Artifact of maven-pmd-plugin --> |
| <exclude>**/docker/schema-registry/*</exclude> |
| <exclude>LICENSE</exclude> |
| <exclude>LICENSE.BINARY</exclude> |
| <exclude>NOTICE</exclude> |
| <exclude>NOTICE.BINARY</exclude> |
| <exclude>LABELS</exclude> |
| <exclude>.github/ISSUE_TEMPLATE/*.md</exclude> |
| <exclude>.github/pull_request_template.md</exclude> |
| <exclude>.github/dependabot.yml</exclude> |
| <exclude>.github/workflows/codeql.yml</exclude> |
| <exclude>.github/config/codeql-config.yml</exclude> |
| <exclude>git.version</exclude> |
| <exclude>src/**/*.snap</exclude> |
| <exclude>examples/conf/**</exclude> |
| <exclude>.asf.yaml</exclude> |
| <exclude>**/dependency-reduced-pom.xml</exclude> |
| <exclude>.editorconfig</exclude> |
| <exclude>**/hadoop.indexer.libs.version</exclude> |
| <exclude>**/codegen/**/*</exclude> |
| <exclude>**/.settings/**/*</exclude> <!-- Eclipse --> |
| <exclude>**/.classpath</exclude> <!-- Eclipse --> |
| <exclude>**/.project</exclude> <!-- Eclipse --> |
| <exclude>**/*.iq</exclude> <!-- quidem testfiles --> |
| <exclude>**/*.iq.out</exclude> <!-- quidem testfiles --> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <!-- Prevent the source-release-assembly execution defined in the Apache parent POM from running |
| so we can control it ourselves --> |
| <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> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <executions> |
| <execution> |
| <phase>compile</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>skip-static-checks</id> |
| <properties> |
| <animal.sniffer.skip>true</animal.sniffer.skip> |
| <cyclonedx.skip>true</cyclonedx.skip> |
| <checkstyle.skip>true</checkstyle.skip> |
| <enforcer.skip>true</enforcer.skip> |
| <forbiddenapis.skip>true</forbiddenapis.skip> |
| <maven.javadoc.skip>true</maven.javadoc.skip> |
| <pmd.skip>true</pmd.skip> |
| <spotbugs.skip>true</spotbugs.skip> |
| <maven.gitcommitid.skip>true</maven.gitcommitid.skip> |
| </properties> |
| </profile> |
| <profile> |
| <id>skip-tests</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <skipTests>true</skipTests> <!-- skips both UTs and ITs --> |
| <jacoco.skip>true</jacoco.skip> |
| </properties> |
| </profile> |
| <profile> |
| <id>ci</id> |
| </profile> |
| </profiles> |
| </project> |