<?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 http://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>1.0.0-SNAPSHOT</version>
    <description>Metadata Management and Data Governance Platform over Hadoop</description>
    <name>apache-atlas</name>
    <packaging>pom</packaging>
    <url>http://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>http://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>http://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>http://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>http://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://git-wip-us.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>http://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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.com</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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>http://www.sap.com</organizationUrl>-->
        </developer>
        <developer>
            <id>chyzer</id>
            <name>Chris Hyzer</name>
            <email>chyzer@aetna.com</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Aetna Inc.</organization>
            <!--<organizationUrl>http://www.aetna.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>http://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>http://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>http://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>http://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>http://www.aetna.com</organizationUrl>-->
        </developer>
        <developer>
            <id>gsenia</id>
            <name>Greg Senia</name>
            <email>gsenia@aetna.com</email>
            <timezone>America/New_York</timezone>
            <roles>
                <role>committer</role>
                <role>PMC</role>
            </roles>
            <organization>Aetna Inc.</organization>
            <!--<organizationUrl>http://www.aetna.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>http://www.hortonworks.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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>http://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>http://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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>http://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>http://</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>http://www.ibm.com</organizationUrl>-->
        </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>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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>http://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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.com</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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.com</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>Hortonworks Inc.</organization>
            <!--<organizationUrl>http://www.hortonworks.com</organizationUrl>-->
        </developer>
    </developers>

    <properties>
        <!-- platform encoding override -->
        <skipTests>false</skipTests>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <node.version>v0.10.30</node.version>
        <node-for-v2.version>v4.4.2</node-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>

        <hadoop.version>2.7.1</hadoop.version>
        <hbase.version>1.1.2</hbase.version>
        <solr.version>5.5.1</solr.version>
        <kafka.version>1.0.0</kafka.version>
        <kafka.scala.binary.version>2.11</kafka.scala.binary.version>
        <curator.version>2.11.0</curator.version>
        <zookeeper.version>3.4.6</zookeeper.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.17.RELEASE</spring.version>
        <spring.security.version>4.2.6.RELEASE</spring.security.version>

        <javax.servlet.version>3.1.0</javax.servlet.version>
        <guava.version>19.0</guava.version>
        <scala.version>2.11.12</scala.version>
        <antlr4.version>4.7</antlr4.version>

        <!-- Needed for hooks -->
        <aopalliance.version>1.0</aopalliance.version>
        <jackson.version>2.9.5</jackson.version>
        <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-logging.version>1.1.3</commons-logging.version>
        <commons-lang.version>2.6</commons-lang.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.10.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>2.8.1</hadoop.hdfs-client.version>
        <codehaus.woodstox.stax2-api.version>3.1.4</codehaus.woodstox.stax2-api.version>
        <woodstox-core.version>5.0.3</woodstox-core.version>

        <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>true</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>
        <testng.version>6.9.4</testng.version>
    </properties>

    <profiles>

        <!-- 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>hbase</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/elasticsearch-*.jar,WEB-INF/lib/solr-test-framework-*.jar, WEB-INF/lib/jts-*.jar,WEB-INF/lib/logback-*.jar</distro.exclude.packages>
            </properties>
        </profile>

        <profile>
            <id>graph-provider-janus</id>
            <activation>
                <property>
                    <name>GRAPH-PROVIDER</name>
                    <value>janus</value>
                </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/elasticsearch-*.jar,WEB-INF/lib/solr-test-framework-*.jar, WEB-INF/lib/jts-*.jar,WEB-INF/lib/logback-*.jar</distro.exclude.packages>
            </properties>
        </profile>

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

    </profiles>

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

        <module>om-fwk-ocf</module>
        <module>omrs</module>
        <module>omag-api</module>
        <module>omag-server</module>
        <module>omas-connectedasset</module>
        <module>omas-assetconsumer</module>
        <module>intg</module>
        <module>common</module>
        <module>server-api</module>
        <module>notification</module>
        <module>client</module>
        <module>graphdb</module>
        <module>shaded/hbase-client-shaded</module>
        <module>shaded/hbase-server-shaded</module>
        <module>repository</module>
        <module>authorization</module>
        <module>dashboardv2</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/kafka-bridge</module>

        <module>distro</module>
    </modules>

    <repositories>
        <repository>
            <id>central</id>
            <url>http://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>hortonworks.repo</id>
            <url>http://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>http://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>1.2</version>
            </dependency>

            <dependency>
                <groupId>commons-el</groupId>
                <artifactId>commons-el</artifactId>
                <version>1.0</version>
            </dependency>

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.4</version>
            </dependency>

            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${commons-collections.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>2.5</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>

            <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-webapp</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-hbase-client-shaded</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.atlas</groupId>
                <artifactId>atlas-hbase-server-shaded</artifactId>
                <version>${project.version}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </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>hdfs-model</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>

            <!-- 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.4.1</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>

        </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.12</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.1</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>
                        <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>
                        <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>**/*.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>
                    </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>
