<?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.exetension>.sh</script.exetension>
    <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>
            </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.exetension>.bat</script.exetension>
      </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>
