<?xml version="1.0"?>
<!--
  ~ 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 https://maven.apache.org/maven-v4_0_0.xsd">

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

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.atlas</groupId>
    <artifactId>apache-atlas</artifactId>
    <version>3.0.0-SNAPSHOT</version>
    <description>Metadata Management and Data Governance Platform over Hadoop</description>
    <name>apache-atlas</name>
    <packaging>pom</packaging>
    <url>https://atlas.apache.org</url>

    <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>https://www.apache.org</url>
    </organization>

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

    <ciManagement>
        <system>Jenkins</system>
        <url>https://builds.apache.org/job/atlas</url>
    </ciManagement>

    <inceptionYear>2015</inceptionYear>

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

    <scm>
        <connection>scm:git:git://git.apache.org/atlas.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/atlas.git</developerConnection>
        <tag>HEAD</tag>
        <url>https://github.com/apache/atlas.git</url>
    </scm>

    <developers>
        <developer>
            <id>adossett</id>
            <name>Aaron Dossett</name>
            <email>adossett@target.com</email>
            <timezone>America/Denver</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Target Inc.</organization>
            <!--<organizationUrl>https://www.target.com</organizationUrl>-->
        </developer>
        <developer>
            <id>AAhn</id>
            <name>Andrew Ahn</name>
            <email>aa@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization></organization>
        </developer>
        <developer>
            <id>apoorvnaik</id>
            <name>Apoorv Naik</name>
            <email>apoorvnaik@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization></organization>
            <!--<organizationUrl></organizationUrl>-->
        </developer>
        <developer>
            <id>acmurthy</id>
            <name>Arun C.Murthy</name>
            <email>acmurthy@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>ayubpathan</id>
            <name>Ayub Pathan</name>
            <email>ayubpathan@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>amestry</id>
            <name>Ashutosh Mestry</name>
            <email>amestry@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>bstortz</id>
            <name>Barbara Stortz</name>
            <email>bstortz@sap.com</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>SAP Inc.</organization>
            <!--<organizationUrl>https://www.sap.com</organizationUrl>-->
        </developer>
        <developer>
            <id>chyzer</id>
            <name>Chris Hyzer</name>
            <email>tjbchris@apache.org</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Travelers Inc.</organization>
            <!--<organizationUrl>http://www.travelers.com</organizationUrl>-->
        </developer>
        <developer>
            <id>dmarkwat</id>
            <name>Daniel Markwat</name>
            <email>dmarkwat@aetna.com</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Aetna Inc.</organization>
            <!--<organizationUrl>https://www.aetna.com</organizationUrl>-->
        </developer>
        <developer>
            <id>darshankumar</id>
            <name>Darshan Kumar</name>
            <email>darshankumar@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>MPR</organization>
        </developer>
        <developer>
            <id>davidrad</id>
            <name>David Radley</name>
            <email>davidrad@apache.org</email>
            <timezone>Europe/London</timezone>
            <roles>
                <role>committer</role>
            </roles>
            <organization>IBM Corporation</organization>
            <!--<organizationUrl>https://www.ibm.com</organizationUrl>-->
        </developer>
        <developer>
            <id>dkantor</id>
            <name>Dave Kantor</name>
            <email>dkantor@apache.org</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>IBM Corporation</organization>
            <!--<organizationUrl>https://www.ibm.com</organizationUrl>-->
        </developer>
        <developer>
            <id>dkaspar</id>
            <name>David Kaspar</name>
            <email>dkaspar@merck.com</email>
            <timezone>Europe/Berlin</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Merck &amp; Co Inc.</organization>
            <!--<organizationUrl>https://www.merck.com</organizationUrl>-->
        </developer>
        <developer>
            <id>dfusaro</id>
            <name>Dennis Fusaro</name>
            <email>dfusaro@aetna.com</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Aetna Inc.</organization>
            <!--<organizationUrl>https://www.aetna.com</organizationUrl>-->
        </developer>
        <developer>
            <id>grahamwallis</id>
            <name>Graham Wallis</name>
            <email>grahamwallis@apache.org</email>
            <timezone>Europe/London</timezone>
            <roles>
                <role>committer</role>
            </roles>
            <organization>IBM Corporation</organization>
            <!--<organizationUrl>https://www.ibm.com</organizationUrl>-->
        </developer>
        <developer>
            <id>gsenia</id>
            <name>Greg Senia</name>
            <email>gsenia@apache.org</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>New York Life Insurance</organization>
            <!--<organizationUrl>http://www.newyorklife.com</organizationUrl>-->
        </developer>
        <developer>
            <id>rhbutani</id>
            <name>Harish Butani</name>
            <email>rhbutani@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization/>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>yhemanth</id>
            <name>Hemanth Yamijala</name>
            <email>yhemanth@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>ilasek</id>
            <name>Ivo Lasek</name>
            <email>ilasek@merck.com</email>
            <timezone>Europe/Berlin</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Merck &amp; Co Inc.</organization>
            <!--<organizationUrl>https://www.merck.com</organizationUrl>-->
        </developer>
        <developer>
            <id>jnhagelberg</id>
            <name>Jeffrey Hagelberg</name>
            <email>jnhagelberg@apache.org</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>IBM Corporation</organization>
            <!--<organizationUrl>https://www.ibm.com</organizationUrl>-->
        </developer>
        <developer>
            <id>jitendra</id>
            <name>Jitendra Pandey</name>
            <email>jitendra@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>jmaron</id>
            <name>Jon Maron</name>
            <email>jmaron@apache.org</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization></organization>
        </developer>
        <developer>
            <id>kalyanikashikar</id>
            <name>Kalyani Kashikar</name>
            <email>kalyanikashikar@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Freestone Infotech</organization>
        </developer>
        <developer>
            <id>kbhatt</id>
            <name>Keval Bhatt</name>
            <email>kbhatt@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Freestone Infotech</organization>
        </developer>
        <developer>
            <id>madhan</id>
            <name>Madhan Neethiraj</name>
            <email>madhan@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>mandy</id>
            <name>Mandy Chessell</name>
            <email>mandy@apache.org</email>
            <timezone>Europe/London</timezone>
            <roles>
                <role>committer</role>
            </roles>
            <organization>IBM Corporation</organization>
            <!--<organizationUrl>https://www.ibm.com</organizationUrl>-->
        </developer>
        <developer>
            <id>mschussler</id>
            <name>Mitch Schussler</name>
            <email>mschussler@apache.org</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>JPMC</organization>
            <!--<organizationUrl>https://</organizationUrl>-->
        </developer>
        <developer>
            <id>guptaneeru</id>
            <name>Neeru Gupta</name>
            <email>guptaneeru@us.ibm.com</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>IBM Corporation</organization>
            <!--<organizationUrl>https://www.ibm.com</organizationUrl>-->
        </developer>
        <developer>
            <id>nbonte</id>
            <name>Nikhil Bonte</name>
            <email>nbonte@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
            </roles>
            <organization>Freestone Infotech</organization>
        </developer>
        <developer>
            <id>nixon</id>
            <name>Nixon Rodrigues</name>
            <email>nixon@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Freestone Infotech</organization>
        </developer>
        <developer>
            <id>rmani</id>
            <name>Ramesh Mani</name>
            <email>rmani@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>sarath</id>
            <name>Sarath Subramanian</name>
            <email>sarath@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>shwethags</id>
            <name>Shwetha GS</name>
            <email>shwethags@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>sriksun</id>
            <name>Srikanth Sundarrajan</name>
            <email>sriksun@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>InMobi</organization>
            <!--<organizationUrl>https://www.inmobi.com</organizationUrl>-->
        </developer>
        <developer>
            <id>sumasai</id>
            <name>Suma Shivaprasad</name>
            <email>sumasai@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Cloudera Inc.</organization>
            <!--<organizationUrl>https://www.cloudera.com</organizationUrl>-->
        </developer>
        <developer>
            <id>ssuresh</id>
            <name>Suresh Srinivas</name>
            <email>ssuresh@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization></organization>
            <!--<organizationUrl></organizationUrl>-->
        </developer>
        <developer>
            <id>tbeerbower</id>
            <name>Tom Beerbower</name>
            <email>tbeerbower@apache.org</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization></organization>
        </developer>
        <developer>
            <id>vranganathan</id>
            <name>Venkat Ranganathan</name>
            <email>venkatrangan@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization></organization>
            <!--<organizationUrl></organizationUrl>-->
        </developer>
        <developer>
            <id>venkatesh</id>
            <name>Venkatesh Seetharam</name>
            <email>venkatesh@apache.org</email>
            <timezone>America/Los_Angeles</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization></organization>
        </developer>
        <developer>
            <id>svimal2106</id>
            <name>Vimal Sharma</name>
            <email>svimal2106@apache.org</email>
            <timezone>Asia/Kolkata</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization></organization>
            <!--<organizationUrl></organizationUrl>-->
        </developer>
    </developers>

    <profiles>
        <profile>
            <id>embedded-cassandra-solr</id>
            <properties>
                <guava.version>19.0</guava.version>
            </properties>
        </profile>

        <!-- Turning on this profile affects only tests and does not affect packaging -->
        <profile>
            <id>distributed</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <graph.storage.backend>hbase2</graph.storage.backend>
                <graph.index.backend>solr</graph.index.backend>
                <solr.zk.address>localhost:9983</solr.zk.address>
                <graph.storage.hostname>localhost</graph.storage.hostname>
                <entity.repository.impl>org.apache.atlas.repository.audit.HBaseBasedAuditRepository
                </entity.repository.impl>
            </properties>
        </profile>

        <profile>
            <id>dist</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <skipDocs>false</skipDocs>
            </properties>
        </profile>

        <!-- Graph provider selection profiles
        The following profiles are used to select the graph provider.
        These profiles are mutually exclusive and should be activated by setting the system
        property GRAPH-PROVIDER.
        This can be optionally specified when invoking mvn:
           e.g. mvn clean install -DGRAPH-PROVIDER=janus
        The settings for GRAPH-PROVIDER have the following effects:
        * If GRAPH-PROVIDER is not specified, the graph-provider-default profile (janus) is activated.
        * If GRAPH-PROVIDER is set to anything else, the build will fail.
        Do not activate the graph-provider selection profiles using -P.
        -->

        <profile>
            <!-- Default profile, i.e. GRAPH-PROVIDER not set -->
            <id>graph-provider-default</id>
            <activation>
                <property>
                    <name>!GRAPH-PROVIDER</name>
                </property>
            </activation>
            <properties>
                <graphGroup>org.apache.atlas</graphGroup>
                <graphArtifact>atlas-graphdb-janus</graphArtifact>
                <skipDocs>false</skipDocs>
                <graphdb.backend.impl>org.apache.atlas.repository.graphdb.janus.AtlasJanusGraphDatabase</graphdb.backend.impl>
                <graph.index.backend>solr</graph.index.backend>
                <tests.solr.embedded>true</tests.solr.embedded>
                <distro.exclude.packages>WEB-INF/lib/je-*.jar,WEB-INF/lib/solr-test-framework-*.jar, WEB-INF/lib/jts-*.jar,WEB-INF/lib/logback-*.jar,WEB-INF/lib/dom4j-*.jar,WEB-INF/lib/ant-*.jar</distro.exclude.packages>
            </properties>
        </profile>

        <profile>
            <id>graph-provider-janus</id>
            <activation>
                <property>
                    <name>GRAPH-PROVIDER</name>
                    <value>janus</value>
                </property>
            </activation>
            <properties>
                <!-- Define graph dependency type/version -->
                <graphGroup>org.apache.atlas</graphGroup>
                <graphArtifact>atlas-graphdb-janus</graphArtifact>
                <skipDocs>false</skipDocs>
                <graphdb.backend.impl>org.apache.atlas.repository.graphdb.janus.AtlasJanusGraphDatabase</graphdb.backend.impl>
                <graph.index.backend>solr</graph.index.backend>
                <tests.solr.embedded>true</tests.solr.embedded>
                <distro.exclude.packages>WEB-INF/lib/je-*.jar,WEB-INF/lib/solr-test-framework-*.jar, WEB-INF/lib/jts-*.jar,WEB-INF/lib/logback-*.jar,WEB-INF/lib/dom4j-*.jar,WEB-INF/lib/ant-*.jar</distro.exclude.packages>
            </properties>
        </profile>

        <profile>
            <id>skipMinify</id>
            <properties>
                <project.build.dashboardv2.gruntBuild>build</project.build.dashboardv2.gruntBuild>
                <project.build.dashboardv3.gruntBuild>build</project.build.dashboardv3.gruntBuild>
            </properties>
        </profile>

    </profiles>

    <properties>
        <!-- platform encoding override -->
        <skipTests>false</skipTests>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <node-for-v2.version>v12.16.0</node-for-v2.version>
        <npm-for-v2.version>6.13.7</npm-for-v2.version>
        <slf4j.version>1.7.21</slf4j.version>
        <jetty.version>9.3.14.v20161028</jetty.version>
        <jetty.jsp.version>9.2.12.v20150709</jetty.jsp.version>
        <jersey.version>1.19</jersey.version>
        <jsr.version>1.1</jsr.version>

        <janus.version>0.5.1</janus.version>
        <tinkerpop.version>3.4.6</tinkerpop.version>
        <lucene-solr.version>7.3.0</lucene-solr.version>

        <hadoop.version>3.1.1</hadoop.version>
        <hbase.version>2.0.2</hbase.version>
        <solr.version>7.5.0</solr.version>
        <hive.version>3.1.0</hive.version>
        <kafka.version>2.0.0</kafka.version>
        <kafka.scala.binary.version>2.11</kafka.scala.binary.version>
        <calcite.version>1.16.0</calcite.version>
        <zookeeper.version>3.4.6</zookeeper.version>
        <falcon.version>0.8</falcon.version>
        <sqoop.version>1.4.6.2.3.99.0-195</sqoop.version>
        <storm.version>1.2.0</storm.version>
        <curator.version>4.0.1</curator.version>
        <elasticsearch.version>5.6.4</elasticsearch.version>

        <json.version>3.2.11</json.version>
        <log4j.version>1.2.17</log4j.version>
        <akka.version>2.3.7</akka.version>
        <spray.version>1.3.1</spray.version>
        <gson.version>2.5</gson.version>
        <fastutil.version>6.5.16</fastutil.version>
        <guice.version>4.1.0</guice.version>
        <spring.version>4.3.29.RELEASE</spring.version>
        <spring.security.version>4.2.17.RELEASE</spring.security.version>

        <javax.servlet.version>3.1.0</javax.servlet.version>
        <guava.version>25.1-jre</guava.version>
        <antlr4.version>4.7</antlr4.version>
        <log4j.version>2.8</log4j.version>

        <!-- Needed for hooks -->
        <aopalliance.version>1.0</aopalliance.version>
        <jackson.version>2.9.9</jackson.version>
        <jackson.databind.version>2.10.0</jackson.databind.version>

        <!-- Apache commons -->
        <commons-conf.version>1.10</commons-conf.version>
        <commons-conf2.version>2.2</commons-conf2.version>
        <commons-collections.version>3.2.2</commons-collections.version>
        <commons-collections4.version>4.4</commons-collections4.version>
        <commons-logging.version>1.1.3</commons-logging.version>
        <commons-lang.version>2.6</commons-lang.version>
        <commons-validator.version>1.6</commons-validator.version>
        <commons-cli.version>1.4</commons-cli.version>
        <commons-el.version>1.0</commons-el.version>
        <commons-io.version>2.6</commons-io.version>
        <!-- Apache commons -->

        <!--Apache poi and Open csv-->
        <opencsv.version>5.0</opencsv.version>
        <poi.version>4.1.1</poi.version>
        <poi-ooxml.version>4.1.1</poi-ooxml.version>

        <javax-inject.version>1</javax-inject.version>
        <jettison.version>1.3.7</jettison.version>
        <paranamer.version>2.7</paranamer.version>
        <zkclient.version>0.8</zkclient.version>
        <enunciate-maven-plugin.version>2.11.1</enunciate-maven-plugin.version>
        <antlr4.plugin.version>4.5</antlr4.plugin.version>
        <maven-site-plugin.version>3.7</maven-site-plugin.version>
        <doxia.version>1.8</doxia.version>
        <dropwizard-metrics>3.2.2</dropwizard-metrics>
        <!-- hadoop.hdfs-client.version should same as hadoop version -->
        <hadoop.hdfs-client.version>${hadoop.version}</hadoop.hdfs-client.version>

        <!-- Storm dependencies -->
        <codehaus.woodstox.stax2-api.version>3.1.4</codehaus.woodstox.stax2-api.version>
        <woodstox-core.version>5.0.3</woodstox-core.version>
        <hppc.version>0.8.1</hppc.version>
        <!-- Storm dependencies -->

        <!-- keycloak dependencies -->
        <keycloak.version>6.0.1</keycloak.version>
        <!-- keycloak dependencies -->

        <PermGen>64m</PermGen>
        <MaxPermGen>512m</MaxPermGen>

        <!-- skips checkstyle and find bugs -->
        <skipCheck>false</skipCheck>
        <checkstyle.failOnViolation>false</checkstyle.failOnViolation>
        <skipUTs>false</skipUTs>
        <skipITs>false</skipITs>
        <skipDocs>true</skipDocs>
        <skipSite>true</skipSite>
        <skipEnunciate>false</skipEnunciate>
        <projectBaseDir>${project.basedir}</projectBaseDir>
        <jetty-maven-plugin.stopWait>10</jetty-maven-plugin.stopWait>

        <!-- The following graph.{storage|index}.backend definitions dictate the backends for test
             resources in intg and each of the graph profiles. They do not affect packaging
             which is handled by defaults and profiles set in atlas-distro POM -->
        <graph.storage.backend>berkeleyje</graph.storage.backend>
        <graph.index.backend>solr</graph.index.backend>

        <entity.repository.impl>org.apache.atlas.repository.audit.InMemoryEntityAuditRepository</entity.repository.impl>

        <surefire.version>2.18.1</surefire.version>
        <surefire.forkCount>2C</surefire.forkCount>
        <failsafe.version>2.18.1</failsafe.version>
        <atlas.surefire.options></atlas.surefire.options>

        <aspectj.runtime.version>1.8.7</aspectj.runtime.version>
        <project.build.dashboardv2.gruntBuild>build-minify</project.build.dashboardv2.gruntBuild>
        <project.build.dashboardv3.gruntBuild>build-minify</project.build.dashboardv3.gruntBuild>
        <testng.version>6.9.4</testng.version>
        <joda-time.version>2.10.6</joda-time.version>
        <jersey-spring.version>1.19.4</jersey-spring.version>
    </properties>

    <modules>
        <module>build-tools</module>
        <module>test-tools</module>

        <module>intg</module>
        <module>common</module>
        <module>server-api</module>
        <module>notification</module>
        <module>client</module>
        <module>graphdb</module>
        <module>repository</module>
        <module>authorization</module>
        <module>dashboardv2</module>
        <module>dashboardv3</module>
        <module>webapp</module>
        <module>docs</module>

        <module>addons/hdfs-model</module>
        <module>plugin-classloader</module>
        <module>addons/hive-bridge-shim</module>
        <module>addons/hive-bridge</module>
        <module>addons/falcon-bridge-shim</module>
        <module>addons/falcon-bridge</module>
        <module>addons/sqoop-bridge-shim</module>
        <module>addons/sqoop-bridge</module>
        <module>addons/storm-bridge-shim</module>
        <module>addons/storm-bridge</module>
        <module>addons/hbase-bridge-shim</module>
        <module>addons/hbase-bridge</module>
        <module>addons/hbase-testing-util</module>
        <module>addons/kafka-bridge</module>
        <module>tools/classification-updater</module>
        <module>tools/atlas-index-repair</module>
        <module>addons/impala-hook-api</module>
        <module>addons/impala-bridge-shim</module>
        <module>addons/impala-bridge</module>

        <module>distro</module>
        <module>atlas-examples</module>
    </modules>

    <repositories>
        <repository>
            <id>central</id>
            <url>https://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>hortonworks.repo</id>
            <url>https://repo.hortonworks.com/content/repositories/releases</url>
            <name>Hortonworks Repo</name>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>apache.snapshots.repo</id>
            <url>https://repository.apache.org/content/groups/snapshots</url>
            <name>Apache Snapshots Repository</name>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>apache-staging</id>
            <url>https://repository.apache.org/content/groups/staging/</url>
        </repository>
        <repository>
            <id>default</id>
            <url>https://repository.apache.org/content/groups/public/</url>
        </repository>
        <repository>
            <id>java.net-Public</id>
            <name>Maven Java Net Snapshots and Releases</name>
            <url>https://maven.java.net/content/groups/public/</url>
        </repository>
        <repository>
            <id>repository.jboss.org-public</id>
            <name>JBoss repository</name>
            <url>https://repository.jboss.org/nexus/content/groups/public</url>
        </repository>
        <repository>
            <id>typesafe</id>
            <name>Typesafe Repository</name>
            <url>https://repo.typesafe.com/typesafe/releases/</url>
        </repository>
    </repositories>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.antlr</groupId>
                <artifactId>antlr4-runtime</artifactId>
                <version>${antlr4.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-jsp</artifactId>
                <version>${jetty.jsp.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.glassfish</groupId>
                        <artifactId>javax.el</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.el</artifactId>
                <version>3.0.0</version>
            </dependency>

            <!-- Logging -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
                <scope>compile</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.jdmk</groupId>
                        <artifactId>jmxtools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jmx</groupId>
                        <artifactId>jmxri</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.jms</groupId>
                        <artifactId>jmx</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.jms</groupId>
                        <artifactId>jms</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- hadoop -->
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>tomcat</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.codehaus.jackson</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.htrace</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-httpclient</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>tomcat</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.codehaus.jackson</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-auth</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-annotations</artifactId>
                <version>${hadoop.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-minikdc</artifactId>
                <version>${hadoop.version}</version>
                <scope>test</scope>
            </dependency>

            <!-- Zookeeper, curator -->
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <version>${curator.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-client</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.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>

            <!-- commons -->
            <dependency>
                <groupId>commons-configuration</groupId>
                <artifactId>commons-configuration</artifactId>
                <version>${commons-conf.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-cli</groupId>
                <artifactId>commons-cli</artifactId>
                <version>${commons-cli.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-el</groupId>
                <artifactId>commons-el</artifactId>
                <version>${commons-el.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${commons-collections.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>${commons-collections4.version}</version>
            </dependency>

            <!--Javax inject-->
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${javax-inject.version}</version>
            </dependency>

            <!-- utilities -->
            <dependency>
                <groupId>org.skyscreamer</groupId>
                <artifactId>jsonassert</artifactId>
                <version>1.2.0</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>

            <!-- Jersey -->
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
                <version>${jersey.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
                <version>${jersey.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
                <version>${jersey.version}</version>
            </dependency>

            <!-- Jersey + Spring -->
            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>jersey-spring</artifactId>
                <version>${jersey-spring.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-web</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-beans</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-context</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-servlet</artifactId>
                <version>${jersey.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>jersey-multipart</artifactId>
                <version>${jersey.version}</version>
            </dependency>

            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.1</version>
            </dependency>

            <!-- JSON -->
            <dependency>
                <groupId>org.codehaus.jettison</groupId>
                <artifactId>jettison</artifactId>
                <version>${jettison.version}</version>
            </dependency>

            <dependency>
                <groupId>com.googlecode.json-simple</groupId>
                <artifactId>json-simple</artifactId>
                <version>1.1.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Jetty -->
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jetty.version}</version>
                <scope>compile</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-webapp</artifactId>
                <version>${jetty.version}</version>
                <scope>compile</scope>
            </dependency>

            <dependency>
                <groupId>net.sourceforge.findbugs</groupId>
                <artifactId>annotations</artifactId>
                <version>1.3.2</version>
            </dependency>

            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-client</artifactId>
                <version>${hbase.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>avro</artifactId>
                        <groupId>org.apache.avro</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jruby-complete</artifactId>
                        <groupId>org.jruby</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>asm</artifactId>
                        <groupId>asm</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>*</artifactId>
                        <groupId>org.apache.hadoop</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>*</artifactId>
                        <groupId>org.codehaus.jackson</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>*</artifactId>
                        <groupId>org.mortbay.jetty</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-server</artifactId>
                <version>${hbase.version}</version>
                <classifier>tests</classifier>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-server</artifactId>
                <version>${hbase.version}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>tomcat</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${javax.servlet.version}</version>
            </dependency>

            <!-- Spring -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
                <version>${spring.security.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
                <version>${spring.security.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-config</artifactId>
                <version>${spring.security.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-ldap</artifactId>
                <version>${spring.security.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <!--  atlas modules -->
            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-intg</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-intg</artifactId>
                <version>${project.version}</version>
                <classifier>tests</classifier>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-graphdb-api</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-graphdb-common</artifactId>
                <version>${project.version}</version>
                <classifier>tests</classifier>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-server-api</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-repository</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-repository</artifactId>
                <version>${project.version}</version>
                <classifier>tests</classifier>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-notification</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-client</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-client-v1</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-client-v2</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-common</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-dashboardv2</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-dashboardv3</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-webapp</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-buildtools</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-graphdb-impls</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>hive-bridge</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>storm-bridge</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>falcon-bridge</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>sqoop-bridge</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>hive-bridge-shim</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>storm-bridge-shim</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>falcon-bridge-shim</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>sqoop-bridge-shim</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>hbase-bridge</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>hbase-bridge-shim</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>kafka-bridge</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>impala-hook-api</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>impala-bridge</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>impala-bridge-shim</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- API documentation  -->
            <dependency>
                <groupId>com.webcohesion.enunciate</groupId>
                <artifactId>enunciate-core-annotations</artifactId>
                <version>${enunciate-maven-plugin.version}</version>
            </dependency>

            <!-- supports simple auth handler -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.4</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>4.4.1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpmime</artifactId>
                <version>4.4.1</version>
            </dependency>

            <!--Test dependencies-->

            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>3.4</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>1.8.5</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.4</version>
            </dependency>

            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons-lang.version}</version>
            </dependency>

            <!-- kafka -->
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>${kafka.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka_${kafka.scala.binary.version}</artifactId>
                <version>${kafka.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-plugin-classloader</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>com.101tec</groupId>
                <artifactId>zkclient</artifactId>
                <version>${zkclient.version}</version>
            </dependency>
          
          <!-- Fix for cassandra-all tranitive dependency CVE-2017-18640 : https://nvd.nist.gov/vuln/detail/CVE-2017-18640 -->
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>1.26</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
        </dependency>

        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
            <version>2.2.2</version>
        </dependency>

    </dependencies>

    <build>
        <directory>target</directory>
        <outputDirectory>target/classes</outputDirectory>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <testOutputDirectory>target/test-classes</testOutputDirectory>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>..</directory>
                <targetPath>META-INF</targetPath>
                <includes>
                    <include>LICENSE</include>
                    <include>NOTICE</include>
                </includes>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>

        <pluginManagement>
            <plugins>
                <!-- support for enforcement of maven & Java versions -->
                <plugin>
                    <inherited>true</inherited>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <groupId>org.antlr</groupId>
                    <artifactId>antlr4-maven-plugin</artifactId>
                    <version>${antlr4.plugin.version}</version>
                    <configuration>
                        <listener>false</listener>
                        <visitor>true</visitor>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>antlr4</goal>
                            </goals>
                            <phase>generate-sources</phase>
                            <configuration>
                                <outputDirectory>src/main/java</outputDirectory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>1.4</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.4</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.8.1</version>
                </plugin>

                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>1.4</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${surefire.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${failsafe.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.7</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.6</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <version>0.13</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.9.1</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>${maven-site-plugin.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>3.0.5</version>
                </plugin>

                <!-- Source code metrics: mvn javancss:report or mvn site -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>javancss-maven-plugin</artifactId>
                    <version>2.0</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.7</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                        <nonFilteredFileExtensions>
                            <nonFilteredFileExtension>zip</nonFilteredFileExtension>
                            <nonFilteredFileExtension>json</nonFilteredFileExtension>
                        </nonFilteredFileExtensions>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <version>1.5</version>
                    <configuration>
                        <excludeGroupIds>org.restlet.jee</excludeGroupIds>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>com.webcohesion.enunciate</groupId>
                    <artifactId>enunciate-maven-plugin</artifactId>
                    <version>${enunciate-maven-plugin.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>docs</goal>
                            </goals>
                            <phase>package</phase>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <!-- enforcement of maven version 3.5.0 or above & Java 8 (151) or above -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-versions</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>[3.5.0,)</version>
                                    <message>** MAVEN VERSION ERROR ** Maven 3.5.0 or above is required. See https://maven.apache.org/install.html </message>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <level>ERROR</level>
                                    <version>[1.8.0-151,)</version>
                                    <message>** JAVA VERSION ERROR ** Java 8 (Update 151) or above is required.</message>
                                </requireJavaVersion>
                                <requireJavaVersion>
                                    <level>WARN</level>
                                    <version>(,1.9]</version>
                                    <message>** JAVA VERSION WARNING ** Java 9 and above has not been tested with Atlas.</message>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                            <goal>test-jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>2.5.4</version>
                <inherited>true</inherited>
                <extensions>true</extensions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${surefire.version}</version>
                <configuration>
                    <systemProperties>
                        <user.dir>${project.basedir}</user.dir>
                        <atlas.data>${project.build.directory}/data</atlas.data>
                        <atlas.log.dir>${project.build.directory}/logs</atlas.log.dir>
                        <atlas.log.file>application.log</atlas.log.file>
                        <log4j.configuration>atlas-log4j.xml</log4j.configuration>
                        <embedded.solr.directory>${project.basedir}/target</embedded.solr.directory>
                    </systemProperties>
                    <skipTests>${skipTests}</skipTests>
                    <forkCount>${surefire.forkCount}</forkCount>
                    <reuseForks>false</reuseForks>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    <argLine>-Djava.awt.headless=true -Dproject.version=${project.version}
                        -Dhadoop.tmp.dir="${project.build.directory}/tmp-hadoop-${user.name}"
                        -Xmx1024m -Djava.net.preferIPv4Stack=true ${atlas.surefire.options}
                    </argLine>
                    <skip>${skipUTs}</skip>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-testng</artifactId>
                        <version>2.18.1</version>
                    </dependency>
                </dependencies>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>${failsafe.version}</version>
                <configuration>
                    <systemPropertyVariables>
                        <projectBaseDir>${projectBaseDir}</projectBaseDir>
                        <atlas.data>${project.build.directory}/data</atlas.data>
                        <atlas.log.dir>${project.build.directory}/logs</atlas.log.dir>
                        <atlas.log.file>application.log</atlas.log.file>
                        <log4j.configuration>atlas-log4j.xml</log4j.configuration>
                        <embedded.solr.directory>${project.basedir}/target</embedded.solr.directory>
                    </systemPropertyVariables>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    <argLine>-Djava.awt.headless=true -Dproject.version=${project.version}
                        -Dhadoop.tmp.dir="${project.build.directory}/tmp-hadoop-${user.name}"
                        -Xmx1024m ${atlas.surefire.options}
                    </argLine>
                    <skip>${skipITs}</skip>
                    <reuseForks>false</reuseForks>
                    <!-- Don't fork the IT until there's sandbox capability for IT env -->
                    <forkCount>0</forkCount>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                </configuration>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>verify</id>
                        <goals>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Run the application using "mvn jetty:run" -->
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>${jetty.version}</version>
                <configuration>
                    <!-- Log to the console. -->
                    <requestLog implementation="org.eclipse.jetty.server.NCSARequestLog">
                        <!-- This doesn't do anything for Jetty, but is a workaround for a Maven bug
                             that prevents the requestLog from being set. -->
                        <append>true</append>
                    </requestLog>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <revisionOnScmFailure>release</revisionOnScmFailure>
                    <doCheck>false</doCheck>
                    <doUpdate>false</doUpdate>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <configuration>
                    <useDefaultExcludes>true</useDefaultExcludes>
                    <useMavenDefaultExcludes>true</useMavenDefaultExcludes>
                    <useIdeaDefaultExcludes>true</useIdeaDefaultExcludes>
                    <useEclipseDefaultExcludes>true</useEclipseDefaultExcludes>
                    <excludeSubProjects>true</excludeSubProjects>
                    <excludes>
                        <exclude>**/antlr4/**</exclude>
                        <exclude>**/dependency-reduced-pom.xml</exclude>
                        <exclude>**/javax.script.ScriptEngineFactory</exclude>
                        <exclude>.reviewboardrc</exclude>
                        <exclude>3party-licenses/**</exclude>
                        <exclude>**/.cache</exclude>
                        <exclude>**/.cache-main</exclude>
                        <exclude>**/.cache-tests</exclude>
                        <exclude>**/.checkstyle</exclude>
                        <exclude>**/*.txt</exclude>
                        <exclude>**/*.json</exclude>
                        <exclude>.pc/**</exclude>
                        <exclude>debian/**</exclude>
                        <exclude>.svn/**</exclude>
                        <exclude>.git/**</exclude>
                        <exclude>.gitignore</exclude>
                        <exclude>**/.idea/**</exclude>
                        <exclude>**/*.twiki</exclude>
                        <exclude>**/*.md</exclude>
                        <exclude>**/*.iml</exclude>
                        <exclude>**/*.json</exclude>
                        <exclude>**/*.log</exclude>
                        <exclude>**/target/**</exclude>
                        <exclude>**/target*/**</exclude>
                        <exclude>**/build/**</exclude>
                        <exclude>**/*.patch</exclude>
                        <exclude>derby.log</exclude>
                        <exclude>**/logs/**</exclude>
                        <exclude>**/.classpath</exclude>
                        <exclude>**/.project</exclude>
                        <exclude>**/.settings/**</exclude>
                        <exclude>**/test-output/**</exclude>
                        <exclude>**/mock/**</exclude>
                        <exclude>**/data/**</exclude>
                        <exclude>**/maven-eclipse.xml</exclude>
                        <exclude>**/.externalToolBuilders/**</exclude>
                        <exclude>**/build.log</exclude>
                        <exclude>**/.bowerrc</exclude>
                        <exclude>*.json</exclude>
                        <exclude>**/overlays/**</exclude>
                        <exclude>dev-support/**</exclude>
                        <exclude>**/users-credentials.properties</exclude>
                        <exclude>**/public/css/animate.min.css</exclude>
                        <exclude>**/public/css/bootstrap-sidebar.css</exclude>
                        <exclude>**/public/js/external_lib/**</exclude>
                        <exclude>**/node_modules/**</exclude>
                        <!-- All the npm plugins are copied here, so exclude it -->
                        <exclude>**/public/js/libs/**</exclude>

                        <!-- atlas data directory creates when tests are run from IDE -->
                        <exclude>**/atlas.data/**</exclude>
                        <exclude>**/${sys:atlas.data}/**</exclude>
                        <exclude>**/policy-store.txt</exclude>
                        <exclude>**/*rebel*.xml</exclude>
                        <exclude>**/*rebel*.xml.bak</exclude>
                        <exclude>**/test/resources/**</exclude>

                        <!-- atlas doc directory -->
                        <exclude>**/docz-lib/**</exclude>
                        <exclude>**/.docz/**</exclude>
                        
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <id>rat-check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>validate</phase>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.atlas</groupId>
                        <artifactId>atlas-buildtools</artifactId>
                        <version>1.0</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>checkstyle-check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>verify</phase>
                        <configuration>
                            <skip>${skipCheck}</skip>
                            <consoleOutput>false</consoleOutput>
                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
                            <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
                            <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <configuration>
                    <!--debug>true</debug -->
                    <xmlOutput>true</xmlOutput>
                    <failOnError>false</failOnError>
                    <skip>${skipCheck}</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>findbugs-check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>verify</phase>
                    </execution>
                </executions>
            </plugin>

            <!-- Source code metrics: mvn javancss:report or mvn site -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>javancss-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>${basedir}</directory>
                            <includes>
                                <include>**/*.pyc</include>
                            </includes>
                            <followSymlinks>false</followSymlinks>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-site-plugin</artifactId>
                <configuration>
                    <skip>${skipSite}</skip>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.doxia</groupId>
                        <artifactId>doxia-module-twiki</artifactId>
                        <version>${doxia.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.maven.doxia</groupId>
                        <artifactId>doxia-core</artifactId>
                        <version>${doxia.version}</version>
                    </dependency>
                </dependencies>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <skip>${skipDocs}</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>javadoc</id>
                        <goals>
                            <goal>javadoc</goal>
                            <goal>jar</goal>
                        </goals>
                        <phase>site</phase>
                        <configuration>
                            <aggregate>true</aggregate>
                        </configuration>
                    </execution>
                    <execution>
                        <id>aggregate</id>
                        <inherited>false</inherited>
                        <goals>
                            <goal>aggregate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <deployAtEnd>true</deployAtEnd>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <skipAssembly>true</skipAssembly>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
