security-admin-web
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.apache.ranger</groupId> <artifactId>security-admin-web</artifactId> <version>2.6.0</version> </dependency>
<?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.ranger</groupId> <artifactId>ranger</artifactId> <version>2.6.0</version> </parent> <artifactId>security-admin-web</artifactId> <packaging>war</packaging> <name>Security Admin Web Application</name> <description>security-admin-tool java web application</description> <properties> <skipJSTests>false</skipJSTests> </properties> <dependencies> <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>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-logs</artifactId> <version>${aws-java-sdk.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-core</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.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-base</artifactId> <version>${fasterxml.jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> <version>${fasterxml.jackson.version}</version> <exclusions> <exclusion> <groupId>jakarta.activation</groupId> <artifactId>jakarta.activation-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>3.0</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${protobuf-java.version}</version> </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>com.nimbusds</groupId> <artifactId>nimbus-jose-jwt</artifactId> <version>${nimbus-jose-jwt.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-bundle</artifactId> <version>${jersey-bundle.version}</version> <exclusions> <exclusion> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> <version>${jersey-core.version}</version> <exclusions> <exclusion> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-multipart</artifactId> <version>${jersey-core.version}</version> </dependency> <dependency> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-spring</artifactId> <version>${jersey-spring.version}</version> <exclusions> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-aop</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-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.webcohesion.enunciate</groupId> <artifactId>enunciate-core-annotations</artifactId> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>${HikariCP.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </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>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>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>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>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>io.netty</groupId> <artifactId>netty-all</artifactId> <version>${netty-all.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${javax.servlet.version}</version> </dependency> <dependency> <groupId>net.htmlparser.jericho</groupId> <artifactId>jericho-html</artifactId> <version>${jericho.html.version}</version> </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>org.antlr</groupId> <artifactId>antlr-runtime</artifactId> <version>${antlr.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>org.apache.commons</groupId> <artifactId>commons-math</artifactId> <version>${commons.math.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>${commons.text.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-json</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> </exclusion> <exclusion> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>*</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>log4j</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> </exclusion> <exclusion> <groupId>org.apache.commons</groupId> <artifactId>commons-configuration2</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.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>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>tomcat</groupId> <artifactId>jasper-compiler</artifactId> </exclusion> <exclusion> <groupId>tomcat</groupId> <artifactId>jasper-runtime</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>${hadoop.version}</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</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>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.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>io.netty</groupId> <artifactId>netty</artifactId> </exclusion> <exclusion> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> </exclusion> <exclusion> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hbase.thirdparty</groupId> <artifactId>hbase-shaded-miscellaneous</artifactId> <version>${hbase-shaded-miscellaneous}</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-protobuf</artifactId> <version>${hbase-shaded-protobuf}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpasyncclient</artifactId> <version>${httpcomponents.httpasyncclient.version}</version> </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>httpcore-nio</artifactId> <version>${httpcomponents.httpcore.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>${httpcomponents.httpmime.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.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>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> <dependency> <groupId>org.apache.ranger</groupId> <artifactId>ranger-plugins-common</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.ranger</groupId> <artifactId>ranger-util</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.ranger</groupId> <artifactId>ugsync-util</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.ranger</groupId> <artifactId>unixauthclient</artifactId> <version>${project.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-buffer</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-codec</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-common</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-handler</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-resolver</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-transport</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-transport-native-epoll</artifactId> </exclusion> <exclusion> <groupId>io.netty</groupId> <artifactId>netty-transport-native-unix-common</artifactId> </exclusion> <exclusion> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper-jute</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </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> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper-el</artifactId> <version>${tomcat.embed.version}</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>${velocity.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> <exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-annotations</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.codehaus.jettison</groupId> <artifactId>jettison</artifactId> <version>${jettison.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>org.glassfish.hk2.external</groupId> <artifactId>cglib</artifactId> <version>${cglib.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>${slf4j.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-test</artifactId> <version>${springframework.test.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>org.springframework.ldap</groupId> <artifactId>spring-ldap-core</artifactId> <version>${spring-ldap-core.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </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>javax.annotation</groupId> <artifactId>jsr250-api</artifactId> <scope>provided</scope> </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> </dependencies> <build> <resources> <resource> <filtering>true</filtering> <directory>src/main/resources</directory> </resource> </resources> <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> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.4.0</version> <executions> <execution> <id>prepare</id> <goals> <goal>exploded</goal> </goals> <phase>prepare-package</phase> <configuration> <warSourceExcludes>react-webapp/**</warSourceExcludes> </configuration> </execution> <execution> <id>default-war</id> <goals> <goal>war</goal> </goals> <phase>package</phase> <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> <goals> <goal>replace</goal> </goals> <phase>prepare-package</phase> <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> <groupId>javax.jws</groupId> <artifactId>javax.jws-api</artifactId> <version>1.1</version> </dependency> <!-- 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> </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> <goals> <goal>copy-resources</goal> </goals> <phase>generate-sources</phase> <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> <goals> <goal>copy-resources</goal> </goals> <phase>process-resources</phase> <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> <goals> <goal>copy-resources</goal> </goals> <phase>process-resources</phase> <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> <goals> <goal>copy-resources</goal> </goals> <phase>process-resources</phase> <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> <goals> <goal>copy-resources</goal> </goals> <phase>process-resources</phase> <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> <id>install node and npm</id> <goals> <goal>install-node-and-npm</goal> </goals> <phase>process-resources</phase> <configuration> <nodeVersion>v8.12.0</nodeVersion> <npmVersion>6.4.1</npmVersion> </configuration> </execution> <execution> <id>npm install for packaging</id> <goals> <goal>npm</goal> </goals> <phase>prepare-package</phase> <configuration> <workingDirectory>${project.build.directory}/jsmain</workingDirectory> <arguments>install</arguments> </configuration> </execution> <execution> <id>npm run r.js</id> <goals> <goal>npm</goal> </goals> <phase>prepare-package</phase> <configuration> <workingDirectory>${project.build.directory}/jsmain</workingDirectory> <arguments>run r.js -- -o ../${project.build.finalName}/minify.build.js</arguments> </configuration> </execution> <execution> <id>npm install for tests</id> <goals> <goal>npm</goal> </goals> <phase>test</phase> <configuration> <skip>${skipJSTests}</skip> <workingDirectory>${project.build.directory}/jstest</workingDirectory> <arguments>install</arguments> </configuration> </execution> <execution> <id>karma dev</id> <goals> <goal>karma</goal> </goals> <phase>test</phase> <configuration> <environmentVariables> <OPENSSL_CONF>/etc/ssl/</OPENSSL_CONF> </environmentVariables> <skip>${skipJSTests}</skip> <workingDirectory>${project.build.directory}/jstest</workingDirectory> <karmaConfPath>../../src/test/javascript/karma-dev.conf.js</karmaConfPath> </configuration> </execution> <execution> <id>karma prd</id> <goals> <goal>karma</goal> </goals> <phase>integration-test</phase> <configuration> <environmentVariables> <buildDir>${project.build.finalName}</buildDir> <OPENSSL_CONF>/etc/ssl/</OPENSSL_CONF> </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("${project.basedir}/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("${project.basedir}/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>