mirror of https://github.com/apache/druid.git
2168 lines
99 KiB
XML
2168 lines
99 KiB
XML
<?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>29.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>0.19.0-SNAPSHOT</tag>
|
|
</scm>
|
|
|
|
<properties>
|
|
<maven.compiler.source>1.8</maven.compiler.source>
|
|
<maven.compiler.target>1.8</maven.compiler.target>
|
|
<java.version>8</java.version>
|
|
<project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
|
|
<aether.version>0.9.0.M2</aether.version>
|
|
<apache.curator.version>5.5.0</apache.curator.version>
|
|
<apache.kafka.version>3.6.0</apache.kafka.version>
|
|
<apache.ranger.version>2.4.0</apache.ranger.version>
|
|
<apache.ranger.gson.version>2.2.4</apache.ranger.gson.version>
|
|
<scala.library.version>2.13.11</scala.library.version>
|
|
<avatica.version>1.23.0</avatica.version>
|
|
<avro.version>1.11.3</avro.version>
|
|
<!-- When updating Calcite, also propagate updates to these files which we've copied and modified:
|
|
default_config.fmpp
|
|
-->
|
|
<calcite.version>1.35.0</calcite.version>
|
|
<confluent.version>6.2.12</confluent.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.19</dropwizard.metrics.version>
|
|
<errorprone.version>2.20.0</errorprone.version>
|
|
<fastutil.version>8.5.4</fastutil.version>
|
|
<guava.version>31.1-jre</guava.version>
|
|
<guice.version>4.1.0</guice.version>
|
|
<hamcrest.version>1.3</hamcrest.version>
|
|
<jetty.version>9.4.53.v20231009</jetty.version>
|
|
<jersey.version>1.19.4</jersey.version>
|
|
<jackson.version>2.12.7</jackson.version>
|
|
<codehaus.jackson.version>1.9.13</codehaus.jackson.version>
|
|
<log4j.version>2.18.0</log4j.version>
|
|
<mysql.version>5.1.49</mysql.version>
|
|
<mariadb.version>2.7.3</mariadb.version>
|
|
<netty3.version>3.10.6.Final</netty3.version>
|
|
<netty4.version>4.1.100.Final</netty4.version>
|
|
<postgresql.version>42.6.0</postgresql.version>
|
|
<protobuf.version>3.24.0</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>
|
|
<mockito.version>5.5.0</mockito.version>
|
|
<!-- mockito-inline artifact was removed in mockito 5.3 (mockito 5.x is required for Java >17),
|
|
however it is required in some cases when running against mockito 4.x (mockito 4.x is required for Java <11.
|
|
We use the following property to pick the proper artifact based on Java version (see pre-java-11 profile) -->
|
|
<mockito.inline.artifact>core</mockito.inline.artifact>
|
|
<aws.sdk.version>1.12.497</aws.sdk.version>
|
|
<caffeine.version>2.8.0</caffeine.version>
|
|
<jacoco.version>0.8.7</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.5.10</zookeeper.version>
|
|
<checkerframework.version>2.5.7</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.apis.storage.version>v1-rev20230301-2.0.0</com.google.apis.storage.version>
|
|
<jdk.strong.encapsulation.argLine><!-- empty placeholder --></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://repo1.maven.org/maven2/</repoOrgUrl>
|
|
|
|
<!-- Allow the handful of flaky tests with transient failures to pass. -->
|
|
<surefire.rerunFailingTestsCount>3</surefire.rerunFailingTestsCount>
|
|
|
|
<!-- 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/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-ranger-security</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/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/kubernetes-overlord-extensions</module>
|
|
<module>extensions-contrib/druid-iceberg-extensions</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>
|
|
</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.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>2.11.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>org.skife.config</groupId>
|
|
<artifactId>config-magic</artifactId>
|
|
<version>0.9</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.minidev</groupId>
|
|
<artifactId>json-smart</artifactId>
|
|
<version>2.4.11</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.yaml</groupId>
|
|
<artifactId>snakeyaml</artifactId>
|
|
<version>1.33</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-jdk15on</artifactId>
|
|
<version>1.70</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-ext-jdk15on</artifactId>
|
|
<version>1.70</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcpkix-jdk15on</artifactId>
|
|
<version>1.70</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcutil-jdk15on</artifactId>
|
|
<version>1.70</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>
|
|
</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>
|
|
</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-multibindings</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.23.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</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>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
<version>2.3.1</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.1</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>it.unimi.dsi</groupId>
|
|
<artifactId>fastutil-extra</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.3.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.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>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.2.13</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>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>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<build>
|
|
<plugins>
|
|
<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>
|
|
</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.2.0</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.2.2</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.16.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>
|
|
</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.target':
|
|
-->
|
|
<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>
|
|
<signature>
|
|
<groupId>org.codehaus.mojo.signature
|
|
</groupId>
|
|
<artifactId>java18</artifactId>
|
|
<version>1.0</version>
|
|
</signature>
|
|
<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>
|
|
</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>
|
|
<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>pl.project13.maven</groupId>
|
|
<artifactId>git-commit-id-plugin</artifactId>
|
|
<version>4.9.10</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.1.2</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}
|
|
-Xmx1500m
|
|
-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
|
|
<!--@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>false</trimStackTrace>
|
|
<!-- our tests are very verbose, let's keep the volume down -->
|
|
<redirectTestOutputToFile>true</redirectTestOutputToFile>
|
|
<forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
|
|
</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.1.1</version>
|
|
</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>
|
|
<configuration>
|
|
<source>${maven.compiler.source}</source>
|
|
<target>${maven.compiler.target}</target>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
<version>1.14.2</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<profiles>
|
|
<!-- mockito 5.x dropped support for Java 8, but is necessary to test against Java >17 -->
|
|
<profile>
|
|
<id>pre-java-11</id>
|
|
<activation>
|
|
<jdk>(,11)</jdk>
|
|
</activation>
|
|
<properties>
|
|
<!-- mockito-inline was removed in mockito 5.3, but is necessary when running against mockito 4.x for Java 8 -->
|
|
<mockito.version>4.11.0</mockito.version>
|
|
<mockito.inline.artifact>inline</mockito.inline.artifact>
|
|
</properties>
|
|
</profile>
|
|
<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>java-9+</id>
|
|
<activation>
|
|
<jdk>[9,)</jdk>
|
|
</activation>
|
|
<properties>
|
|
<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>
|
|
</properties>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<inherited>true</inherited>
|
|
<!-- prefer release instead of source/target in JDK 9 and above -->
|
|
<configuration>
|
|
<release>${java.version}</release>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</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</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-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>**/derby.log</exclude>
|
|
<exclude>**/jvm.config</exclude>
|
|
<exclude>**/*.avsc</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/workflows/codeql-config.yml</exclude>
|
|
<exclude>git.version</exclude>
|
|
<exclude>website/node_modules/**</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 -->
|
|
</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>website-docs</id>
|
|
<modules>
|
|
<module>website</module>
|
|
</modules>
|
|
</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>
|
|
</profiles>
|
|
</project>
|