<?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>1.6.0</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>apache-carbondata-1.6.0-rc1</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>integration/spark-common</module>
    <module>integration/spark-common-test</module>
    <module>integration/hive</module>
    <module>datamap/examples</module>
    <module>store/sdk</module>
    <module>assembly</module>
    <module>tools/cli</module>
  </modules>

  <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.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>
    <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>http://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>*</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</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>*</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>*</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>*</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>*</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>
        </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>
              <append>true</append>
              <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>
              </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 also like spark-2.1 -->
      <id>build-with-format</id>
      <modules>
        <module>format</module>
      </modules>
    </profile>
    <profile>
      <!-- This profile only should be used for release prepare to cover all the modules -->
      <id>build-all</id>
      <properties>
        <spark.version>2.2.1</spark.version>
        <maven.test.skip>true</maven.test.skip>
      </properties>
      <modules>
        <module>format</module>
        <module>integration/spark2</module>
        <module>integration/spark-datasource</module>
        <module>examples/spark2</module>
        <module>integration/hive</module>
        <module>integration/presto</module>
        <module>examples/flink</module>
        <module>streaming</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </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.1</id>
      <properties>
        <spark.version>2.1.0</spark.version>
        <scala.binary.version>2.11</scala.binary.version>
        <scala.version>2.11.8</scala.version>
      </properties>
      <modules>
        <module>integration/spark2</module>
        <module>integration/spark-datasource</module>
        <module>integration/hive</module>
        <module>integration/presto</module>
        <module>streaming</module>
        <module>examples/spark2</module>
        <module>datamap/lucene</module>
        <module>datamap/bloom</module>
      </modules>
      <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}/common/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/core/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/processing/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/hadoop/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/spark2.1</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/commonTo2.1And2.2</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common-test/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common-test/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/presto/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/presto/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/store/sdk/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/datamap/bloom/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/datamap/lucene/src/main/java</sourceDirectory>
              </sourceDirectories>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>spark-2.2</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <spark.version>2.2.1</spark.version>
        <scala.binary.version>2.11</scala.binary.version>
        <scala.version>2.11.8</scala.version>
      </properties>
      <modules>
        <module>integration/spark2</module>
        <module>integration/spark-datasource</module>
        <module>integration/hive</module>
        <module>integration/presto</module>
        <module>streaming</module>
        <module>examples/spark2</module>
        <module>datamap/lucene</module>
        <module>datamap/bloom</module>
      </modules>
      <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}/common/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/core/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/processing/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/hadoop/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/spark2.2</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/commonTo2.1And2.2</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/commonTo2.2And2.3</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common-test/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common-test/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/presto/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/presto/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/store/sdk/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/datamap/bloom/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/datamap/lucene/src/main/java</sourceDirectory>
              </sourceDirectories>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>spark-2.3</id>
      <properties>
        <spark.version>2.3.2</spark.version>
        <scala.binary.version>2.11</scala.binary.version>
        <scala.version>2.11.8</scala.version>
      </properties>
      <modules>
        <module>integration/spark2</module>
        <module>integration/spark-datasource</module>
        <module>integration/hive</module>
        <module>integration/presto</module>
        <module>streaming</module>
        <module>examples/spark2</module>
        <module>datamap/lucene</module>
        <module>datamap/bloom</module>
      </modules>
      <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}/common/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/core/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/processing/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/hadoop/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/commonTo2.2And2.3</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/spark2.3</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark2/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common-test/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/spark-common-test/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/hive/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/integration/presto/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/integration/presto/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/streaming/src/main/scala</sourceDirectory>
                <sourceDirectory>${basedir}/store/sdk/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/datamap/bloom/src/main/java</sourceDirectory>
                <sourceDirectory>${basedir}/datamap/lucene/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>
    <profile>
      <id>mv</id>
      <modules>
        <module>datamap/mv/plan</module>
        <module>datamap/mv/core</module>
      </modules>
    </profile>
  </profiles>

</project>
