| <?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> |
| |
| <artifactId>druid-integration-tests</artifactId> |
| <name>druid-integration-tests</name> |
| <description>druid-integration-tests</description> |
| |
| <parent> |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid</artifactId> |
| <version>0.20.0-SNAPSHOT</version> |
| </parent> |
| |
| <dependencies> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>amazon-kinesis-producer</artifactId> |
| <version>0.13.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.avro</groupId> |
| <artifactId>avro</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.opencsv</groupId> |
| <artifactId>opencsv</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.airlift</groupId> |
| <artifactId>airline</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-kinesis</artifactId> |
| <version>${aws.sdk.version}</version> |
| <exclusions> |
| <!-- aws-java-sdk-core is provided by Druid core. --> |
| <exclusion> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-core</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-core</artifactId> |
| <version>${aws.sdk.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid-core</artifactId> |
| <version>${project.parent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-s3</artifactId> |
| <version>${aws.sdk.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-orc-extensions</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-parquet-extensions</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-avro-extensions</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-s3-extensions</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-kinesis-indexing-service</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-azure-extensions</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-google-extensions</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-hdfs-storage</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-datasketches</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-histogram</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid-aws-common</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid-processing</artifactId> |
| <version>${project.parent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid-sql</artifactId> |
| <version>${project.parent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid-indexing-service</artifactId> |
| <version>${project.parent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>mysql-metadata-storage</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-kafka-indexing-service</artifactId> |
| <version>${project.parent.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.kafka</groupId> |
| <artifactId>kafka-clients</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-basic-security</artifactId> |
| <version>${project.parent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>druid-lookups-cached-global</artifactId> |
| <version>${project.parent.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid.extensions</groupId> |
| <artifactId>simple-client-sslcontext</artifactId> |
| <version>${project.parent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid-services</artifactId> |
| <version>${project.parent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.druid</groupId> |
| <artifactId>druid-server</artifactId> |
| <version>${project.parent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.kafka</groupId> |
| <artifactId>kafka-clients</artifactId> |
| <version>${apache.kafka.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.ws.rs</groupId> |
| <artifactId>jsr311-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.jaxrs</groupId> |
| <artifactId>jackson-jaxrs-smile-provider</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>javax.validation</groupId> |
| <artifactId>validation-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.github.docker-java</groupId> |
| <artifactId>docker-java</artifactId> |
| <version>3.2.0</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.github.docker-java</groupId> |
| <artifactId>docker-java-transport-jersey</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport-native-kqueue</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.github.docker-java</groupId> |
| <artifactId>docker-java-transport-netty</artifactId> |
| <version>3.2.0</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.docker-java</groupId> |
| <artifactId>docker-java-api</artifactId> |
| <version>3.2.0</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport-native-kqueue</artifactId> |
| <version>${netty4.version}</version> |
| <classifier>osx-x86_64</classifier> |
| <scope>runtime</scope> |
| </dependency> |
| |
| <!-- Tests --> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testng</groupId> |
| <artifactId>testng</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.easymock</groupId> |
| <artifactId>easymock</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>**/IT*.java</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifest> |
| <mainClass>org.testng.TestNG</mainClass> |
| </manifest> |
| </archive> |
| </configuration> |
| <executions> |
| <execution> |
| <id>test-jar</id> |
| <phase>package</phase> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>integration-tests</id> |
| <properties> |
| <start.hadoop.docker>false</start.hadoop.docker> |
| <docker.run.skip>false</docker.run.skip> |
| <docker.build.skip>false</docker.build.skip> |
| <override.config.path></override.config.path> |
| <resource.file.dir.path></resource.file.dir.path> |
| <extra.datasource.name.suffix>\ Россия\ 한국\ 中国!?</extra.datasource.name.suffix> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>docker-package</id> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <phase>pre-integration-test</phase> |
| <configuration> |
| <environmentVariables> |
| <DRUID_INTEGRATION_TEST_START_HADOOP_DOCKER>${start.hadoop.docker}</DRUID_INTEGRATION_TEST_START_HADOOP_DOCKER> |
| <DRUID_INTEGRATION_TEST_JVM_RUNTIME>${jvm.runtime}</DRUID_INTEGRATION_TEST_JVM_RUNTIME> |
| <DRUID_INTEGRATION_TEST_GROUP>${groups}</DRUID_INTEGRATION_TEST_GROUP> |
| <DRUID_INTEGRATION_TEST_OVERRIDE_CONFIG_PATH>${override.config.path}</DRUID_INTEGRATION_TEST_OVERRIDE_CONFIG_PATH> |
| <DRUID_INTEGRATION_TEST_RESOURCE_FILE_DIR_PATH>${resource.file.dir.path}</DRUID_INTEGRATION_TEST_RESOURCE_FILE_DIR_PATH> |
| <DRUID_INTEGRATION_TEST_SKIP_BUILD_DOCKER>${docker.build.skip}</DRUID_INTEGRATION_TEST_SKIP_BUILD_DOCKER> |
| <DRUID_INTEGRATION_TEST_SKIP_RUN_DOCKER>${docker.run.skip}</DRUID_INTEGRATION_TEST_SKIP_RUN_DOCKER> |
| </environmentVariables> |
| <executable>${project.basedir}/build_run_cluster.sh</executable> |
| </configuration> |
| </execution> |
| <execution> |
| <id>stop-druid-cluster</id> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <phase>post-integration-test</phase> |
| <configuration> |
| <environmentVariables> |
| <DRUID_INTEGRATION_TEST_SKIP_RUN_DOCKER>${docker.run.skip}</DRUID_INTEGRATION_TEST_SKIP_RUN_DOCKER> |
| </environmentVariables> |
| <executable>${project.basedir}/stop_cluster.sh</executable> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>integration-tests</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <properties> |
| <property> |
| <name>testrunfactory</name> |
| <value>org.testng.DruidTestRunnerFactory</value> |
| </property> |
| </properties> |
| <argLine> |
| -Duser.timezone=UTC |
| -Dfile.encoding=UTF-8 |
| -Ddruid.test.config.dockerIp=${env.DOCKER_IP} |
| -Ddruid.test.config.hadoopDir=${env.HADOOP_DIR} |
| -Ddruid.test.config.extraDatasourceNameSuffix=${extra.datasource.name.suffix} |
| -Ddruid.zk.service.host=${env.DOCKER_IP} |
| -Ddruid.client.https.trustStorePath=client_tls/truststore.jks |
| -Ddruid.client.https.trustStorePassword=druid123 |
| -Ddruid.client.https.keyStorePath=client_tls/client.jks |
| -Ddruid.client.https.certAlias=druid |
| -Ddruid.client.https.keyManagerPassword=druid123 |
| -Ddruid.client.https.keyStorePassword=druid123 |
| </argLine> |
| <reportFormat>plain</reportFormat> <!-- show elapsed time for each test --> |
| <suiteXmlFiles> |
| <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> |
| </suiteXmlFiles> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>de.thetaphi</groupId> |
| <artifactId>forbiddenapis</artifactId> |
| <configuration> |
| <signaturesFiles> |
| <!-- Needed because of https://github.com/policeman-tools/forbidden-apis/issues/126 --> |
| <signaturesFile>../codestyle/joda-time-forbidden-apis.txt</signaturesFile> |
| <signaturesFile>../codestyle/druid-forbidden-apis.txt</signaturesFile> |
| </signaturesFiles> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>int-tests-config-file</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>integration-tests</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <properties> |
| <property> |
| <name>testrunfactory</name> |
| <value>org.testng.DruidTestRunnerFactory</value> |
| </property> |
| </properties> |
| <argLine> |
| -Duser.timezone=UTC |
| -Dfile.encoding=UTF-8 |
| -Ddruid.test.config.type=configFile |
| -Ddruid.test.config.configFile=${env.CONFIG_FILE} |
| -Ddruid.client.https.trustStorePath=client_tls/truststore.jks |
| -Ddruid.client.https.trustStorePassword=druid123 |
| -Ddruid.client.https.keyStorePath=client_tls/client.jks |
| -Ddruid.client.https.certAlias=druid |
| -Ddruid.client.https.keyManagerPassword=druid123 |
| -Ddruid.client.https.keyStorePassword=druid123 |
| </argLine> |
| <suiteXmlFiles> |
| <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> |
| </suiteXmlFiles> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>de.thetaphi</groupId> |
| <artifactId>forbiddenapis</artifactId> |
| <configuration> |
| <signaturesFiles> |
| <!-- Needed because of https://github.com/policeman-tools/forbidden-apis/issues/126 --> |
| <signaturesFile>../codestyle/joda-time-forbidden-apis.txt</signaturesFile> |
| <signaturesFile>../codestyle/druid-forbidden-apis.txt</signaturesFile> |
| </signaturesFiles> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |