<?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>18</version>
    </parent>
    <groupId>org.apache.ranger</groupId>
    <artifactId>ranger</artifactId>
    <version>0.7.0-SNAPSHOT</version>
    <description>Security for Enforcing Enterprise Policies</description>
    <packaging>pom</packaging>
    <name>ranger</name>
    <url>http://ranger.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/ranger.git</connection>
        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/ranger.git</developerConnection>
        <url>scm:git:git@github.com:apache/ranger.git</url>
        <tag>HEAD</tag>
    </scm>
    <issueManagement>
        <system>JIRA</system>
        <url>https://issues.apache.org/jira/browse/ranger</url>
    </issueManagement>
    <prerequisites>
        <maven>3.0.1</maven>
    </prerequisites>
    <mailingLists>
        <mailingList>
            <name>Dev Mailing List</name>
            <post>dev@ranger.apache.org</post>
            <subscribe>dev-subscribe@ranger.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@ranger.apache.org</unsubscribe>
        </mailingList>
        <mailingList>
            <name>User Mailing List</name>
            <post>user@ranger.apache.org</post>
            <subscribe>user-subscribe@ranger.apache.org</subscribe>
            <unsubscribe>user-unsubscribe@ranger.apache.org</unsubscribe>
        </mailingList>
        <mailingList>
            <name>Commits Mailing List</name>
            <post>commits@ranger.apache.org</post>
            <subscribe>commits-subscribe@ranger.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@ranger.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>security-admin</module>
        <module>plugin-kafka</module>
        <module>plugin-solr</module>
	    <module>plugin-nifi</module>
        <module>ugsync</module>
        <module>ugsync/ldapconfigchecktool/ldapconfigcheck</module>
        <module>unixauthclient</module>
        <module>unixauthservice</module>
        <module>ranger-util</module>
        <module>plugin-kms</module>
        <module>tagsync</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-solr-plugin-shim</module>
        <module>ranger-atlas-plugin-shim</module>
        <module>ranger-kms-plugin-shim</module>
        <module>ranger-hive-utils</module>
        <module>ranger-examples</module>
        <module>ranger-tools</module>
        <module>plugin-atlas</module>
  </modules>
    <properties>
        <maven.version.required>3.3.3</maven.version.required>
        <java.version.required>1.7</java.version.required>
        <javac.source.version>1.7</javac.source.version>
        <javac.target.version>1.7</javac.target.version>
        <distMgmtStagingId>apache.staging.https</distMgmtStagingId>
        <distMgmtStagingName>Apache Release Distribution Repository</distMgmtStagingName>
        <distMgmtStagingUrl>https://repository.apache.org/service/local/staging/deploy/maven2</distMgmtStagingUrl>
        <!-- versions are in alphabetical order -->
        <antlr.version>3.5.2</antlr.version>
        <aopalliance.version>1.0</aopalliance.version>
        <apacheds.version>2.0.0-M22</apacheds.version>
        <asm.all.version>3.2</asm.all.version>
        <asm.version>3.1</asm.version>
        <aspectj.version>1.8.2</aspectj.version>
        <atlas.version>0.7-incubating</atlas.version>
        <atlas.guava.version>14.0</atlas.guava.version>
        <atlas.gson.version>2.5</atlas.gson.version>
        <atlas.jettison.version>1.3.7</atlas.jettison.version>
        <atlas.commons.logging.version>1.1.3</atlas.commons.logging.version>
        <avatica.version>1.7.1</avatica.version>
        <bouncycastle.version>1.55</bouncycastle.version>
        <c3p0.version>0.9.1.2</c3p0.version>
        <cglib.version>2.2.0-b23</cglib.version>
        <codehaus.jackson.version>1.9.13</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.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>
        <curator.test.version>2.7.0</curator.test.version>
        <derby.version>10.11.1.1</derby.version>
        <easymock.version>3.4</easymock.version>
        <eclipse.jpa.version>2.5.2</eclipse.jpa.version>
        <findbugs.plugin.version>3.0.3</findbugs.plugin.version>
        <google.guava.version>17.0</google.guava.version>
        <googlecode.log4jdbc.version>1.2</googlecode.log4jdbc.version>
        <gson.version>2.2.4</gson.version>
        <guava.version>11.0.2</guava.version>
        <guice.version>4.0</guice.version>
        <hadoop.version>2.7.1</hadoop.version>
        <hamcrest.all.version>1.3</hamcrest.all.version>
        <hbase.version>1.1.3</hbase.version>
        <hive.version>2.1.0</hive.version>
        <htrace-core.version>3.1.0-incubating</htrace-core.version>
		<httpcomponents.httpclient.version>4.5.1</httpcomponents.httpclient.version>
		<httpcomponents.httpcore.version>4.4.4</httpcomponents.httpcore.version>
		<httpcomponents.httpmime.version>4.5.2</httpcomponents.httpmime.version>
        <jackson.version>1.9.13</jackson.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>
        <javax-inject.version>1</javax-inject.version>
        <jaxb-api.version>2.2.2</jaxb-api.version>
        <jaxb-impl.version>2.2.3-1</jaxb-impl.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>
        <jersey-server.version>1.9</jersey-server.version>
        <jettison.version>1.1</jettison.version>
        <jline.version>0.9.94</jline.version>
        <joda-time.version>2.5</joda-time.version>
        <jsch.version>0.1.42</jsch.version>
        <json4s.version>3.2.11</json4s.version>
        <jsr305.version>1.3.9</jsr305.version>
        <junit.version>4.12</junit.version>
        <kafka.version>0.10.0.0</kafka.version>
        <knox.gateway.version>0.6.0</knox.gateway.version>
        <libpam4j.version>1.8</libpam4j.version>
        <local.lib.dir>${project.basedir}/../lib/local</local.lib.dir>
        <log4j.version>1.2.17</log4j.version>
        <metrics.core.version>3.0.2</metrics.core.version>
        <mockito.version>1.8.4</mockito.version>
        <mysql-connector-java.version>5.1.31</mysql-connector-java.version>
        <netty.version>3.6.2.Final</netty.version>
        <noggit.version>0.6</noggit.version>
        <owasp-java-html-sanitizer.version>r239</owasp-java-html-sanitizer.version>
        <paranamer.version>2.3</paranamer.version>
        <poi.version>3.12</poi.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <protobuf-java.version>2.5.0</protobuf-java.version>
        <scala.version>2.11.8</scala.version>
        <scala.binary.version>2.11</scala.binary.version>
        <scala.xml.version>1.0.4</scala.xml.version>
        <security-agent-install-dir>hadoop-security/plugins</security-agent-install-dir>
        <servlet.api.version>2.5</servlet.api.version>
        <slf4j-api.version>1.7.5</slf4j-api.version>
        <snappy-java.version>1.0.4.1</snappy-java.version>
        <solr.version>5.5.1</solr.version>
        <spring-ldap-core.version>1.3.1.RELEASE</spring-ldap-core.version>
        <springframework.security.version>3.1.3.RELEASE</springframework.security.version>
        <springframework.spring.version>2.5.6</springframework.spring.version>
        <!--
                <springframework.spring.version>3.1.3.RELEASE</springframework.spring.version>
                -->
        <springframework.test.version>3.1.3.RELEASE</springframework.test.version>
        <springframework.version>3.1.3.RELEASE</springframework.version>
        <storm.version>1.0.2</storm.version>
        <sun-jersey-bundle.version>1.19</sun-jersey-bundle.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>
        <tez.version>0.5.2</tez.version>
        <tomcat.embed.version>7.0.68</tomcat.embed.version>
        <velocity.version>1.7</velocity.version>
        <xmlenc.version>0.52</xmlenc.version>
        <xz.version>1.0</xz.version>
        <zookeeper.version>3.4.6</zookeeper.version>
    </properties>
    <profiles>
        <profile>
            <id>linux</id>
            <activation>
                <os>
                    <family>linux</family>
                </os>
            </activation>
            <modules>
                <module>unixauthnative</module>
            </modules>
        </profile>
        <profile>
            <id>linux-pam</id>
            <activation>
                <os>
                    <family>linux</family>
                </os>
				<file>
					<exists>/usr/include/security/pam_appl.h</exists>
				</file>
            </activation>
            <modules>
                <module>unixauthpam</module>
            </modules>
        </profile>
        <profile>
            <id>sign-artifacts</id>
            <activation>
                <property>
                    <name>sign-artifacts</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </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>
        <!--
    <repository>
      <id>repo</id>
      <url>file://${basedir}/local-repo</url>
      <snapshots>
         <enabled>true</enabled>
      </snapshots>
  </repository>
  -->
    </repositories>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector-java.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.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>${hamcrest.all.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.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.9.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.3</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.7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.18.1</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/tagsync.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>
                            <descriptor>src/main/assembly/plugin-atlas.xml</descriptor>
                        </descriptors>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.6</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.8</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.4.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.4</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.6.1</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.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.4.1</version>
                <executions>
                    <execution>
                        <id>enforce-versions</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>${maven.version.required}</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>${java.version.required}</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.5</version>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <rulesets>
                        <ruleset>${project.parent.basedir}/dev-support/ranger-pmd-ruleset.xml</ruleset>
                    </rulesets>
                    <sourceEncoding>UTF-8</sourceEncoding>
                    <failOnViolation>true</failOnViolation>
                    <linkXRef>false</linkXRef>
                    <includeTests>true</includeTests>
                    <verbose>true</verbose>
                    <excludeRoots>
                        <excludeRoot>${basedir}/src/main/generated</excludeRoot>
                    </excludeRoots>
                </configuration>
            </plugin>
            <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/**/*.json</exclude>
                        <exclude>**/test/resources/**/*.txt</exclude>
                        <exclude>**/test/resources/**/*.csv</exclude>
                        <exclude>**/main/resources/**/*.json</exclude>
                        <exclude>**/samples/**/*.json</exclude>
                        <exclude>**/.externalToolBuilders/*</exclude>
                        <exclude>*.patch</exclude>
                        <exclude>**/testdata/*.json</exclude>
                        <exclude>atlassian-ide-plugin.xml</exclude>
                        <exclude>**/.pydevproject</exclude>
                        <exclude>**/derby.log</exclude>
                        <exclude>**/*.jaas</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>
