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

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

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

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>19</version>
    <relativePath />
    <!-- no parent resolution -->
  </parent>

  <groupId>org.apache.kylin</groupId>
  <artifactId>kylin</artifactId>
  <packaging>pom</packaging>
  <version>4.0.2</version>

  <name>Apache Kylin</name>
  <url>http://kylin.apache.org</url>
  <inceptionYear>2014</inceptionYear>


  <properties>
    <!-- General Properties -->
    <javaVersion>1.8</javaVersion>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven-model.version>3.3.9</maven-model.version>
    <maven-compiler.version>3.5.1</maven-compiler.version>
    <maven-site.version>3.5.1</maven-site.version>
    <maven-install.version>2.5.2</maven-install.version>
    <maven-resources.version>3.0.1</maven-resources.version>
    <maven-shade.version>3.1.0</maven-shade.version>
    <maven-jar.version>3.0.2</maven-jar.version>
    <maven-war.version>2.6</maven-war.version>
    <maven-release.version>2.5.3</maven-release.version>
    <maven-checkstyle.version>2.17</maven-checkstyle.version>
    <checksum-maven.version>1.3</checksum-maven.version>
    <exec-maven.version>1.6.0</exec-maven.version>
    <maven-dependency.version>2.10</maven-dependency.version>
    <maven-project-info-reports.version>2.9</maven-project-info-reports.version>
    <eclipse.lifecycle-mapping.version>1.0.1</eclipse.lifecycle-mapping.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <puppycrawl.version>8.18</puppycrawl.version>
    <spotbugs.version>3.1.1</spotbugs.version>

    <!-- Hadoop versions -->
    <hadoop2.version>2.10.2</hadoop2.version>
    <yarn.version>2.10.2</yarn.version>

    <!-- Hive versions -->
    <hive.version>2.3.7</hive.version>
    <hive-hcatalog.version>2.3.7</hive-hcatalog.version>

    <!-- HBase versions -->
    <hbase-hadoop2.version>1.1.1</hbase-hadoop2.version>

    <!-- Kafka versions -->
    <kafka.version>1.0.0</kafka.version>

    <!-- Spark versions -->
    <spark.version>3.1.3</spark.version>
    <spark.version.dir>spark31</spark.version.dir>
    <janino.version>3.0.16</janino.version>

    <kryo.version>4.0.0</kryo.version>

    <!-- Flink versions -->
    <flink.version>1.9.0</flink.version>

    <!-- mysql versions -->
    <mysql-connector.version>5.1.8</mysql-connector.version>

    <!-- Scala versions -->
    <scala.version>2.12.10</scala.version>
    <scala.binary.version>2.12</scala.binary.version>

    <reflections.version>0.9.10</reflections.version>

    <!-- Calcite Version, the kylin fork is: https://github.com/Kyligence/calcite -->
    <calcite.version>1.16.0-kylin-r5</calcite.version>
    <avatica.version>1.12.0</avatica.version>

    <!-- Hadoop Common deps, keep compatible with hadoop2.version -->
    <zookeeper.version>3.4.13</zookeeper.version>
    <curator.version>2.12.0</curator.version>
    <jsr305.version>3.0.1</jsr305.version>
    <!-- kylin use shaded-guava, this version for unify guava version of other dependencies -->
    <guava.version>14.0</guava.version>
    <jsch.version>0.1.54</jsch.version>
    <commons-cli.version>1.2</commons-cli.version>
    <commons-lang.version>2.6</commons-lang.version>
    <commons-httpclient.version>3.1</commons-httpclient.version>
    <commons-io.version>2.11.0</commons-io.version>
    <commons-upload.version>1.3.3</commons-upload.version>
    <commons-math3.version>3.1.1</commons-math3.version>
    <commons-collections.version>3.2.2</commons-collections.version>
    <commons-pool.version>2.5.0</commons-pool.version>

    <!-- Calcite deps, keep compatible with calcite.version -->
    <jackson.version>2.10.0</jackson.version>

    <!-- Test Dependency versions -->
    <antlr.version>3.4</antlr.version>
    <junit.version>4.12</junit.version>
    <mrunit.version>1.1.0</mrunit.version>
    <dbunit.version>2.5.4</dbunit.version>
    <h2.version>2.1.210</h2.version>
    <jetty.version>9.4.46.v20220331</jetty.version>
    <jamm.version>0.3.1</jamm.version>
    <mockito.version>2.7.14</mockito.version>
    <mockito-all.version>1.9.5</mockito-all.version>
    <powermock.version>1.7.0</powermock.version>
    <guava-testlib.version>28.2-jre</guava-testlib.version>

    <!-- Commons -->
    <commons-lang3.version>3.5</commons-lang3.version>
    <commons-email.version>1.5</commons-email.version>
    <commons-validator.version>1.4.0</commons-validator.version>
    <commons-compress.version>1.21</commons-compress.version>
    <commons-dbcp.version>1.4</commons-dbcp.version>

    <!-- Utility -->
    <log4j.version>1.2.17</log4j.version>
    <slf4j.version>1.7.30</slf4j.version>
    <xerces.version>2.12.2</xerces.version>
    <xalan.version>2.7.2</xalan.version>
    <ehcache.version>2.10.2.2.21</ehcache.version>
    <memcached.verion>2.12.3</memcached.verion>
    <apache-httpclient.version>4.2.5</apache-httpclient.version>
    <roaring.version>0.6.18</roaring.version>
    <!--<roaring.version>0.6.18</roaring.version>-->
    <roaring.version>0.7.36-os-kylin-r1</roaring.version>
    <cglib.version>3.2.4</cglib.version>
    <supercsv.version>2.4.0</supercsv.version>
    <cors.version>2.5</cors.version>
    <tomcat.version>8.5.78</tomcat.version>
    <t-digest.version>3.1</t-digest.version>
    <freemarker.version>2.3.23</freemarker.version>
    <rocksdb.version>5.18.4</rocksdb.version>
    <lz4.version>1.4.0</lz4.version>
    <mssql-jdbc.version>6.2.2.jre8</mssql-jdbc.version>
    <!--metric-->
    <dropwizard.version>3.1.2</dropwizard.version>
    <!-- REST Service, ref https://github.com/spring-projects/spring-boot/blob/v1.3.8.RELEASE/spring-boot-dependencies/pom.xml -->
    <spring.boot.version>1.3.8.RELEASE</spring.boot.version>
    <spring.framework.version>5.2.22.RELEASE</spring.framework.version>
    <spring.framework.security.version>5.5.7</spring.framework.security.version>
    <spring.framework.security.extensions.version>1.0.2.RELEASE</spring.framework.security.extensions.version>
    <opensaml.version>2.6.6</opensaml.version>
    <aspectj.version>1.8.9</aspectj.version>
    <!-- API forbidden -->
    <forbiddenapis.version>2.3</forbiddenapis.version>

    <!-- Sonar -->
    <jacoco.version>0.8.2</jacoco.version>
    <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
    <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
    <sonar.jacoco.reportPaths>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPaths>
    <sonar.language>java</sonar.language>
    <sonar.jacoco.excludes>
      org/apache/kylin/**/tools/**:**/*CLI.java
    </sonar.jacoco.excludes>

    <!-- JVM Args for Testing -->
    <argLine>-Xms1G -Xmx2G -XX:MaxPermSize=512M -Duser.timezone=UTC</argLine>

    <!-- Whether to run IT -->
    <skipRunIt>true</skipRunIt>
  </properties>

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

  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org</url>
  </organization>

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


  <mailingLists>
    <mailingList>
      <name>kylin-user</name>
      <subscribe>user-subscribe@kylin.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@kylin.apache.org</unsubscribe>
      <post>user@kylin.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/kylin-user/</archive>
    </mailingList>
    <mailingList>
      <name>kylin-dev</name>
      <subscribe>dev-subscribe@kylin.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@kylin.apache.org</unsubscribe>
      <post>dev@kylin.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/kylin-dev/</archive>
    </mailingList>
    <mailingList>
      <name>kylin-issues</name>
      <subscribe>issues-subscribe@kylin.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@kylin.apache.org</unsubscribe>
      <post>issues@kylin.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/kylin-issues/</archive>
    </mailingList>
    <mailingList>
      <name>kylin-commits</name>
      <subscribe>commits-subscribe@kylin.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@kylin.apache.org</unsubscribe>
      <post>commits@kylin.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/kylin-commits/</archive>
    </mailingList>
  </mailingLists>

  <scm>
    <connection>scm:git:git://github.com/apache/kylin.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/apache/kylin.git
    </developerConnection>
    <url>https://github.com/apache/kylin</url>
    <tag>kylin-4.0.2</tag>
  </scm>

  <dependencyManagement>
    <dependencies>
      <!-- Kylin -->
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>atopcalcite</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-shaded-guava</artifactId>
        <version>3.1.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-metrics</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-metrics-reporter-hive</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-metrics-reporter-kafka</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-metadata</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-cube</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-job</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-storage</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-cache</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-build-engine</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-metastore-hbase</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-query</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-server-base</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-server</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-jdbc</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-spark-project</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-tool</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-tool-assembly</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-common</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-metadata</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-storage</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-server-base</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-job</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.apache.kylin</groupId>
        <artifactId>kylin-core-cube</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.lz4</groupId>
        <artifactId>lz4-java</artifactId>
        <version>1.4.0</version>
      </dependency>


      <!-- Hadoop2 dependencies -->
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>${hadoop2.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>net.java.dev.jets3t</groupId>
            <artifactId>jets3t</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-app</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-client</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-api</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-common</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-core</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
        <version>${hadoop2.version}</version>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-annotations</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-auth</artifactId>
        <version>${hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-minicluster</artifactId>
        <version>${hadoop2.version}</version>
        <optional>true</optional>
      </dependency>
      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>${curator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>${curator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-client</artifactId>
        <version>${curator.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>${jsr305.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>${jsch.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>${commons-cli.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons-lang.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>${commons-httpclient.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-math3</artifactId>
        <version>${commons-math3.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>${commons-upload.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons-collections.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>${commons-pool.version}</version>
      </dependency>

      <!-- HBase2 dependencies -->
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-hadoop2-compat</artifactId>
        <version>${hbase-hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-common</artifactId>
        <version>${hbase-hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-client</artifactId>
        <version>${hbase-hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-server</artifactId>
        <version>${hbase-hadoop2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.mrunit</groupId>
        <artifactId>mrunit</artifactId>
        <version>${mrunit.version}</version>
        <classifier>hadoop2</classifier>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-testing-util</artifactId>
        <version>${hbase-hadoop2.version}</version>
        <scope>test</scope>
      </dependency>
        <!-- jdbc dependencies -->
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql-connector.version}</version>
        <scope>provided</scope>
      </dependency>
      <!-- Hive dependencies -->
      <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-jdbc</artifactId>
        <version>${hive.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jaspic_1.0_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hive.hcatalog</groupId>
        <artifactId>hive-hcatalog-core</artifactId>
        <version>${hive-hcatalog.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jaspic_1.0_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- Yarn dependencies -->
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
        <version>${yarn.version}</version>
      </dependency>

      <!-- Calcite dependencies -->
      <dependency>
        <groupId>org.apache.calcite</groupId>
        <artifactId>calcite-core</artifactId>
        <version>${calcite.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.calcite</groupId>
        <artifactId>calcite-linq4j</artifactId>
        <version>${calcite.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.calcite.avatica</groupId>
        <artifactId>avatica-core</artifactId>
        <version>${avatica.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.calcite.avatica</groupId>
        <artifactId>avatica</artifactId>
        <version>${avatica.version}</version>
      </dependency>
      <!-- Workaround for hive 0.14 avatica dependency
           WARNING: fasterxml jackson library may conflict
      <dependency>
        <groupId>org.apache.calcite</groupId>
        <artifactId>calcite-avatica</artifactId>
        <version>1.6.0</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      -->
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-xml</artifactId>
        <version>${jackson.version}</version>
      </dependency>

      <!-- Spark dependency -->
      <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>janino</artifactId>
        <version>${janino.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>commons-compiler</artifactId>
        <version>${janino.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_${scala.binary.version}</artifactId>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-plus</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-security</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-util</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-server</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-http</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-continuation</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-proxy</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-client</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jetty-servlets</artifactId>
            <groupId>org.eclipse.jetty</groupId>
          </exclusion>
        </exclusions>
        <version>${spark.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-hive_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-yarn_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-common</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-server-web-proxy</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-yarn-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.esotericsoftware</groupId>
        <artifactId>kryo-shaded</artifactId>
        <version>${kryo.version}</version>
        <scope>provided</scope>
      </dependency>
      <!-- Flink dependency -->
      <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-java</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-scala_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-hadoop-compatibility_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
      </dependency>
      <!-- Kafka dependency -->
      <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_${scala.binary.version}</artifactId>
        <version>${kafka.version}</version>
      </dependency>

      <!-- Other dependencies -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang3.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>${commons-email.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-validator</groupId>
        <artifactId>commons-validator</artifactId>
        <version>${commons-validator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons-compress.version}</version>
      </dependency>
      <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>${freemarker.version}</version>
      </dependency>
      <dependency>
        <groupId>org.rocksdb</groupId>
        <artifactId>rocksdbjni</artifactId>
        <version>${rocksdb.version}</version>
      </dependency>

      <!-- Logging -->
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <!-- Metrics -->
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-jvm</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <!-- Test -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.dbunit</groupId>
        <artifactId>dbunit</artifactId>
        <version>${dbunit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${maven-model.version}</version>
      </dependency>
      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>${h2.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>${xerces.version}</version>
      </dependency>
      <dependency>
        <groupId>xalan</groupId>
        <artifactId>xalan</artifactId>
        <version>${xalan.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.jbellis</groupId>
        <artifactId>jamm</artifactId>
        <version>${jamm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${apache-httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.roaringbitmap</groupId>
        <artifactId>RoaringBitmap</artifactId>
        <version>${roaring.version}</version>
      </dependency>
      <dependency>
        <groupId>com.tdunning</groupId>
        <artifactId>t-digest</artifactId>
        <version>${t-digest.version}</version>
      </dependency>
      <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>${cglib.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sf.supercsv</groupId>
        <artifactId>super-csv</artifactId>
        <version>${supercsv.version}</version>
      </dependency>
      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${aspectj.version}</version>
      </dependency>
      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>${aspectj.version}</version>
      </dependency>
      <dependency>
        <groupId>com.thetransactioncompany</groupId>
        <artifactId>cors-filter</artifactId>
        <version>${cors.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>${ehcache.version}</version>
      </dependency>
      <dependency>
        <groupId>net.spy</groupId>
        <artifactId>spymemcached</artifactId>
        <version>${memcached.verion}</version>
      </dependency>
      <dependency>
        <groupId>org.opensaml</groupId>
        <artifactId>opensaml</artifactId>
        <version>${opensaml.version}</version>
      </dependency>

      <!-- Spring Core -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.framework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.framework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.framework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.framework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.framework.version}</version>
      </dependency>
      <!-- Spring Security -->
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-acl</artifactId>
        <version>${spring.framework.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>${spring.framework.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>${spring.framework.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-ldap</artifactId>
        <version>${spring.framework.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>${spring.framework.security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security.extensions</groupId>
        <artifactId>spring-security-saml2-core</artifactId>
        <version>${spring.framework.security.extensions.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-cas</artifactId>
        <version>${spring.framework.security.version}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-webapp</artifactId>
        <version>${jetty.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-catalina</artifactId>
        <version>${tomcat.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jasper</artifactId>
        <version>${tomcat.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-core</artifactId>
        <version>${tomcat.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
      </dependency>

      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>${scala.version}</version>
      </dependency>

      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-reflect</artifactId>
        <version>${scala.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-x-discovery</artifactId>
        <version>${curator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-test</artifactId>
        <version>${curator.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- Spark dependency -->
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-hive_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-unsafe_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>4.1.17.Final</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty</artifactId>
        <version>3.9.9.Final</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>

    <!-- the logging dependencies are inherited by all modules for their generality
        log4j and slf4j-log4j12 test scope only for UT/IT use -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <!--for transitive dependencies like commons-collectinos, commons-lang -->
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-common</artifactId>
    </dependency>
  </dependencies>

  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>kyligence</id>
      <name>Kyligence Repository</name>
      <url>https://repository.kyligence.io/repository/maven-public/
      </url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>conjars</id>
      <url>http://conjars.org/repo/</url>
    </repository>

    <repository>
      <id>cloudera</id>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>

    <repository>
      <id>shibboleth</id>
      <url>https://build.shibboleth.net/nexus/content/repositories/releases/</url>
    </repository>

    <repository>
      <id>nexus</id>
      <name>Kyligence Repository</name>
      <url>https://repository.kyligence.io/repository/maven-public/
      </url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler.version}</version>
          <configuration>
            <source>${javaVersion}</source>
            <target>${javaVersion}</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${maven-site.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>${maven-install.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven-resources.version}</version>
          <configuration>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven-jar.version}</version>
          <executions>
            <execution>
              <goals>
                <goal>test-jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven-shade.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven-war.version}</version>
          <configuration>
            <packagingExcludes>
              WEB-INF/lib/servlet-api-*.jar,
              WEB-INF/lib/zookeeper-*.jar
            </packagingExcludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>${maven-resources.version}</version>
          <executions>
            <execution>
              <id>attach-sources</id>
              <phase>package</phase>
              <goals>
                <goal>jar-no-fork</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <includePom>true</includePom>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>${maven-release.version}</version>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>${jacoco.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven-checkstyle.version}</version>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${puppycrawl.version}</version>
            </dependency>
          </dependencies>
          <executions>
            <execution>
              <id>check-style</id>
              <phase>validate</phase>
              <configuration>
                <configLocation>dev-support/checkstyle.xml</configLocation>
                <suppressionsLocation>dev-support/checkstyle-suppressions.xml</suppressionsLocation>
                <includeTestSourceDirectory>true</includeTestSourceDirectory>
                <consoleOutput>true</consoleOutput>
                <failsOnError>true</failsOnError>
              </configuration>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${spotbugs.version}</version>
          <configuration>
            <xmlOutput>true</xmlOutput>
            <effort>Max</effort>
            <threshold>Low</threshold>
            <failOnError>false</failOnError>
          </configuration>
        </plugin>
        <plugin>
          <groupId>net.ju-n.maven.plugins</groupId>
          <artifactId>checksum-maven-plugin</artifactId>
          <version>${checksum-maven.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>${exec-maven.version}</version>
        </plugin>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring.boot.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${maven-dependency.version}</version>
        </plugin>

        <plugin>
          <groupId>de.thetaphi</groupId>
          <artifactId>forbiddenapis</artifactId>
          <version>${forbiddenapis.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>analyze</id>
            <goals>
              <goal>analyze-only</goal>
            </goals>
            <!--<configuration>-->
            <!--<failOnWarning>true</failOnWarning>-->
            <!--</configuration>-->
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <excludePackageNames>org.apache.kylin.*</excludePackageNames>
        </configuration>
      </plugin>
      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <!-- uncomment this on release -->
        <version>3.4.1</version>
      </plugin>
      <plugin>
        <groupId>org.cyclonedx</groupId>
        <artifactId>cyclonedx-maven-plugin</artifactId>
        <version>2.1.1</version>
      </plugin>
      <plugin>
        <groupId>org.scalastyle</groupId>
        <artifactId>scalastyle-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
          <verbose>false</verbose>
          <failOnViolation>true</failOnViolation>
          <includeTestSourceDirectory>false</includeTestSourceDirectory>
          <failOnWarning>false</failOnWarning>
          <sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
          <configLocation>scalastyle_config.xml</configLocation>
          <outputFile>${basedir}/target/scalastyle-output.xml</outputFile>
          <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
          <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <modules>
    <module>core-common</module>
    <module>core-metadata</module>
    <module>core-cube</module>
    <module>core-job</module>
    <module>core-storage</module>
    <module>build-engine</module>
    <module>source-hive</module>
    <module>metastore-hbase</module>
    <module>query</module>
    <module>server-base</module>
    <module>server</module>
    <module>jdbc</module>
<!--    <module>assembly</module>-->
    <module>tool</module>
    <module>tool-assembly</module>
    <module>core-metrics</module>
    <module>metrics-reporter-hive</module>
    <module>metrics-reporter-kafka</module>
    <module>cache</module>
    <module>kylin-spark-project</module>
    <module>parquet-assembly</module>
  </modules>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${maven-project-info-reports.version}</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>index</report>
              <report>summary</report>
              <report>dependency-info</report>
              <report>project-team</report>
              <report>scm</report>
              <report>issue-tracking</report>
              <report>mailing-list</report>
              <!-- <report>dependency-management</report> -->
              <!-- <report>dependencies</report> -->
              <!-- <report>dependency-convergence</report> -->
              <report>cim</report>
              <report>plugin-management</report>
              <report>plugins</report>
              <report>distribution-management</report>
              <report>license</report>
              <report>modules</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${spotbugs.version}</version>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>spark3</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <property>
          <name>pre-commit</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <fork>true</fork>
              <meminitial>1024m</meminitial>
              <maxmem>2048m</maxmem>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-jamm</id>
                <goals>
                  <goal>copy</goal>
                </goals>
                <phase>generate-test-resources</phase>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>com.github.jbellis</groupId>
                      <artifactId>jamm</artifactId>
                      <outputDirectory>${project.build.testOutputDirectory}
                      </outputDirectory>
                      <destFileName>jamm.jar</destFileName>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <configuration>
              <append>true</append>
              <destFile>
                ${sonar.jacoco.reportPaths}
              </destFile>
            </configuration>
            <executions>
              <execution>
                <id>pre-test</id>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
                <configuration>
                  <propertyName>surefireArgLine</propertyName>
                </configuration>
              </execution>
              <execution>
                <id>post-test</id>
                <phase>test</phase>
                <goals>
                  <goal>report</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
              <reportsDirectory>${project.basedir}/../target/surefire-reports
              </reportsDirectory>
              <excludes>
                <exclude>**/IT*.java</exclude>
                <exclude>org.apache.kylin.engine.spark2.NManualBuildAndQueryCuboidTest</exclude>
                <exclude>org.apache.kylin.engine.spark2.NBuildAndQueryTest</exclude>
                <exclude>org.apache.kylin.engine.spark2.NBadQueryAndPushDownTest</exclude>
              </excludes>
              <systemProperties>
                <property>
                  <name>buildCubeUsingProvidedData</name>
                  <value>false</value>
                </property>
                <property>
                  <name>log4j.configuration</name>
                  <value>
                    file:${project.basedir}/../build/conf/kylin-tools-log4j.properties
                  </value>
                </property>
              </systemProperties>
              <argLine>-javaagent:${project.build.testOutputDirectory}/jamm.jar
                ${argLine} ${surefireArgLine}
              </argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
<!-- This profile adds/overrides few features of the 'apache-release'
     profile in the parent pom. -->
      <id>apache-release</id>
      <activation>
        <property>
          <name>pre-commit</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <configuration>
              <skip>false</skip>
            </configuration>
          </plugin>
          <!-- Override the parent assembly execution to customize the assembly
              descriptor and final name. -->
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>source-release-assembly</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <tarLongFileMode>posix</tarLongFileMode>
                  <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                  <appendAssemblyId>true</appendAssemblyId>
                  <descriptors>
                    <descriptor>
                    assembly/src/main/config/assemblies/source-assembly.xml
                    </descriptor>
                  </descriptors>
                  <finalName>apache-kylin-${project.version}</finalName>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <!-- Apache-RAT checks for files without headers.
               If run on a messy developer's sandbox, it will fail.
               This serves as a reminder to only build a release in a clean
               sandbox! -->
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <configuration>
              <!-- Used to print file with unapproved licenses in project to stand output -->
              <consoleOutput>true</consoleOutput>

              <!-- Exclude files/folders for apache release -->
              <excludes>
                <exclude>DEPENDENCIES</exclude>
                <exclude>.settings/**</exclude>
                <exclude>**/LICENSE*</exclude>
                <!-- Local git repo -->
                <exclude>.git/**</exclude>
                <exclude>.gitconfig</exclude>
                <!-- IDE files -->
                <exclude>.idea/**</exclude>
                <exclude>**/*.iml</exclude>
                <exclude>**/.classpath</exclude>
                <exclude>**/.project</exclude>
                <exclude>**/.settings/**</exclude>

                <!-- image files constitute images required for documentation. .pptx contain the sources for images -->
                <exclude>**/*.png</exclude>
                <exclude>**/*.jpg</exclude>
                <exclude>**/*.gif</exclude>
                <exclude>**/*.ico</exclude>
                <exclude>**/*.svg</exclude>

                <!--Test Data-->
                <exclude>**/src/test/resources/**</exclude>
                <exclude>examples/sample_cube/template/**</exclude>
                <exclude>examples/test_case_data/localmeta/**</exclude>
                <exclude>examples/test_case_data/parquet_test/**</exclude>
                <exclude>stream-core/testCube/.cp/**</exclude>
                <exclude>stream-core/stream_index/test_streaming_v2_cube/**</exclude>
                <!-- generated files -->
                <exclude>**/target/**</exclude>
                <exclude>lib/**</exclude>
                <exclude>dist/**</exclude>
                <exclude>website/**</exclude>
                <exclude>**/dependency-reduced-pom.xml</exclude>

                <!-- text files without comments -->
                <exclude>**/*.csv</exclude>
                <exclude>**/*.json</exclude>
                <exclude>**/*.json.bad</exclude>
                <exclude>**/*.md</exclude>
                <exclude>**/*.spec</exclude>
                <exclude>**/*.acl</exclude>

                <!-- binary files -->
                <exclude>**/*.dict</exclude>
                <exclude>**/*.dic</exclude>
                <exclude>**/*.snapshot</exclude>
                <exclude>**/*.pdf</exclude>
                <exclude>**/*.docx</exclude>
                <exclude>**/*.doc</exclude>
                <exclude>**/*.txt</exclude>
                <exclude>**/.checkstyle</exclude>
                <exclude>**/*.eot</exclude>
                <exclude>**/*.ttf</exclude>
                <exclude>**/*.woff</exclude>

                <!-- Kylin's website content -->
                <exclude>**/.sass-cache/**</exclude>

                <!-- tomcat package -->
                <exclude>tomcat/**</exclude>

                <!-- front end libary and generated files -->
                <exclude>webapp/node_modules/**</exclude>
                <exclude>webapp/dist/**</exclude>
                <exclude>webapp/app/components/**</exclude>
                <!-- json configuration file-->
                <exclude>webapp/.bowerrc</exclude>
                <exclude>webapp/.jshintrc</exclude>
                <!-- generated dict files -->
                <exclude>dictionary/metastore_db/**</exclude>

                <!-- MIT license -->
                <exclude>webapp/app/css/AdminLTE.css</exclude>
                <exclude>webapp/app/css/messenger-theme-ice.css</exclude>
                <exclude>webapp/app/js/directives/kylin_abn_tree_directive.js</exclude>
                <exclude>webapp/app/js/directives/angular-tree-control.js</exclude>
                <exclude>webapp/app/js/directives/datetimepicker.js</exclude>
                <exclude>webapp/app/js/directives/select.js</exclude>
                <exclude>webapp/app/js/directives/ui-grid.js</exclude>

                <!-- BSD license -->
                <exclude>webapp/app/js/utils/liquidFillGauge.js</exclude>

                <!--configuration file -->
                <exclude>webapp/app/routes.json</exclude>
                <exclude>webapp/bower.json</exclude>
                <exclude>webapp/grunt.json</exclude>
                <exclude>webapp/package.json</exclude>

                <!-- logs -->
                <exclude>**/*.log</exclude>
                <exclude>jdbc/kylin_jdbc.log*</exclude>
                <exclude>server/logs/**</exclude>

                <!-- jdbc service -->
                <exclude>**/java.sql.Driver</exclude>

                <!--ODBC sub project is a VS project, exclude related files -->
                <exclude>**/*.sln</exclude>
                <exclude>**/*.vcxproj</exclude>
                <exclude>**/*.vcxproj.filters</exclude>
                <exclude>**/*.vcxproj.user</exclude>
                <exclude>**/*.props</exclude>
                <exclude>**/*.RC</exclude>
                <exclude>**/*.dsp</exclude>
                <exclude>**/*.DEF</exclude>
                <exclude>**/*.isl</exclude>
                <exclude>**/*.isproj</exclude>
                <exclude>**/*.bmp</exclude>

                <exclude>src/main/codegen/javacc/org/apache/kylin/query/util/CommentParser.jj</exclude>

                <!-- protobuf generated -->
                <exclude>
                  src/main/java/org/apache/kylin/storage/hbase/ii/coprocessor/endpoint/generated/IIProtos.java
                </exclude>
                <exclude>
                  src/main/java/org/apache/kylin/storage/hbase/cube/v1/filter/generated/FilterProtosExt.java
                </exclude>
                <exclude>
                  src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/generated/CubeVisitProtos.java
                </exclude>
                <exclude>
                  storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/generated/CubeVisitProtos.java
                </exclude>
                <exclude>
                  examples/test_case_data/sample_local/UUID
                </exclude>
              </excludes>
            </configuration>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>org.apache.maven.doxia</groupId>
                <artifactId>doxia-core</artifactId>
                <version>1.7</version>
                <exclusions>
                  <exclusion>
                    <groupId>xerces</groupId>
                    <artifactId>xercesImpl</artifactId>
                  </exclusion>
                </exclusions>
              </dependency>
            </dependencies>
          </plugin>
          <plugin>
            <groupId>net.ju-n.maven.plugins</groupId>
            <artifactId>checksum-maven-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>artifacts</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <algorithms>
                <algorithm>SHA-256</algorithm>
              </algorithms>
              <failOnError>false</failOnError>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>m2e-only</id>
      <activation>
        <property>
          <name>m2e.version</name>
        </property>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <!-- for development support in Eclipse IDE -->
            <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
            <plugin>
              <groupId>org.eclipse.m2e</groupId>
              <artifactId>lifecycle-mapping</artifactId>
              <version>${eclipse.lifecycle-mapping.version}</version>
              <configuration>
                <lifecycleMappingMetadata>
                  <pluginExecutions>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>
                          org.apache.maven.plugins
                        </groupId>
                        <artifactId>
                          maven-checkstyle-plugin
                        </artifactId>
                        <versionRange>
                          [2.13,)
                        </versionRange>
                        <goals>
                          <goal>check</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                  </pluginExecutions>
                </lifecycleMappingMetadata>
              </configuration>
            </plugin>
            <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>build-helper-maven-plugin</artifactId>
              <version>3.2.0</version>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
  </profiles>
</project>
