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

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

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>10</version>
  </parent>
  <groupId>org.apache.ranger</groupId>
  <artifactId>ranger</artifactId>
  <version>0.5.4-SNAPSHOT</version>
  <description>Security for Enforcing Enterprise Policies</description>
  <packaging>pom</packaging>
  <name>ranger</name>
  <url>http://ranger.incubator.apache.org/</url>
  <licenses>
    <license>
      <name>Apache 2.0 License</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <scm>
    <connection>scm:git:git@github.com:apache/incubator-ranger.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-ranger.git</developerConnection>
    <url>scm:git:git@github.com:apache/incubator-ranger.git</url>
    <tag>ranger-0.4.0-rc3</tag>
  </scm>
  <issueManagement>
    <system>JIRA</system>
    <url>https://issues.apache.org/jira/browse/ranger</url>
  </issueManagement>
  <prerequisites>
	<maven>2.2.1</maven>
  </prerequisites>

  <mailingLists>
    <mailingList>
      <name>Dev Mailing List</name>
      <post>dev@ranger.incubator.apache.org</post>
      <subscribe>dev-subscribe@ranger.incubator.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@ranger.incubator.apache.org</unsubscribe>
    </mailingList>

    <mailingList>
      <name>User Mailing List</name>
      <post>user@ranger.incubator.apache.org</post>
      <subscribe>user-subscribe@ranger.incubator.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@ranger.incubator.apache.org</unsubscribe>
    </mailingList>

    <mailingList>
      <name>Commits Mailing List</name>
      <post>commits@ranger.incubator.apache.org</post>
      <subscribe>commits-subscribe@ranger.incubator.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@ranger.incubator.apache.org</unsubscribe>
    </mailingList>
  </mailingLists>

  <modules>
  <module>jisql</module>
  <module>agents-audit</module>
  <module>agents-common</module>
  <module>agents-cred</module>
  <module>agents-installer</module>
  <module>credentialbuilder</module>
  <module>embeddedwebserver</module>
  <module>kms</module>
  <module>hbase-agent</module>
  <module>hdfs-agent</module>
  <module>hive-agent</module>
  <module>knox-agent</module>
  <module>storm-agent</module>
  <module>plugin-yarn</module>
  <module>ranger_solrj</module>
  <module>security-admin</module>
  <module>plugin-kafka</module>
  <module>plugin-solr</module>
  <module>ugsync</module>
  <module>ugsync/ldapconfigchecktool/ldapconfigcheck</module>
  <module>unixauthclient</module>
  <module>unixauthservice</module>
  <module>ranger-util</module>
  <module>plugin-kms</module>
  <module>ranger-hdfs-plugin-shim</module>
  <module>ranger-plugin-classloader</module>
  <module>ranger-hive-plugin-shim</module>
  <module>ranger-hbase-plugin-shim</module>
  <module>ranger-knox-plugin-shim</module>
  <module>ranger-yarn-plugin-shim</module>
  <module>ranger-storm-plugin-shim</module>
  <module>ranger-kafka-plugin-shim</module>
  <module>ranger-examples</module>
    <module>ranger-tools</module>
  </modules>
  <properties>
        <javac.source.version>1.7</javac.source.version>
        <javac.target.version>1.7</javac.target.version>
		<antlr.version>3.5.2</antlr.version>
		<aopalliance.version>1.0</aopalliance.version>
		<asm.version>3.1</asm.version>
		<c3p0.version>0.9.1.2</c3p0.version>
		<cglib.version>2.2.0-b23</cglib.version>
        <codehaus.jackson.storm.version>1.9.13</codehaus.jackson.storm.version>
		<codehaus.jackson.version>1.8.1</codehaus.jackson.version>
		<commons.beanutils.collections.version>1.8.3</commons.beanutils.collections.version>
		<commons.beanutils.core.version>1.8.3</commons.beanutils.core.version>
		<commons.cli.version>1.2</commons.cli.version>
		<commons.codec.version>1.9</commons.codec.version>
		<commons.collections.version>3.2.2</commons.collections.version>
		<commons.compress.version>1.8.1</commons.compress.version>
		<commons.configuration.version>1.10</commons.configuration.version>
		<commons.dbcp.version>1.4</commons.dbcp.version>
		<commons.digester.version>2.1</commons.digester.version>
		<commons.httpclient.version>3.1</commons.httpclient.version>
		<commons.io.version>2.4</commons.io.version>
		<commons.lang.version>2.6</commons.lang.version>
		<commons.logging.version>1.2</commons.logging.version>
		<commons.math.version>2.2</commons.math.version>
		<commons.net.version>3.3</commons.net.version>
		<commons.pool.version>1.6</commons.pool.version>
		<eclipse.jpa.version>2.5.2</eclipse.jpa.version>
		<googlecode.log4jdbc.version>1.2</googlecode.log4jdbc.version>
		<google.guava.version>17.0</google.guava.version>
		<gson.version>2.2.4</gson.version>
		<guava.version>11.0.2</guava.version>
		<hadoop-auth.version>2.7.0</hadoop-auth.version>
		<hadoop-common.version>2.7.0</hadoop-common.version>
		<hadoop-common-kms.version>2.7.0</hadoop-common-kms.version>
		<hadoop.version>2.7.0</hadoop.version>
		<htrace-core.version>3.1.0-incubating</htrace-core.version>
		<hamcrest.all.version>1.3</hamcrest.all.version>
		<hbase.version>1.1.0</hbase.version>
		<hive.version>1.2.0</hive.version>
		<storm.version>0.9.2-incubating</storm.version>
		<httpcomponent.httpmime.version>4.2.5</httpcomponent.httpmime.version>
		<httpcomponent.httpclient.version>4.2.5</httpcomponent.httpclient.version>
		<httpcomponent.httpcore.version>4.2.5</httpcomponent.httpcore.version>
		<calcite.version>0.9.2-incubating</calcite.version>
		<tez.version>0.5.2</tez.version>
		<javassist.version>3.12.1.GA</javassist.version>
		<javax.persistence.version>2.1.0</javax.persistence.version>
		<javax.servlet.version>3.1.0</javax.servlet.version>
		<jericho.html.version>3.3</jericho.html.version>
		<jersey-bundle.version>1.17.1</jersey-bundle.version>
		<jersey-client.version>2.6</jersey-client.version>
		<junit.version>4.11</junit.version>
		<kafka.version>0.9.0.0</kafka.version>
		<mockito.version>1.8.4</mockito.version>
		<hamcrest-version>1.3</hamcrest-version>
		<knox.gateway.version>0.6.0</knox.gateway.version>
		<local.lib.dir>${project.basedir}/../lib/local</local.lib.dir>
		<log4j.version>1.2.17</log4j.version>
		<mysql-connector-java.version>5.1.31</mysql-connector-java.version>
		<noggit.version>0.6</noggit.version>
		<owasp-java-html-sanitizer.version>r239</owasp-java-html-sanitizer.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<security-agent-install-dir>hadoop-security/plugins</security-agent-install-dir>
		<slf4j-api.version>1.7.5</slf4j-api.version>
		<solr.version>5.2.0</solr.version>
		<ranger.solrj.version>${project.version}</ranger.solrj.version>
		<springframework.spring.version>2.5.6</springframework.spring.version>
		<!--
		<springframework.spring.version>3.1.3.RELEASE</springframework.spring.version>
		-->
		<springframework.security.version>3.1.3.RELEASE</springframework.security.version>
		<springframework.test.version>3.1.3.RELEASE</springframework.test.version>
		<springframework.version>3.1.3.RELEASE</springframework.version>
		<spring-ldap-core.version>1.3.1.RELEASE</spring-ldap-core.version>
		<sun.jersey.bundle.version>1.4</sun.jersey.bundle.version>
		<sun.jersey.core.version>1.4</sun.jersey.core.version>
		<sun.jersey.spring.version>1.4</sun.jersey.spring.version>
		<tomcat.embed.version>7.0.68</tomcat.embed.version>
		<velocity.version>1.7</velocity.version>
		<zookeeper.version>3.4.6</zookeeper.version>
		<powermock.version>1.5.6</powermock.version>
		<aspectj.version>1.8.2</aspectj.version>
		<findbugs.plugin.version>3.0.0</findbugs.plugin.version>
		<hadoop.minikdc.version>2.3.0</hadoop.minikdc.version>
		<jersey-server.version>1.9</jersey-server.version> 		
		<asm.all.version>3.2</asm.all.version>
		<mortbay.jetty.version>6.1.26</mortbay.jetty.version>
		<metrics.core.version>3.0.2</metrics.core.version>
	      	<curator.test.version>2.7.0</curator.test.version>
		<servlet.api.version>2.5</servlet.api.version>
		<httpcomponents.httpclient.version>4.2.5</httpcomponents.httpclient.version>
		<xz.version>1.0</xz.version>
		<xmlenc.version>0.52</xmlenc.version>
		<snappy-java.version>1.0.4.1</snappy-java.version>
		<protobuf-java.version>2.5.0</protobuf-java.version>
		<paranamer.version>2.3</paranamer.version>
		<netty.version>3.6.2.Final</netty.version>
		<jsr305.version>1.3.9</jsr305.version>
		<jsch.version>0.1.42</jsch.version>
		<jline.version>0.9.94</jline.version>
		<jettison.version>1.1</jettison.version>
		<jaxb-impl.version>2.2.3-1</jaxb-impl.version>
		<jaxb-api.version>2.2.2</jaxb-api.version>
		<jackson.version>1.9.13</jackson.version>
		<sun-jersey-bundle.version>1.19</sun-jersey-bundle.version>
		<distMgmtStagingId>apache.staging.https</distMgmtStagingId>
    	<distMgmtStagingName>Apache Release Distribution Repository</distMgmtStagingName>
    	<distMgmtStagingUrl>https://repository.apache.org/service/local/staging/deploy/maven2</distMgmtStagingUrl>
  </properties>
  <profiles>
     <profile>
          <id>linux</id>
          <activation>
              <os>
                  <family>linux</family>
              </os>
          </activation>
         <modules>
            <module>unixauthnative</module>
          </modules>
      </profile>
  </profiles>
  <distributionManagement>
        <repository>
            <id>${distMgmtStagingId}</id>
            <name>${distMgmtStagingName}</name>
            <url>${distMgmtStagingUrl}</url>
        </repository>
  </distributionManagement>
  <repositories>
          <repository>
            <id>apache.snapshots.https</id>
            <name>Apache Development Snapshot Repository</name>
            <url>https://repository.apache.org/content/repositories/snapshots</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
          </repository>
          <repository>
            <id>apache.public.https</id>
            <name>Apache Development Snapshot Repository</name>
            <url>https://repository.apache.org/content/repositories/public</url>
            <releases>
            	<enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
          </repository>
  </repositories>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>${mockito.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.powermock</groupId>
				<artifactId>powermock-module-junit4</artifactId>
				<version>${powermock.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.powermock</groupId>
				<artifactId>powermock-api-mockito</artifactId>
				<version>${powermock.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-integration</artifactId>
				<version>${hamcrest-version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.core</groupId>
				<artifactId>jersey-client</artifactId>
				<version>${jersey-client.version}</version>
			</dependency>
			<dependency>
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>${gson.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
  <build>
  	<pluginManagement>
    <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>1.3.1</version>
          <executions>
            <execution>
              <id>enforce-versions</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <requireMavenVersion>
                    <version>3.0.4</version>
                  </requireMavenVersion>
                  <requireJavaVersion>
                    <version>${java.version}</version>
                  </requireJavaVersion>
                </rules>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.8</version>
        </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
		  <useIncrementalCompilation>false</useIncrementalCompilation>
          <source>${javac.source.version}</source>
          <target>${javac.target.version}</target>
           <encoding>UTF-8</encoding>
            <maxmem>1024m</maxmem>
            <fork>true</fork>
        </configuration>
      </plugin>
      <plugin>
		    <groupId>org.apache.maven.plugins</groupId>
		    <artifactId>maven-resources-plugin</artifactId>
		    <version>2.4.3</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.17</version>
        <configuration>
           <argLine>-Djava.library.path="${hadoop.library.path}${path.separator}${java.library.path}"</argLine>
           <skipTests>${skipTests}</skipTests>
           <encoding>UTF-8</encoding>
           <systemProperties>
              <property>
                <name>logdir</name>
                <value>${project.build.directory}</value>
              </property>
              <property>
                <name>catalina.base</name>
                <value>${project.build.directory}</value>
              </property>
           </systemProperties>
        </configuration>
      </plugin>
      <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
         <version>2.2-beta-5</version>
         <configuration>
           <descriptors>
             <descriptor>src/main/assembly/hdfs-agent.xml</descriptor>
             <descriptor>src/main/assembly/hive-agent.xml</descriptor>
             <descriptor>src/main/assembly/hbase-agent.xml</descriptor>
             <descriptor>src/main/assembly/knox-agent.xml</descriptor>
             <descriptor>src/main/assembly/storm-agent.xml</descriptor>
	         <descriptor>src/main/assembly/plugin-kafka.xml</descriptor>
             <descriptor>src/main/assembly/plugin-yarn.xml</descriptor>
	         <descriptor>src/main/assembly/plugin-solr.xml</descriptor>
             <descriptor>src/main/assembly/admin-web.xml</descriptor>
             <descriptor>src/main/assembly/usersync.xml</descriptor>
             <descriptor>src/main/assembly/migration-util.xml</descriptor>
             <descriptor>src/main/assembly/kms.xml</descriptor>
             <descriptor>src/main/assembly/ranger-tools.xml</descriptor>
             <descriptor>src/main/assembly/ranger-src.xml</descriptor>
           </descriptors>
         </configuration>
      </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.7</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>2.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>2.2.1</version>
          <configuration>
            <attach>true</attach>
          </configuration>
          <executions>
            <execution>
              <id>create-source-jar</id>
              <goals>
                <goal>jar-no-fork</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>2.5</version>
          <configuration>
            <filesets>
              <fileset>
                <directory>work</directory>
              </fileset>
              <fileset>
                <directory>checkpoint</directory>
              </fileset>
            </filesets>
          </configuration>
        </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5</version>
      </plugin>
    </plugins>
    
    </pluginManagement>
    <plugins>

    <plugin>
      <groupId>org.apache.rat</groupId>
      <artifactId>apache-rat-plugin</artifactId>
      <version>0.11</version>
      <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
      </executions>
      <configuration>
        <excludeSubProjects>false</excludeSubProjects>
        <excludes>
		  <exclude>**/dependency-reduced-pom.xml</exclude>
          <exclude>**/robots.txt</exclude>
          <exclude>**/MANIFEST.MF</exclude>
          <exclude>**/bootstrap.min.js</exclude>

          <exclude>**/src/main/webapp/fonts/**</exclude>
          <exclude>**/src/main/webapp/libs/**</exclude>

          <exclude>.git/**</exclude>
          <exclude>.pc/**</exclude>
          <exclude>debian/**</exclude>
          <exclude>.gitignore/**</exclude>
          <exclude>.svn/**</exclude>
          <exclude>.idea/**</exclude>
          <exclude>dev-support/**</exclude>
          <exclude>**/.gitignore/**</exclude>
          <exclude>**/.project/**</exclude>
          <exclude>**/.settings/**</exclude>
          <exclude>**/.classpath/**</exclude>
          <exclude>**/*.iml</exclude>
          <exclude>**/target/**</exclude>
          <exclude>**/CHANGES</exclude>
          <exclude>**/ISSUES</exclude>
          <exclude>**/patchprocess/**</exclude>
          <exclude>**/test/resources/**</exclude>
          <exclude>**/main/resources/**/*.json</exclude>
          <exclude>**/.externalToolBuilders/*</exclude>
          <exclude>*.patch</exclude>
          <exclude>**/testdata/*.json</exclude>
          <exclude>atlassian-ide-plugin.xml</exclude>
	  <exclude>**/.pydevproject</exclude>
        </excludes>

      </configuration>
    </plugin>

      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-antrun-plugin</artifactId>
         <version>1.7</version>
         <executions>
           <execution>
             <phase>process-resources</phase>
             <configuration>
               <target>
                  <echo message="${project.version}" file="${project.build.directory}/version"/>
               </target>
             </configuration>
             <goals>
               <goal>run</goal>
             </goals>
           </execution>
         </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>${findbugs.plugin.version}</version>
        <configuration>
          <includeFilterFile>./dev-support/findbugsIncludeFile.xml</includeFilterFile>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
