<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>17</version>
  </parent>

  <groupId>org.apache.carbondata</groupId>
  <artifactId>carbondata-parent</artifactId>
  <name>Apache CarbonData :: Parent</name>
  <description>Apache CarbonData is an indexed columnar data format for fast analytics
    on big data platform, e.g.Apache Hadoop, Apache Spark, etc.
  </description>
  <url>http://carbondata.apache.org</url>
  <inceptionYear>2016</inceptionYear>
  <packaging>pom</packaging>

  <version>2.1.0-SNAPSHOT</version>

  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <scm>
    <connection>scm:git:https://git-wip-us.apache.org/repos/asf/carbondata.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/carbondata.git</developerConnection>
    <url>https://git-wip-us.apache.org/repos/asf/carbondata.git</url>
    <tag>HEAD</tag>
  </scm>

  <issueManagement>
    <system>jira</system>
    <url>https://issues.apache.org/jira/browse/CARBONDATA</url>
  </issueManagement>

  <mailingLists>
    <mailingList>
      <name>CarbonData Dev</name>
      <subscribe>dev-subscribe@carbondata.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@carbondata.apache.org</unsubscribe>
      <post>dev@carbondata.apache.org</post>
    </mailingList>
    <mailingList>
      <name>CarbonData Issues</name>
      <subscribe>issues-subscribe@carbondata.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@carbondata.apache.org</unsubscribe>
      <post>issues@carbondata.apache.org</post>
    </mailingList>
    <mailingList>
      <name>CarbonData User</name>
      <subscribe>user-subscribe@carbondata.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@carbondata.apache.org</unsubscribe>
      <post>user@carbondata.apache.org</post>
    </mailingList>
    <mailingList>
      <name>CarbonData Commits</name>
      <subscribe>commits-subscribe@carbondata.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@carbondata.apache.org</unsubscribe>
      <post>commits@carbondata.apache.org</post>
    </mailingList>
  </mailingLists>

  <developers>
    <developer>
      <name>The Apache CarbonData Team</name>
      <email>dev@carbondata.apache.org</email>
      <url>http://carbondata.apache.org</url>
      <organization>Apache Software Foundation</organization>
      <organizationUrl>http://www.apache.org</organizationUrl>
    </developer>
  </developers>

  <modules>
    <module>common</module>
    <module>core</module>
    <module>processing</module>
    <module>hadoop</module>
    <module>mv/plan</module>
    <module>index/secondary-index</module>
    <module>index/bloom</module>
    <module>index/lucene</module>
    <module>index/examples</module>
    <module>streaming</module>
    <module>geo</module>
    <module>integration/spark</module>
    <module>integration/hive</module>
    <module>integration/flink</module>
    <module>integration/flink-build</module>
    <module>integration/flink-proxy</module>
    <module>integration/presto</module>
    <module>sdk/sdk</module>
    <module>tools/cli</module>
    <module>examples/spark</module>
    <module>examples/flink</module>
    <module>assembly</module>
  </modules>

  <properties>
    <!--    default properties-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <snappy.version>1.1.2.6</snappy.version>
    <hadoop.version>2.7.2</hadoop.version>
    <httpclient.version>4.3.4</httpclient.version>
    <httpcore.version>4.3-alpha1</httpcore.version>
    <scala.binary.version>2.11</scala.binary.version>
    <scala.version>2.11.8</scala.version>
    <hadoop.deps.scope>compile</hadoop.deps.scope>
    <spark.version>2.3.4</spark.version>
    <spark.binary.version>2.3</spark.binary.version>
    <spark.deps.scope>compile</spark.deps.scope>
    <scala.deps.scope>compile</scala.deps.scope>
    <dev.path>${basedir}/dev</dev.path>
    <spark.master.url>local[2]</spark.master.url>
    <hdfs.url>local</hdfs.url>
    <presto.jdbc.url>localhost:8086</presto.jdbc.url>
    <!--    prestosql by default-->
    <presto.version>316</presto.version>
    <presto.groupid>io.prestosql</presto.groupid>
    <presto.hadoop.groupid>io.prestosql.hadoop</presto.hadoop.groupid>
    <presto.hadoop.artifactid>hadoop-apache</presto.hadoop.artifactid>
    <presto.hadoop.version>3.2.0-2</presto.hadoop.version>
    <airlift.version>0.36</airlift.version>
    <presto.mvn.plugin.groupid>io.prestosql</presto.mvn.plugin.groupid>
    <presto.mvn.plugin.version>6</presto.mvn.plugin.version>
    <presto.depndency.scope>compile</presto.depndency.scope>
    <!--todo:this can be enabled when presto tests need to be run-->
    <!--<spark.hadoop.hive.metastore.uris>thrift://localhost:8086</spark.hadoop.hive.metastore.uris>-->
    <suite.name>org.apache.carbondata.cluster.sdv.suite.SDVSuites</suite.name>
    <script.extension>.sh</script.extension>
    <carbon.hive.based.metastore>false</carbon.hive.based.metastore>
  </properties>

  <repositories>
    <repository>
      <id>central</id>
      <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
      <name>Maven Repository</name>
      <url>https://repo1.maven.org/maven2</url>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
  </repositories>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>${hadoop.version}</version>
        <scope>${hadoop.deps.scope}</scope>
        <exclusions>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>${hadoop.version}</version>
        <scope>${hadoop.deps.scope}</scope>
        <exclusions>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-core</artifactId>
        <version>${hadoop.version}</version>
        <scope>${hadoop.deps.scope}</scope>
        <exclusions>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-aws</artifactId>
        <version>${hadoop.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>${spark.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>${spark.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-catalyst_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>${spark.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>${spark.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-hive-thriftserver_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>${spark.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-repl_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>${spark.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-network-common_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>${spark.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql-kafka-0-10_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>${spark.deps.scope}</scope>
        <exclusions>
          <exclusion>
            <groupId>net.jpountz.lz4</groupId>
            <artifactId>lz4</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.univocity</groupId>
            <artifactId>univocity-parsers</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>${scala.version}</version>
        <scope>${scala.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-reflect</artifactId>
        <version>${scala.version}</version>
        <scope>${scala.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
        <scope>${scala.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-actors</artifactId>
        <version>${scala.version}</version>
        <scope>${scala.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scalap</artifactId>
        <version>${scala.version}</version>
        <scope>${scala.deps.scope}</scope>
      </dependency>
      <dependency>
        <groupId>org.jmockit</groupId>
        <artifactId>jmockit</artifactId>
        <version>1.10</version>
        <exclusions>
          <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.scalatest</groupId>
        <artifactId>scalatest_${scala.binary.version}</artifactId>
        <version>2.2.1</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <additionalparam>-Xdoclint:missing</additionalparam>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>2.4.3</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.17</version>
        <configuration>
          <configLocation>${dev.path}/javastyle-config.xml</configLocation>
          <suppressionsLocation>${dev.path}/javastyle-suppressions.xml</suppressionsLocation>
          <headerLocation>${dev.path}/java.header</headerLocation>
          <consoleOutput>true</consoleOutput>
          <failsOnError>true</failsOnError>
          <linkXRef>false</linkXRef>
          <failOnViolation>true</failOnViolation>
          <includeTestSourceDirectory>false</includeTestSourceDirectory>
          <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
          <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
          <outputFile>${basedir}/target/checkstyle-output.xml</outputFile>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.scalastyle</groupId>
        <artifactId>scalastyle-maven-plugin</artifactId>
        <version>0.8.0</version>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <verbose>false</verbose>
          <failOnViolation>true</failOnViolation>
          <includeTestSourceDirectory>false</includeTestSourceDirectory>
          <failOnWarning>false</failOnWarning>
          <sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
          <testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
          <configLocation>${dev.path}/scalastyle-config.xml</configLocation>
          <outputFile>${basedir}/target/scalastyle-output.xml</outputFile>
          <outputEncoding>${project.build.sourceEncoding}</outputEncoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>3.0.4</version>
        <configuration>
          <excludeFilterFile>${dev.path}/findbugs-exclude.xml</excludeFilterFile>
          <failOnError>true</failOnError>
          <findbugsXmlOutput>true</findbugsXmlOutput>
          <xmlOutput>true</xmlOutput>
          <effort>Max</effort>
        </configuration>
        <executions>
          <execution>
            <id>analyze-compile</id>
            <phase>compile</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.7.9</version>
        <executions>
          <execution>
            <id>default-prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>default-prepare-agent-integration</id>
            <goals>
              <goal>prepare-agent-integration</goal>
            </goals>
          </execution>
          <execution>
            <id>default-report</id>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
          <execution>
            <id>default-report-integration</id>
            <goals>
              <goal>report-integration</goal>
            </goals>
          </execution>
          <execution>
            <id>default-check</id>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <excludes>
                <exclude>**/*SparkUnknownExpression*.class</exclude>
                <exclude>**/org/apache/carbondata/cluster/sdv/generated/*</exclude>
                <exclude>**/org.apache.carbondata.cluster.sdv.generated.*</exclude>
                <exclude>**/org.apache.spark.sql.test.*</exclude>
                <exclude>**/org.apache.carbondata.format.*</exclude>
                <exclude>**/org.apache.carbondata.core.unsafe*</exclude>
              </excludes>
              <includes>
                <include>**/org.apache.*</include>
              </includes>
              <rules>
                <!-- implementation is needed only for Maven 2 -->
                <rule implementation="org.jacoco.maven.RuleConfiguration">
                  <element>BUNDLE</element>
                  <limits>
                    <!-- implementation is needed only for Maven 2 -->
                    <limit implementation="org.jacoco.report.check.Limit">
                      <counter>COMPLEXITY</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>0.10</minimum>
                    </limit>
                  </limits>
                </rule>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>

    </plugins>
  </build>

  <profiles>
    <profile>
      <!--This profile does not build spark module, so user should explicitly give spark profile -->
      <id>build-with-format</id>
      <modules>
        <module>format</module>
      </modules>
    </profile>
    <profile>
      <id>hadoop-2.8</id>
      <properties>
        <hadoop.version>2.8.3</hadoop.version>
        <httpclient.version>4.5.2</httpclient.version>
      </properties>
    </profile>
    <profile>
      <id>spark-2.3</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <spark.binary.version>2.3</spark.binary.version>
        <spark.version>2.3.4</spark.version>
        <scala.binary.version>2.11</scala.binary.version>
        <scala.version>2.11.8</scala.version>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>flatten-maven-plugin</artifactId>
            <version>1.2.2</version>
            <configuration>
              <outputDirectory>${project.build.directory}</outputDirectory>
            </configuration>
            <executions>
              <!-- enable flattening -->
              <execution>
                <id>flatten</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>flatten</goal>
                </goals>
              </execution>
              <!-- ensure proper cleanup -->
              <execution>
                <id>flatten.clean</id>
                <phase>clean</phase>
                <goals>
                  <goal>clean</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eluder.coveralls</groupId>
            <artifactId>coveralls-maven-plugin</artifactId>
            <version>4.3.0</version>
            <configuration>
              <repoToken>opPwqWW41vYppv6KISea3u1TJvE1ugJ5Y</repoToken>
              <sourceEncoding>UTF-8</sourceEncoding>
              <jacocoReports>
                <jacocoReport>${basedir}/target/carbondata-coverage-report/carbondata-coverage-report.xml
                </jacocoReport>
              </jacocoReports>
              <sourceDirectories>
                <sourceDirectory>${basedir}/common/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/core/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/geo/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/geo/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/processing/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/hadoop/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark/src/main/spark2.3</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/sdk/sdk/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/index/bloom/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/index/lucene/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/index/secondary-index/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/index/secondary-index/src/main/java</sourceDirectory>
              </sourceDirectories>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>spark-2.4</id>
      <properties>
        <spark.binary.version>2.4</spark.binary.version>
        <spark.version>2.4.5</spark.version>
        <scala.binary.version>2.11</scala.binary.version>
        <scala.version>2.11.12</scala.version>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>flatten-maven-plugin</artifactId>
            <version>1.2.2</version>
            <configuration>
            </configuration>
            <executions>
              <!-- enable flattening -->
              <execution>
                <id>flatten</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>flatten</goal>
                </goals>
              </execution>
              <!-- ensure proper cleanup -->
              <execution>
                <id>flatten.clean</id>
                <phase>clean</phase>
                <goals>
                  <goal>clean</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eluder.coveralls</groupId>
            <artifactId>coveralls-maven-plugin</artifactId>
            <version>4.3.0</version>
            <configuration>
              <repoToken>opPwqWW41vYppv6KISea3u1TJvE1ugJ5Y</repoToken>
              <sourceEncoding>UTF-8</sourceEncoding>
              <jacocoReports>
                <jacocoReport>${basedir}/target/carbondata-coverage-report/carbondata-coverage-report.xml
                </jacocoReport>
              </jacocoReports>
              <sourceDirectories>
                <sourceDirectory>${basedir}/common/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/core/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/geo/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/geo/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/processing/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/hadoop/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark/src/main/spark2.4</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/sdk/sdk/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/index/bloom/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/index/lucene/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/index/secondary-index/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/index/secondary-index/src/main/java</sourceDirectory>
              </sourceDirectories>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>include-all</id>
    </profile>
    <profile>
      <id>sdvtest</id>
      <modules>
        <module>integration/spark-common-cluster-test</module>
      </modules>
    </profile>
    <profile>
      <id>rat</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <version>0.12</version>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
              <excludeSubProjects>false</excludeSubProjects>
              <consoleOutput>true</consoleOutput>
              <useDefaultExcludes>true</useDefaultExcludes>
              <excludes>
                <exclude>**/target/**/*</exclude>
                <exclude>.github/**/*</exclude>
                <exclude>**/*.iml</exclude>
                <exclude>**/src/test/**/*</exclude>
                <exclude>examples/**/*.csv</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>windows</id>
      <properties>
        <script.extension>.bat</script.extension>
      </properties>
    </profile>
    <!--    prestodb-->
    <profile>
      <id>prestodb</id>
      <properties>
        <presto.version>0.217</presto.version>
        <scala.version>2.11.8</scala.version>
        <airlift.version>0.31</airlift.version>
        <presto.groupid>com.facebook.presto</presto.groupid>
        <presto.hadoop.groupid>com.facebook.presto.hadoop</presto.hadoop.groupid>
        <presto.hadoop.artifactid>hadoop-apache2</presto.hadoop.artifactid>
        <presto.hadoop.version>2.7.4-3</presto.hadoop.version>
        <presto.mvn.plugin.groupid>io.takari.maven.plugins</presto.mvn.plugin.groupid>
        <presto.mvn.plugin.version>0.1.12</presto.mvn.plugin.version>
        <presto.depndency.scope>provided</presto.depndency.scope>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eluder.coveralls</groupId>
            <artifactId>coveralls-maven-plugin</artifactId>
            <version>4.3.0</version>
            <configuration>
              <repoToken>opPwqWW41vYppv6KISea3u1TJvE1ugJ5Y</repoToken>
              <sourceEncoding>UTF-8</sourceEncoding>
              <jacocoReports>
                <jacocoReport>${basedir}/target/carbondata-coverage-report/carbondata-coverage-report.xml
                </jacocoReport>
              </jacocoReports>
              <sourceDirectories>
                <sourceDirectory>${basedir}/integration/presto/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/presto/src/main/java</sourceDirectory>
              </sourceDirectories>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!--    prestosql-->
    <profile>
      <id>prestosql</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <presto.version>316</presto.version>
        <scala.version>2.11.8</scala.version>
        <airlift.version>0.36</airlift.version>
        <presto.groupid>io.prestosql</presto.groupid>
        <presto.hadoop.groupid>io.prestosql.hadoop</presto.hadoop.groupid>
        <presto.hadoop.artifactid>hadoop-apache</presto.hadoop.artifactid>
        <presto.hadoop.version>3.2.0-2</presto.hadoop.version>
        <presto.mvn.plugin.groupid>io.prestosql</presto.mvn.plugin.groupid>
        <presto.mvn.plugin.version>6</presto.mvn.plugin.version>
        <presto.depndency.scope>compile</presto.depndency.scope>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eluder.coveralls</groupId>
            <artifactId>coveralls-maven-plugin</artifactId>
            <version>4.3.0</version>
            <configuration>
              <repoToken>opPwqWW41vYppv6KISea3u1TJvE1ugJ5Y</repoToken>
              <sourceEncoding>UTF-8</sourceEncoding>
              <jacocoReports>
                <jacocoReport>${basedir}/target/carbondata-coverage-report/carbondata-coverage-report.xml
                </jacocoReport>
              </jacocoReports>
              <sourceDirectories>
                <sourceDirectory>${basedir}/integration/presto/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/presto/src/main/java</sourceDirectory>
              </sourceDirectories>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
