| <?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"> |
| <parent> |
| <artifactId>submarine</artifactId> |
| <groupId>org.apache.submarine</groupId> |
| <version>0.6.0-SNAPSHOT</version> |
| <relativePath>../../pom.xml</relativePath> |
| </parent> |
| <modelVersion>4.0.0</modelVersion> |
| <packaging>jar</packaging> |
| |
| <name>Submarine: Spark Security</name> |
| <artifactId>submarine-spark-security</artifactId> |
| |
| <properties> |
| <antlr4.version>4.7</antlr4.version> |
| <eclipse.jpa.version>2.5.2</eclipse.jpa.version> |
| <gson.version>2.2.4</gson.version> |
| <httpcomponents.httpclient.version>4.5.3</httpcomponents.httpclient.version> |
| <httpcomponents.httpcore.version>4.4.6</httpcomponents.httpcore.version> |
| <httpcomponents.httpmime.version>4.5.3</httpcomponents.httpmime.version> |
| <javax.persistence.version>2.1.0</javax.persistence.version> |
| <jersey-bundle.version>1.19.3</jersey-bundle.version> |
| <noggit.version>0.6</noggit.version> |
| <ranger.spark.package>submarine_spark_ranger_project</ranger.spark.package> |
| <ranger.version>1.2.0</ranger.version> |
| <ranger.major.version>1</ranger.major.version> |
| <spark.compatible.version>2</spark.compatible.version> |
| <scala.version>2.11.8</scala.version> |
| <scala.binary.version>2.11</scala.binary.version> |
| <scalatest.version>2.2.6</scalatest.version> |
| <solr.version>8.4.0</solr.version> |
| <spark.version>2.4.7</spark.version> |
| <spark.scope>provided</spark.scope> |
| <gethostname4j.version>0.0.2</gethostname4j.version> |
| <gethostname4j.scope>test</gethostname4j.scope> |
| <jna.version>5.2.0</jna.version> |
| <jna-platform.version>5.2.0</jna-platform.version> |
| <jna.scope>test</jna.scope> |
| <codehaus.jackson.version>1.9.13</codehaus.jackson.version> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| <version>${scala.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-catalyst_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>${spark.scope}</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.spark-project.spark</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.scala-lang.modules</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-hive_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>${spark.scope}</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.spark-project.spark</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ranger-plugins-common</artifactId> |
| <version>${ranger.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ranger-plugins-cred</artifactId> |
| <version>${ranger.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ranger</groupId> |
| <artifactId>ranger-plugins-audit</artifactId> |
| <version>${ranger.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-exec</artifactId> |
| <version>2.3.4</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.persistence</groupId> |
| <artifactId>eclipselink</artifactId> |
| <version>${eclipse.jpa.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${gson.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.persistence</groupId> |
| <artifactId>javax.persistence</artifactId> |
| <version>${javax.persistence.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| <version>${httpcomponents.httpcore.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpmime</artifactId> |
| <version>${httpcomponents.httpmime.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${httpcomponents.httpclient.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-bundle</artifactId> |
| <version>${jersey-bundle.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.noggit</groupId> |
| <artifactId>noggit</artifactId> |
| <version>${noggit.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.solr</groupId> |
| <artifactId>solr-solrj</artifactId> |
| <version>${solr.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr4-runtime</artifactId> |
| <version>${antlr4.version}</version> |
| </dependency> |
| |
| <!-- unit tests--> |
| <dependency> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest_${scala.binary.version}</artifactId> |
| <version>3.0.3</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <type>test-jar</type> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-hive_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <type>test-jar</type> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.kstruct</groupId> |
| <artifactId>gethostname4j</artifactId> |
| <version>${gethostname4j.version}</version> |
| <scope>${gethostname4j.scope}</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>net.java.dev.jna</groupId> |
| <artifactId>jna</artifactId> |
| <version>${jna.version}</version> |
| <scope>${jna.scope}</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>net.java.dev.jna</groupId> |
| <artifactId>jna-platform</artifactId> |
| <version>${jna-platform.version}</version> |
| <scope>${jna.scope}</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-jaxrs</artifactId> |
| <version>${codehaus.jackson.version}</version> |
| <scope>compile</scope> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| <outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory> |
| <testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory> |
| <testResources> |
| <testResource> |
| <directory>${project.basedir}/src/test/resources</directory> |
| </testResource> |
| </testResources> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>ranger-${ranger.major.version}/src/main/scala</source> |
| <source>target/generated-sources/antlr4</source> |
| </sources> |
| </configuration> |
| </execution> |
| |
| <execution> |
| <id>add-spark-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>spark-${spark.compatible.version}/src/main/scala</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <version>3.2.2</version> |
| <executions> |
| <execution> |
| <id>eclipse-add-source</id> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>scala-compile-first</id> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>scala-test-compile-first</id> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <scalaVersion>${scala.version}</scalaVersion> |
| <recompileMode>incremental</recompileMode> |
| <useZincServer>true</useZincServer> |
| <args> |
| <arg>-unchecked</arg> |
| <arg>-deprecation</arg> |
| <arg>-feature</arg> |
| <arg>-explaintypes</arg> |
| <arg>-Yno-adapted-args</arg> |
| </args> |
| <jvmArgs> |
| <jvmArg>-Xms1024m</jvmArg> |
| <jvmArg>-Xmx1024m</jvmArg> |
| <jvmArg>-XX:ReservedCodeCacheSize=512M</jvmArg> |
| </jvmArgs> |
| <javacArgs> |
| <javacArg>-source</javacArg> |
| <javacArg>${java.version}</javacArg> |
| <javacArg>-target</javacArg> |
| <javacArg>${java.version}</javacArg> |
| <javacArg>-Xlint:all,-serial,-path,-try</javacArg> |
| </javacArgs> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>${plugin.shade.version}</version> |
| <configuration> |
| <shadedArtifactAttached>false</shadedArtifactAttached> |
| <artifactSet> |
| <includes> |
| <include>com.google.code.gson:gson</include> |
| <include>com.sun.jersey:jersey-bundle</include> |
| <include>com.kstruct:gethostname4j</include> |
| <include>net.java.dev.jna:jna</include> |
| <include>net.java.dev.jna:jna-platform</include> |
| <include>org.apache.httpcomponents:httpclient</include> |
| <include>org.apache.httpcomponents:httpcore</include> |
| <include>org.apache.httpcomponents:httpmime</include> |
| <include>org.apache.ranger:ranger-plugins-common</include> |
| <include>org.apache.ranger:ranger-plugins-cred</include> |
| <include>org.apache.ranger:ranger-plugins-audit</include> |
| <include>org.apache.solr:solr-solrj</include> |
| <include>org.codehaus.jackson:jackson-core-asl</include> |
| <include>org.codehaus.jackson:jackson-jaxrs</include> |
| <include>org.codehaus.jackson:jackson-mapper-asl</include> |
| <include>org.codehaus.jackson:jackson-xc</include> |
| <include>org.eclipse.persistence:eclipselink</include> |
| <include>org.eclipse.persistence:javax.persistence</include> |
| <include>org.apache.hive:hive-exec</include> |
| <include>org.noggit:noggit</include> |
| </includes> |
| </artifactSet> |
| <filters> |
| <filter> |
| <artifact>org.apache.hive:hive-exec</artifact> |
| <includes> |
| <!-- Extract masking functions from higher version Apache Hive--> |
| <include>org/apache/hadoop/hive/ql/udf/generic/**Mask**</include> |
| <include>org/apache/hadoop/hive/ql/udf/generic/**Transform**</include> |
| </includes> |
| </filter> |
| </filters> |
| <relocations> |
| <relocation> |
| <pattern>com.sun.jersey</pattern> |
| <shadedPattern>${ranger.spark.package}.com.sun.jersey</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.sun.research</pattern> |
| <shadedPattern>${ranger.spark.package}.com.sun.research</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.sun.ws</pattern> |
| <shadedPattern>${ranger.spark.package}.com.sun.ws</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>jersey.repackaged</pattern> |
| <shadedPattern>${ranger.spark.package}.jersey.repackaged</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax.ws.rs</pattern> |
| <shadedPattern>${ranger.spark.package}.javax.ws.rs</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.codehaus</pattern> |
| <shadedPattern>${ranger.spark.package}.org.codehaus</shadedPattern> |
| </relocation> |
| </relocations> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <transformers> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> |
| </transformers> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| |
| <!-- disable surefire --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <skipTests>true</skipTests> |
| </configuration> |
| </plugin> |
| <!-- enable scalatest --> |
| <plugin> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest-maven-plugin</artifactId> |
| <version>1.0</version> |
| <configuration> |
| <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory> |
| <junitxml>.</junitxml> |
| <filereports>TestSuite.txt</filereports> |
| </configuration> |
| <executions> |
| <execution> |
| <id>test</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr4-maven-plugin</artifactId> |
| <version>${antlr4.version}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>antlr4</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <visitor>true</visitor> |
| <sourceDirectory>./src/main/antlr4</sourceDirectory> |
| <treatWarningsAsErrors>true</treatWarningsAsErrors> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.0</version> |
| <configuration> |
| </configuration> |
| <executions> |
| <execution> |
| <id>pre-test</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>report</id> |
| <phase>test</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>spark-2.4</id> |
| <properties> |
| <spark.version>2.4.7</spark.version> |
| <scalatest.version>3.0.3</scalatest.version> |
| </properties> |
| </profile> |
| |
| <profile> |
| <id>spark-3.0</id> |
| <properties> |
| <spark.version>3.0.2</spark.version> |
| <scala.version>2.12.10</scala.version> |
| <scala.binary.version>2.12</scala.binary.version> |
| <!--<scalatest.version>3.2.0</scalatest.version>--> |
| <spark.compatible.version>3</spark.compatible.version> |
| <commons-lang3.version>3.9</commons-lang3.version> |
| <jackson-databind.version>2.10.5</jackson-databind.version> |
| <jackson-annotations.version>2.10.5</jackson-annotations.version> |
| </properties> |
| </profile> |
| |
| <profile> |
| <id>ranger-1.2</id> |
| <properties> |
| <eclipse.jpa.version>2.5.2</eclipse.jpa.version> |
| <gson.version>2.2.4</gson.version> |
| <httpcomponents.httpclient.version>4.5.3</httpcomponents.httpclient.version> |
| <httpcomponents.httpcore.version>4.4.1</httpcomponents.httpcore.version> |
| <httpcomponents.httpmime.version>4.5.3</httpcomponents.httpmime.version> |
| <javax.persistence.version>2.1.0</javax.persistence.version> |
| <jersey-bundle.version>1.19.3</jersey-bundle.version> |
| <noggit.version>0.6</noggit.version> |
| <ranger.version>1.2.0</ranger.version> |
| <solr.version>5.5.4</solr.version> |
| </properties> |
| </profile> |
| |
| <profile> |
| <id>ranger-2.0</id> |
| <properties> |
| <httpcomponents.httpclient.version>4.5.3</httpcomponents.httpclient.version> |
| <httpcomponents.httpcore.version>4.4.6</httpcomponents.httpcore.version> |
| <httpcomponents.httpmime.version>4.5.3</httpcomponents.httpmime.version> |
| <ranger.version>2.0.0</ranger.version> |
| <ranger.major.version>2</ranger.major.version> |
| <solr.version>7.7.1</solr.version> |
| <gethostname4j.scope>compile</gethostname4j.scope> |
| <jna.scope>compile</jna.scope> |
| </properties> |
| </profile> |
| |
| </profiles> |
| </project> |