blob: fa62578e5e50a4c2ed4a847fc2cde54b7755e755 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-parent</artifactId>
<version>2.0.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>carbondata-spark_${spark.binary.version}</artifactId>
<name>Apache CarbonData :: Spark</name>
<properties>
<dev.path>${basedir}/../../dev</dev.path>
<jacoco.append>true</jacoco.append>
<build.directory.projectCommon>../../common/target</build.directory.projectCommon>
<build.directory.projectCore>../../core/target</build.directory.projectCore>
<build.directory.projectProcessing>../../processing/target</build.directory.projectProcessing>
<build.directory.projectHadoop>../../hadoop/target</build.directory.projectHadoop>
<build.directory.projectFormat>../../format/target</build.directory.projectFormat>
<build.directory.projectSpark>../../integration/spark/target</build.directory.projectSpark>
<build.directory.projectStoreSdk>../../sdk/sdk/target</build.directory.projectStoreSdk>
<build.directory.projectStreaming>../../streaming/target</build.directory.projectStreaming>
<build.directory.projectBloom>../../index/bloom/target</build.directory.projectBloom>
<build.directory.projectLucene>../../index/lucene/target</build.directory.projectLucene>
<classes.directory.projectCommon>../../common/target/classes</classes.directory.projectCommon>
<classes.directory.projectCore>../../core/target/classes</classes.directory.projectCore>
<classes.directory.projectProcessing>../../processing/target/classes</classes.directory.projectProcessing>
<classes.directory.projectHadoop>../../hadoop/target/classes</classes.directory.projectHadoop>
<classes.directory.projectFormat>../../format/target/classes</classes.directory.projectFormat>
<classes.directory.projectSpark>../../integration/spark/target/classes</classes.directory.projectSpark>
<classes.directory.projectStoreSdk>../../sdk/sdk/target/classes</classes.directory.projectStoreSdk>
<classes.directory.projectStreaming>../../streaming/target/classes</classes.directory.projectStreaming>
<classes.directory.projectBloom>../../index/bloom/target/classes</classes.directory.projectBloom>
<classes.directory.projectLucene>../../index/lucene/target/classes</classes.directory.projectLucene>
<sources.directory.projectCommon>../../common/src/main/java</sources.directory.projectCommon>
<sources.directory.projectCore>../../core/src/main/java</sources.directory.projectCore>
<sources.directory.projectProcessing>../../processing/src/main/java</sources.directory.projectProcessing>
<sources.directory.projectHadoop>../../hadoop/src/main/java</sources.directory.projectHadoop>
<sources.directory.projectFormat>../../format/src/main/thrift</sources.directory.projectFormat>
<sources.directory.projectSpark>../../integration/spark/src/main/scala</sources.directory.projectSpark>
<sources.directory.projectSpark>../../integration/spark/src/main/java</sources.directory.projectSpark>
<sources.directory.projectStoreSdk>../../sdk/sdk/src/main/java</sources.directory.projectStoreSdk>
<sources.directory.projectStreaming>../../streaming/src/main/java</sources.directory.projectStreaming>
<sources.directory.projectStreaming>../../streaming/src/main/scala</sources.directory.projectStreaming>
<sources.directory.projectBloom>../../index/bloom/src/main/java</sources.directory.projectBloom>
<sources.directory.projectLucene>../../index/lucene/src/main/java</sources.directory.projectLucene>
<generated-sources.directory.projectCommon>../../common/target/generated-sources/annotations</generated-sources.directory.projectCommon>
<generated-sources.directory.projectCore>../../core/target/generated-sources/annotations</generated-sources.directory.projectCore>
<generated-sources.directory.projectProcessing>../../processing/target/generated-sources/annotations</generated-sources.directory.projectProcessing>
<generated-sources.directory.projectHadoop>../../hadoop/target/generated-sources/annotations</generated-sources.directory.projectHadoop>
<generated-sources.directory.projectFormat>../../format/target/generated-sources/annotations</generated-sources.directory.projectFormat>
<generated-sources.directory.projectSpark>../../integration/spark/target/generated-sources/annotations</generated-sources.directory.projectSpark>
<generated-sources.directory.projectStoreSdk>../../sdk/sdk/target/generated-sources/annotations</generated-sources.directory.projectStoreSdk>
<generated-sources.directory.projectStreaming>../../streaming/target/generated-sources/annotations</generated-sources.directory.projectStreaming>
<generated-sources.directory.projectBloom>../../index/bloom/target/generated-sources/annotations</generated-sources.directory.projectBloom>
<generated-sources.directory.projectLucene>../../index/lucene/target/generated-sources/annotations</generated-sources.directory.projectLucene>
</properties>
<dependencies>
<!-- carbon -->
<dependency>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-hive</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hive</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.spark-project.hive</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-cli</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-lucene</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-bloom</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-geo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-streaming</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-mv-plan_${spark.binary.version}</artifactId>
<version>${project.version}</version>
</dependency>
<!-- spark -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive-thriftserver_${scala.binary.version}</artifactId>
<exclusions>
<exclusion>
<groupId>com.twitter</groupId>
<artifactId>chill-java</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-repl_${scala.binary.version}</artifactId>
<exclusions>
<exclusion>
<groupId>com.twitter</groupId>
<artifactId>chill-java</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql-kafka-0-10_${scala.binary.version}</artifactId>
<exclusions>
<exclusion>
<groupId>net.jpountz.lz4</groupId>
<artifactId>lz4</artifactId>
</exclusion>
<exclusion>
<groupId>com.twitter</groupId>
<artifactId>chill-java</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jets3t</groupId>
<artifactId>jets3t</artifactId>
<version>0.9.0</version>
</dependency>
<!-- scala -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-reflect</artifactId>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
</dependency>
<!-- test -->
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.binary.version}</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/resources</directory>
</resource>
<resource>
<directory>.</directory>
<includes>
<include>CARBON_SPARK_INTERFACELogResource.properties</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.2</version>
<executions>
<execution>
<id>compile</id>
<goals>
<goal>compile</goal>
</goals>
<phase>compile</phase>
</execution>
<execution>
<id>testCompile</id>
<goals>
<goal>testCompile</goal>
</goals>
<phase>test</phase>
</execution>
<execution>
<phase>process-resources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.carbondata</groupId>
<artifactId>carbondata-format</artifactId>
<version>${project.version}</version>
</artifactItem>
<artifactItem>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.4</version>
</artifactItem>
<artifactItem>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>${snappy.version}</version>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/jars</outputDirectory>
<!-- other configurations here -->
</configuration>
</execution>
<execution>
<id>jacoco-dependency-ant</id>
<goals>
<goal>copy</goal>
</goals>
<phase>process-test-resources</phase>
<inherited>false</inherited>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.ant</artifactId>
<version>0.7.9</version>
</artifactItem>
</artifactItems>
<stripVersion>true</stripVersion>
<outputDirectory>${basedir}/target/jacoco-jars</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18</version>
<!-- Note config is repeated in scalatest config -->
<configuration>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
<argLine>-Xmx3g -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=512m</argLine>
<systemProperties>
<java.awt.headless>true</java.awt.headless>
<spark.carbon.hive.schema.store>${carbon.hive.based.metastore}</spark.carbon.hive.schema.store>
</systemProperties>
<failIfNoTests>false</failIfNoTests>
</configuration>
</plugin>
<plugin>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0</version>
<!-- Note config is repeated in surefire config -->
<configuration>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
<junitxml>.</junitxml>
<filereports>CarbonTestSuite.txt</filereports>
<argLine> ${argLine} -ea -Xmx3g -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=512m
</argLine>
<stderr />
<environmentVariables>
</environmentVariables>
<systemProperties>
<java.awt.headless>true</java.awt.headless>
<spark.carbon.hive.schema.store>${carbon.hive.based.metastore}</spark.carbon.hive.schema.store>
</systemProperties>
</configuration>
<executions>
<execution>
<id>test</id>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>post-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo message="Generating JaCoCo Reports" />
<taskdef name="report" classname="org.jacoco.ant.ReportTask">
<classpath path="${basedir}/target/jacoco-jars/org.jacoco.ant.jar" />
</taskdef>
<mkdir dir="${basedir}/target/coverage-report" />
<report>
<executiondata>
<fileset dir="${build.directory.projectCommon}">
<include name="jacoco.exec" />
</fileset>
<fileset dir="${build.directory.projectCore}">
<include name="jacoco.exec" />
</fileset>
<fileset dir="${build.directory.projectProcessing}">
<include name="jacoco.exec" />
</fileset>
<fileset dir="${build.directory.projectHadoop}">
<include name="jacoco.exec" />
</fileset>
<fileset dir="${build.directory.projectFormat}" erroronmissingdir="false">
<include name="jacoco.exec" />
</fileset>
<fileset dir="${build.directory.projectSpark}" erroronmissingdir="false">
<include name="jacoco.exec" />
</fileset>
<!--<fileset dir="${build.directory.projectHive}" erroronmissingdir="false">
<include name="jacoco.exec" />
</fileset>-->
<!--<fileset dir="${build.directory.projectPresto}" erroronmissingdir="false">
<include name="jacoco.exec" />
</fileset>-->
<fileset dir="${build.directory.projectStoreSdk}" erroronmissingdir="false">
<include name="jacoco.exec" />
</fileset>
<fileset dir="${build.directory.projectStreaming}" erroronmissingdir="false">
<include name="jacoco.exec" />
</fileset>
<fileset dir="${build.directory.projectBloom}" erroronmissingdir="false">
<include name="jacoco.exec" />
</fileset>
<fileset dir="${build.directory.projectLucene}" erroronmissingdir="false">
<include name="jacoco.exec" />
</fileset>
</executiondata>
<structure name="jacoco-CarbonData Coverage Project">
<group name="carbondata-coverage">
<classfiles>
<fileset dir="${classes.directory.projectCommon}" />
<fileset dir="${classes.directory.projectCore}" />
<fileset dir="${classes.directory.projectProcessing}" />
<fileset dir="${classes.directory.projectHadoop}" />
<!--<fileset dir="${classes.directory.projectFormat}" erroronmissingdir="false" />-->
<fileset dir="${classes.directory.projectSpark}" erroronmissingdir="false" />
<!--<fileset dir="${classes.directory.projectHive}" erroronmissingdir="false" />-->
<!--<fileset dir="${classes.directory.projectPresto}" erroronmissingdir="false" />-->
<fileset dir="${classes.directory.projectStoreSdk}" erroronmissingdir="false" />
<fileset dir="${classes.directory.projectStreaming}" erroronmissingdir="false" />
<fileset dir="${classes.directory.projectBloom}" erroronmissingdir="false" />
<fileset dir="${classes.directory.projectLucene}" erroronmissingdir="false" />
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${sources.directory.projectCommon}" />
<fileset dir="${sources.directory.projectCore}" />
<fileset dir="${sources.directory.projectProcessing}" />
<fileset dir="${sources.directory.projectHadoop}" />
<!--<fileset dir="${sources.directory.projectFormat}" erroronmissingdir="false" />-->
<fileset dir="${sources.directory.projectSpark}" erroronmissingdir="false" />
<!--<fileset dir="${sources.directory.projectHive}" erroronmissingdir="false" />-->
<!--<fileset dir="${sources.directory.projectPresto}" erroronmissingdir="false" />-->
<fileset dir="${sources.directory.projectStoreSdk}" erroronmissingdir="false" />
<fileset dir="${sources.directory.projectStreaming}" erroronmissingdir="false" />
<fileset dir="${sources.directory.projectBloom}" erroronmissingdir="false" />
<fileset dir="${sources.directory.projectLucene}" erroronmissingdir="false" />
</sourcefiles>
</group>
</structure>
<html destdir="../../target/carbondata-coverage-report/html" />
<xml destfile="../../target/carbondata-coverage-report/carbondata-coverage-report.xml" />
<csv destfile="../../target/carbondata-coverage-report/carbondata-coverage-report.csv" />
</report>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.ant</artifactId>
<version>0.7.9</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>sdvtest</id>
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
<profile>
<id>spark-2.3</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<spark.binary.version>2.3</spark.binary.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>src/main/spark2.4</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/spark2.3</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>spark-2.4</id>
<properties>
<spark.binary.version>2.4</spark.binary.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>src/main/spark2.3</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/spark2.4</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>