| <?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> |
| <artifactId>security-admin-web</artifactId> |
| <name>Security Admin Web Application</name> |
| <description>security-admin-tool java web application</description> |
| <packaging>war</packaging> |
| <parent> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ranger</artifactId> |
| <version>3.0.0-SNAPSHOT</version> |
| </parent> |
| <properties> |
| <skipJSTests>false</skipJSTests> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr-runtime</artifactId> |
| <version>${antlr.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>aopalliance</groupId> |
| <artifactId>aopalliance</artifactId> |
| <version>${aopalliance.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>asm</groupId> |
| <artifactId>asm-all</artifactId> |
| <version>${asm.all.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.zaxxer</groupId> |
| <artifactId>HikariCP</artifactId> |
| <version>${HikariCP.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.hk2.external</groupId> |
| <artifactId>cglib</artifactId> |
| <version>${cglib.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-beanutils</groupId> |
| <artifactId>commons-beanutils</artifactId> |
| <version>${commons.beanutils.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>${commons.cli.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.poi</groupId> |
| <artifactId>poi</artifactId> |
| <version>${poi.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.poi</groupId> |
| <artifactId>poi-ooxml</artifactId> |
| <version>${poi.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| <version>${commons.codec.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-collections</groupId> |
| <artifactId>commons-collections</artifactId> |
| <version>${commons.collections.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| <version>${commons.compress.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-configuration2</artifactId> |
| <version>${commons.configuration.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-dbcp</groupId> |
| <artifactId>commons-dbcp</artifactId> |
| <version>${commons.dbcp.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-digester</groupId> |
| <artifactId>commons-digester</artifactId> |
| <version>${commons.digester.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tomcat</groupId> |
| <artifactId>tomcat-jasper-el</artifactId> |
| <version>${tomcat.embed.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons.io.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-lang</groupId> |
| <artifactId>commons-lang</artifactId> |
| <version>${commons.lang.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-math</artifactId> |
| <version>${commons.math.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-net</groupId> |
| <artifactId>commons-net</artifactId> |
| <version>${commons.net.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-pool</groupId> |
| <artifactId>commons-pool</artifactId> |
| <version>${commons.pool.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.persistence</groupId> |
| <artifactId>eclipselink</artifactId> |
| <version>${eclipse.jpa.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.persistence</groupId> |
| <artifactId>javax.persistence</artifactId> |
| <version>${javax.persistence.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${google.guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.htmlparser.jericho</groupId> |
| <artifactId>jericho-html</artifactId> |
| <version>${jericho.html.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-aop</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-beans</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-context</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-context-support</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| <version>${springframework.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-jcl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-expression</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-jdbc</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-orm</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-tx</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-web</artifactId> |
| <version>${springframework.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-bundle</artifactId> |
| <version>${jersey-bundle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-core</artifactId> |
| <version>${jersey-core.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jettison</groupId> |
| <artifactId>jettison</artifactId> |
| <version>${jettison.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey.contribs</groupId> |
| <artifactId>jersey-spring</artifactId> |
| <version>${jersey-spring.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-web</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-beans</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-context</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-aop</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-server</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-mapreduce-client-core</artifactId> |
| <version>${hadoop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.jaxrs</groupId> |
| <artifactId>jackson-jaxrs-json-provider</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${fasterxml.jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${fasterxml.jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>${fasterxml.jackson.databind.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey.contribs</groupId> |
| <artifactId>jersey-multipart</artifactId> |
| <version>${jersey-core.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.solr</groupId> |
| <artifactId>solr-solrj</artifactId> |
| <version>${solr.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-resolver</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport-native-unix-common</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport-native-epoll</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-handler</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-buffer</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-codec</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-transport</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-common</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.googlecode.log4jdbc</groupId> |
| <artifactId>log4jdbc</artifactId> |
| <version>${googlecode.log4jdbc.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.googlecode.owasp-java-html-sanitizer</groupId> |
| <artifactId>owasp-java-html-sanitizer</artifactId> |
| <version>${owasp-java-html-sanitizer.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.ldap</groupId> |
| <artifactId>spring-ldap-core</artifactId> |
| <version>${spring-ldap-core.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.security</groupId> |
| <artifactId>spring-security-acl</artifactId> |
| <version>${springframework.security.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.security</groupId> |
| <artifactId>spring-security-config</artifactId> |
| <version>${springframework.security.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.security</groupId> |
| <artifactId>spring-security-core</artifactId> |
| <version>${springframework.security.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.security</groupId> |
| <artifactId>spring-security-ldap</artifactId> |
| <version>${springframework.security.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.security</groupId> |
| <artifactId>spring-security-web</artifactId> |
| <version>${springframework.security.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.velocity</groupId> |
| <artifactId>velocity-engine-core</artifactId> |
| <version>${velocity.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>javax.servlet-api</artifactId> |
| <version>${javax.servlet.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-core-asl</artifactId> |
| <version>${codehaus.jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-mapper-asl</artifactId> |
| <version>${codehaus.jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-xc</artifactId> |
| <version>${codehaus.jackson.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ranger-util</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>libfb303</artifactId> |
| <version>${libfb303.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>libthrift</artifactId> |
| <version>${libthrift.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.tomcat.embed</groupId> |
| <artifactId>tomcat-embed-core</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf-java.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-common</artifactId> |
| <version>${hadoop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-httpclient</groupId> |
| <artifactId>commons-httpclient</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>javax.servlet</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jetty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jsp-2.1</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jsp-api-2.1</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>servlet-api-2.1</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>javax.servlet</groupId> |
| <artifactId>servlet-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>javax.servlet.jsp</groupId> |
| <artifactId>jsp-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>tomcat</groupId> |
| <artifactId>jasper-compiler</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>tomcat</groupId> |
| <artifactId>jasper-runtime</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-server</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-json</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-text</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-configuration2</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-text</artifactId> |
| <version>${commons.text.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-all</artifactId> |
| <version>${netty-all.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs</artifactId> |
| <version>${hadoop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-server</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>unixauthclient</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ranger-plugins-common</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ugsync-util</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.nimbusds</groupId> |
| <artifactId>nimbus-jose-jwt</artifactId> |
| <version>${nimbus-jose-jwt.version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <!-- Transitive dependency for nimbus-jose-jwt. |
| Please re-check this version when updating nimbus-jose-jwt. |
| Please read RANGER-2080 for more details. |
| --> |
| <dependency> |
| <groupId>net.minidev</groupId> |
| <artifactId>json-smart</artifactId> |
| <version>${jsonsmart.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| <version>3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.annotation</groupId> |
| <artifactId>jsr250-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.webcohesion.enunciate</groupId> |
| <artifactId>enunciate-core-annotations</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.jaxrs</groupId> |
| <artifactId>jackson-jaxrs-json-provider</artifactId> |
| <version>${fasterxml.jackson.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase.thirdparty</groupId> |
| <artifactId>hbase-shaded-protobuf</artifactId> |
| <version>${hbase-shaded-protobuf}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase.thirdparty</groupId> |
| <artifactId>hbase-shaded-netty</artifactId> |
| <version>${hbase-shaded-netty}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase.thirdparty</groupId> |
| <artifactId>hbase-shaded-miscellaneous</artifactId> |
| <version>${hbase-shaded-miscellaneous}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.zookeeper</groupId> |
| <artifactId>zookeeper</artifactId> |
| <version>${zookeeper.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-annotations</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${httpcomponents.httpclient.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| <version>${httpcomponents.httpcore.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpasyncclient</artifactId> |
| <version>${httpcomponents.httpasyncclient.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpmime</artifactId> |
| <version>${httpcomponents.httpmime.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore-nio</artifactId> |
| <version>${httpcomponents.httpcore.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-bundle</artifactId> |
| <version>${aws-java-sdk.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>log4j-over-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>${logback.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-to-slf4j</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ranger-authn</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ranger-metrics</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- Test --> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <version>${junit.jupiter.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.vintage</groupId> |
| <artifactId>junit-vintage-engine</artifactId> |
| <version>${junit.jupiter.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-test</artifactId> |
| <version>${springframework.test.version}</version> |
| </dependency> |
| </dependencies> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.18.1</version> |
| <configuration> |
| <skipTests>${skipTests}</skipTests> |
| <additionalClasspathElements> |
| <additionalClasspathElement>${project.basedir}/src/main/webapp/WEB-INF</additionalClasspathElement> |
| <additionalClasspathElement>${project.basedir}/src/main/webapp/META-INF</additionalClasspathElement> |
| </additionalClasspathElements> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-war-plugin</artifactId> |
| <version>2.6</version> |
| <executions> |
| <execution> |
| <id>prepare</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>exploded</goal> |
| </goals> |
| <configuration> |
| <warSourceExcludes>react-webapp/**</warSourceExcludes> |
| </configuration> |
| </execution> |
| <execution> |
| <id>default-war</id> |
| <phase>package</phase> |
| <goals> |
| <goal>war</goal> |
| </goals> |
| <configuration> |
| <packagingExcludes> |
| WEB-INF/lib/spring-*.SEC03.jar, |
| WEB-INF/lib/spring-*.RC3.jar, |
| WEB-INF/lib/spring-2.*.jar, |
| WEB-INF/lib/jetty-*.jar |
| </packagingExcludes> |
| <warSourceDirectory>${project.build.directory}/${project.build.finalName}</warSourceDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.google.code.maven-replacer-plugin</groupId> |
| <artifactId>replacer</artifactId> |
| <version>1.5.3</version> |
| <executions> |
| <execution> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>replace</goal> |
| </goals> |
| <configuration> |
| <basedir>${project.build.directory}/${project.build.finalName}</basedir> |
| <includes> |
| <include>backbone-index.html</include> |
| <include>scripts/Init.js</include> |
| </includes> |
| <replacements> |
| <replacement> |
| <token>build.version</token> |
| <value>${project.version}</value> |
| </replacement> |
| <replacement> |
| <token>(?m)\<\!-- *dev *--\>(.*)$</token> |
| <value>\<\!-- dev $1 --\></value> |
| </replacement> |
| <replacement> |
| <token>\<\!-- *prod *(.*) *--\></token> |
| <value>\<\!-- prod --\>$1</value> |
| </replacement> |
| </replacements> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.webcohesion.enunciate</groupId> |
| <artifactId>enunciate-maven-plugin</artifactId> |
| <configuration> |
| <configFile>${basedir}/../enunciate.xml</configFile> |
| <docsDir>${basedir}/../docs/target/</docsDir> |
| </configuration> |
| <dependencies> |
| <!-- dependency management version doesn't apply here, need to repeat the version numbers --> |
| <dependency> |
| <groupId>javax.xml.bind</groupId> |
| <artifactId>jaxb-api</artifactId> |
| <version>${jaxb.api.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.jws</groupId> |
| <artifactId>javax.jws-api</artifactId> |
| <version>1.1</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>2.7</version> |
| <executions> |
| <execution> |
| <id>copy-resources</id> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <outputDirectory>${project.build.directory}/jsmain</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${basedir}/src/main/webapp</directory> |
| <includes> |
| <include>package.json</include> |
| <include>package-lock.json</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-js-test-resources</id> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <outputDirectory>${project.build.directory}/jstest</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${basedir}/src/test/javascript</directory> |
| <includes> |
| <include>package.json</include> |
| <include>package-lock.json</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <!-- react-webapp copy-resources execution start --> |
| <execution> |
| <id>copy-resources-react-webapp</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/react-webapp</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${project.basedir}/src/main/webapp/react-webapp/</directory> |
| <filtering>false</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-resources-react-webapp-dist</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${project.build.directory}/react-webapp/dist/</directory> |
| <filtering>false</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-resources-react-webapp-index-html</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${project.basedir}/src/main/webapp/react-webapp/src/</directory> |
| <includes> |
| <include>index.html</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-resources-react-webapp-login-jsp-styles</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/${project.build.finalName}/styles</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${project.basedir}/src/main/webapp/styles</directory> |
| <includes> |
| <include>bootstrap.min.css</include> |
| <include>font-awesome.min.css</include> |
| <include>xa.css</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-resources-react-webapp-login-jsp-images</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/${project.build.finalName}/images</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${project.basedir}/src/main/webapp/images</directory> |
| <includes> |
| <include>ranger_logo.png</include> |
| <include>favicon.ico</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <!-- react-webapp copy-resources execution end --> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.github.eirslett</groupId> |
| <artifactId>frontend-maven-plugin</artifactId> |
| <version>1.12.1</version> |
| <configuration> |
| <workingDirectory>${project.build.directory}</workingDirectory> |
| <installDirectory>${project.build.directory}</installDirectory> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>process-resources</phase> |
| <id>install node and npm</id> |
| <goals> |
| <goal>install-node-and-npm</goal> |
| </goals> |
| <configuration> |
| <nodeVersion>v8.12.0</nodeVersion> |
| <npmVersion>6.4.1</npmVersion> |
| </configuration> |
| </execution> |
| <execution> |
| <phase>prepare-package</phase> |
| <id>npm install for packaging</id> |
| <goals> |
| <goal>npm</goal> |
| </goals> |
| <configuration> |
| <workingDirectory>${project.build.directory}/jsmain</workingDirectory> |
| <arguments>install</arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <phase>prepare-package</phase> |
| <id>npm run r.js</id> |
| <goals> |
| <goal>npm</goal> |
| </goals> |
| <configuration> |
| <workingDirectory>${project.build.directory}/jsmain</workingDirectory> |
| <arguments>run r.js -- -o ../${project.build.finalName}/minify.build.js</arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <phase>test</phase> |
| <id>npm install for tests</id> |
| <goals> |
| <goal>npm</goal> |
| </goals> |
| <configuration> |
| <skip>${skipJSTests}</skip> |
| <workingDirectory>${project.build.directory}/jstest</workingDirectory> |
| <arguments>install</arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <phase>test</phase> |
| <id>karma dev</id> |
| <goals> |
| <goal>karma</goal> |
| </goals> |
| <configuration> |
| <skip>${skipJSTests}</skip> |
| <workingDirectory>${project.build.directory}/jstest</workingDirectory> |
| <karmaConfPath>../../src/test/javascript/karma-dev.conf.js</karmaConfPath> |
| </configuration> |
| </execution> |
| <execution> |
| <phase>integration-test</phase> |
| <id>karma prd</id> |
| <goals> |
| <goal>karma</goal> |
| </goals> |
| <configuration> |
| <environmentVariables> |
| <buildDir>${project.build.finalName}</buildDir> |
| </environmentVariables> |
| <skip>${skipJSTests}</skip> |
| <workingDirectory>${project.build.directory}/jstest</workingDirectory> |
| <karmaConfPath>../../src/test/javascript/karma-prd.conf.js</karmaConfPath> |
| </configuration> |
| </execution> |
| <!-- react-webapp frontend-maven-plugin start --> |
| <execution> |
| <id>install node and npm for react-webapp</id> |
| <goals> |
| <goal>install-node-and-npm</goal> |
| </goals> |
| <phase>generate-resources</phase> |
| <configuration> |
| <workingDirectory>${project.build.directory}/react-webapp</workingDirectory> |
| <installDirectory>${project.build.directory}/react-build</installDirectory> |
| <nodeVersion>v16.0.0</nodeVersion> |
| <npmVersion>7.10.0</npmVersion> |
| </configuration> |
| </execution> |
| <execution> |
| <id>run npm ci for react-webapp</id> |
| <goals> |
| <goal>npm</goal> |
| </goals> |
| <phase>generate-resources</phase> |
| <configuration> |
| <workingDirectory>${project.build.directory}/react-webapp</workingDirectory> |
| <installDirectory>${project.build.directory}/react-build</installDirectory> |
| <arguments>ci</arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <id>webpack build for react-webapp</id> |
| <goals> |
| <goal>npm</goal> |
| </goals> |
| <phase>generate-resources</phase> |
| <configuration> |
| <workingDirectory>${project.build.directory}/react-webapp</workingDirectory> |
| <installDirectory>${project.build.directory}/react-build</installDirectory> |
| <arguments>run build</arguments> |
| </configuration> |
| </execution> |
| <!-- react-webapp frontend-maven-plugin end --> |
| </executions> |
| </plugin> |
| |
| <!-- duplicate SQL patch file version validator plugin --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>1.4.1</version> |
| <executions> |
| <execution> |
| <id>duplicate-sql-patch-file-version-validator</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <rules> |
| <evaluateBeanshell> |
| <message>Looks like there are multiple SQL files with same version number prefix. Update prefix and build again.</message> |
| <condition> |
| List sqlFilePaths = org.codehaus.plexus.util.FileUtils.getFileNames(new File("security-admin/db"), "**/*.sql", null, false); |
| Map sqlFileMap = new HashMap(); |
| Boolean noDupPrfx = true; |
| |
| for (Iterator it = sqlFilePaths.iterator(); it.hasNext();) { |
| String currentSqlFilePath = it.next(); |
| |
| if (currentSqlFilePath.contains("patches")) { |
| String [] array = currentSqlFilePath.split("/"); |
| String db = array[0]; |
| String patch = array[(array.length - 1)]; |
| Boolean prfxWithNums = java.util.regex.Pattern.matches("^[0-9]{3}-([a-zA-Z]+[-_]*)+.sql$", patch); |
| |
| if (prfxWithNums) { |
| String sqlFile = sqlFileMap.get(db + "-" + patch.split("-")[0]); |
| |
| if (sqlFile == null) { |
| sqlFileMap.put(db + "-" + patch.split("-")[0], currentSqlFilePath); |
| } else { |
| print("Multiple SQL files with combination: [DB=" + db + "] [VersionPrefix=" + patch.split("-")[0] + "] found, hence triggering build failure."); |
| print("Review prefixs for following files."); |
| print("1. " + sqlFile); |
| print("2. " + currentSqlFilePath); |
| noDupPrfx = false; |
| }; |
| }; |
| }; |
| }; |
| |
| noDupPrfx |
| </condition> |
| </evaluateBeanshell> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| |
| <!-- duplicate JAVA patch file version validator plugin --> |
| <execution> |
| <id>duplicate-java-patch-file-version-validator</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <rules> |
| <evaluateBeanshell> |
| <message>Looks like there are multiple JAVA files with same version number suffix. Update suffix and build again.</message> |
| <condition> |
| List javaFilePaths = org.codehaus.plexus.util.FileUtils.getFileNames(new File("security-admin/src/main/java/org/apache/ranger/patch"), "**/*.java", null, false); |
| Map javaFileMap = new HashMap(); |
| Boolean noDupSuffix = true; |
| |
| for (Iterator it = javaFilePaths.iterator(); it.hasNext();) { |
| String currentJavaFilePath = it.next(); |
| |
| if (currentJavaFilePath.startsWith("Patch")) { |
| String versionSuffix = currentJavaFilePath.split("_J")[1]; |
| String javaFile = javaFileMap.get(versionSuffix); |
| |
| if (javaFile == null) { |
| javaFileMap.put(versionSuffix, currentJavaFilePath); |
| } else { |
| print("Multiple JAVA files with suffix: " + versionSuffix + " found, hence triggering build failure."); |
| print("Review suffixes for following files."); |
| print("1. " + javaFile); |
| print("2. " + currentJavaFilePath); |
| noDupSuffix = false; |
| }; |
| }; |
| }; |
| |
| noDupSuffix |
| </condition> |
| </evaluateBeanshell> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |