| <?xml version='1.0'?> |
| <!-- |
| |
| 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.phoenix</groupId> |
| <artifactId>phoenix-connectors</artifactId> |
| <version>6.0.0-SNAPSHOT</version> |
| </parent> |
| <artifactId>phoenix-spark-base</artifactId> |
| <name>Phoenix Spark Connector - Base</name> |
| |
| <properties> |
| <top.dir>${project.basedir}/..</top.dir> |
| <skip-scala-tests>true</skip-scala-tests> |
| </properties> |
| |
| <packaging>pom</packaging> |
| <modules> |
| <module>phoenix4-spark</module> |
| <module>phoenix4-spark-shaded</module> |
| <module>phoenix5-spark</module> |
| <module>phoenix5-spark-shaded</module> |
| </modules> |
| |
| <dependencies> |
| |
| <!-- Spark dependencies first to avoid jackson compatibility problems --> |
| <!-- Mark Spark / Scala as provided --> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| <version>${scala.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-reflect</artifactId> |
| <version>${scala.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-sql_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-unsafe_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-tags_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-catalyst_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.phoenix</groupId> |
| <artifactId>phoenix-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.phoenix</groupId> |
| <artifactId>phoenix-hbase-compat-${hbase.compat.version}</artifactId> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| <dependency> |
| <groupId>org.apache.phoenix</groupId> |
| <artifactId>phoenix-core</artifactId> |
| <classifier>tests</classifier> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest_${scala.binary.version}</artifactId> |
| <version>2.2.4</version> |
| <scope>test</scope> |
| </dependency> |
| |
| |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-common</artifactId> |
| <exclusions> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</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>org.jruby</groupId> |
| <artifactId>jruby-complete</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jboss.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| </exclusions> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-mapreduce-client-core</artifactId> |
| <exclusions> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</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>org.jruby</groupId> |
| <artifactId>jruby-complete</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jboss.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| </exclusions> |
| <scope>provided</scope> |
| </dependency> |
| |
| |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-client</artifactId> |
| <exclusions> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>thrift</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jruby</groupId> |
| <artifactId>jruby-complete</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</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.5</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>org.mortbay.jetty</groupId> |
| <artifactId>jetty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>tomcat</groupId> |
| <artifactId>jasper-runtime</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>tomcat</groupId> |
| <artifactId>jasper-compiler</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jruby</groupId> |
| <artifactId>jruby-complete</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jboss.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-common</artifactId> |
| <exclusions> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>thrift</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jruby</groupId> |
| <artifactId>jruby-complete</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</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.5</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>org.mortbay.jetty</groupId> |
| <artifactId>jetty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>tomcat</groupId> |
| <artifactId>jasper-runtime</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>tomcat</groupId> |
| <artifactId>jasper-compiler</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jruby</groupId> |
| <artifactId>jruby-complete</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jboss.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| <version>${jodatime.version}</version> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</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>org.jruby</groupId> |
| <artifactId>jruby-complete</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.jboss.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-it</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- Mark every Hadoop jar as provided --> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-annotations</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-auth</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-yarn-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-distcp</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-client</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-mapreduce-client-jobclient</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-mapreduce-client-common</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <!-- We want to take the implementation from Spark --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>2.5.0</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.0.0</version> |
| <executions> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>${project.parent.basedir}/src/main/java</source> |
| <source>${project.parent.basedir}/src/main/scala</source> |
| </sources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>add-test-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-test-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>${project.parent.basedir}/src/test/java</source> |
| <source>${project.parent.basedir}/src/it/java</source> |
| <source>${project.parent.basedir}/src/test/scala</source> |
| <source>${project.parent.basedir}/src/it/scala</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-resources</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/test-classes |
| </outputDirectory> |
| <overwrite>true</overwrite> |
| <resources> |
| <resource> |
| <directory>${project.parent.basedir}/src/it/resources</directory> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-resources2</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}/classes |
| </outputDirectory> |
| <overwrite>true</overwrite> |
| <resources> |
| <resource> |
| <directory>${project.parent.basedir}/src/main/resources</directory> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <configuration> |
| <ignoreNonCompile>true</ignoreNonCompile> |
| <ignoredUnusedDeclaredDependencies> |
| <!-- These are all used --> |
| <ignoredUnusedDeclaredDependency> |
| org.apache.hadoop:hadoop-hdfs |
| </ignoredUnusedDeclaredDependency> |
| <ignoredUnusedDeclaredDependency> |
| org.apache.hbase:hbase-it |
| </ignoredUnusedDeclaredDependency> |
| </ignoredUnusedDeclaredDependencies> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <configuration> |
| <charset>${project.build.sourceEncoding}</charset> |
| <jvmArgs> |
| <jvmArg>-Xmx1024m</jvmArg> |
| </jvmArgs> |
| <scalaVersion>${scala.version}</scalaVersion> |
| <scalaCompatVersion>${scala.binary.version}</scalaCompatVersion> |
| </configuration> |
| <executions> |
| <execution> |
| <id>scala-compile-first</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>add-source</goal> |
| <goal>compile</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>scala-test-compile</id> |
| <phase>process-test-resources</phase> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <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>WDF TestSuite.txt</filereports> |
| <skipTests>${skip-scala-tests}</skipTests> |
| </configuration> |
| <executions> |
| <execution> |
| <id>integration-test</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <!-- Need this false until we can switch to JUnit 4.13 due |
| to https://github.com/junit-team/junit4/issues/1223 --> |
| <parallel>false</parallel> |
| <tagsToExclude>Integration-Test</tagsToExclude> |
| <argLine>-Xmx1536m -XX:ReservedCodeCacheSize=512m</argLine> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <source>1.8</source> |
| <target>1.8</target> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>empty-javadoc-jar</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <configuration> |
| <classifier>javadoc</classifier> |
| <classesDirectory>${basedir}/javadoc</classesDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Taken from phoenix-client-parent |
| this should be kept in sync with Phoenix as much as possible --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <configuration> |
| <shadedArtifactAttached>false</shadedArtifactAttached> |
| <promoteTransitiveDependencies>true</promoteTransitiveDependencies> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| <exclude>META-INF/license/*</exclude> |
| <exclude>META-INF/NOTICE</exclude> |
| <exclude>LICENSE.*</exclude> |
| <exclude>NOTICE.*</exclude> |
| <exclude>NOTICE</exclude> |
| <exclude>README*</exclude> |
| <!-- Coming from Omid, should be fixed there --> |
| <exclude>log4j.properties</exclude> |
| </excludes> |
| </filter> |
| <filter> |
| <artifact>org.apache.hadoop:hadoop-yarn-common</artifact> |
| <excludes> |
| <exclude>org/apache/hadoop/yarn/factories/package-info.class</exclude> |
| <exclude>org/apache/hadoop/yarn/util/package-info.class</exclude> |
| <exclude>org/apache/hadoop/yarn/factory/providers/package-info.class</exclude> |
| <exclude>org/apache/hadoop/yarn/client/api/impl/package-info.class</exclude> |
| <exclude>org/apache/hadoop/yarn/client/api/package-info.class</exclude> |
| <exclude>webapps/**</exclude> |
| </excludes> |
| </filter> |
| <!-- Phoenix specific --> |
| <filter> |
| <artifact>org.apache.commons:commons-math3</artifact> |
| <excludes> |
| <exclude>assets/**</exclude> |
| </excludes> |
| </filter> |
| <filter> |
| <artifact>org.apache.hbase:hbase-server</artifact> |
| <excludes> |
| <exclude>hbase-webapps/**</exclude> |
| </excludes> |
| </filter> |
| <!-- Phoenix specific --> |
| </filters> |
| <transformers> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> |
| <resource>csv-bulk-load-config.properties</resource> |
| <file> |
| ${project.basedir}/../config/csv-bulk-load-config.properties |
| </file> |
| </transformer> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> |
| <resource>README.md</resource> |
| <file>${project.basedir}/../README.md</file> |
| </transformer> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> |
| <resource>LICENSE.txt</resource> |
| <file>${project.basedir}/../LICENSE</file> |
| </transformer> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> |
| <resource>NOTICE</resource> |
| <file>${project.basedir}/../NOTICE</file> |
| </transformer> |
| </transformers> |
| <relocations> |
| <relocation> |
| <pattern>org/</pattern> |
| <shadedPattern>${shaded.package}.org.</shadedPattern> |
| <excludes> |
| <exclude>org/apache/hadoop/**</exclude> |
| <!-- Our non-shaded htrace and logging libraries --> |
| <exclude>org/apache/htrace/**</exclude> |
| <exclude>org/slf4j/**</exclude> |
| <exclude>org/apache/commons/logging/**</exclude> |
| <exclude>org/apache/log4j/**</exclude> |
| <!-- Not the org/ packages that are a part of the jdk --> |
| <exclude>org/ietf/jgss/**</exclude> |
| <exclude>org/omg/**</exclude> |
| <exclude>org/w3c/dom/**</exclude> |
| <exclude>org/xml/sax/**</exclude> |
| <!-- Extras compared to Hadoop --> |
| <!-- Hbase classes - Maybe these could be shaded as well ? --> |
| <exclude>org/apache/hbase/**</exclude> |
| <!-- We use the spark classpath directly --> |
| <exclude>org/apache/spark/**</exclude> |
| <!-- Phoenix classes --> |
| <exclude>org/apache/phoenix/**</exclude> |
| <exclude>org/apache/omid/**</exclude> |
| <!-- Do want/need to expose Tephra as well ? --> |
| </excludes> |
| </relocation> |
| <relocation> |
| <pattern>com/</pattern> |
| <shadedPattern>${shaded.package}.com.</shadedPattern> |
| <excludes> |
| <!-- Not the com/ packages that are a part of particular jdk implementations --> |
| <exclude>com/sun/tools/**</exclude> |
| <exclude>com/sun/javadoc/**</exclude> |
| <exclude>com/sun/security/**</exclude> |
| <exclude>com/sun/jndi/**</exclude> |
| <exclude>com/sun/management/**</exclude> |
| </excludes> |
| </relocation> |
| <relocation> |
| <pattern>io/</pattern> |
| <shadedPattern>${shaded.package}.io.</shadedPattern> |
| <excludes> |
| <!-- Exclude config keys for Hadoop that look like package names --> |
| <exclude>io/compression/**</exclude> |
| <exclude>io/mapfile/**</exclude> |
| <exclude>io/map/index/*</exclude> |
| <exclude>io/seqfile/**</exclude> |
| <exclude>io/file/buffer/size</exclude> |
| <exclude>io/skip/checksum/errors</exclude> |
| <exclude>io/sort/*</exclude> |
| <exclude>io/serializations</exclude> |
| </excludes> |
| </relocation> |
| <!-- JSRs that haven't made it to inclusion in J2SE --> |
| <relocation> |
| <pattern>javax/el/</pattern> |
| <shadedPattern>${shaded.package}.javax.el.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax/cache/</pattern> |
| <shadedPattern>${shaded.package}.javax.cache.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax/servlet/</pattern> |
| <shadedPattern>${shaded.package}.javax.servlet.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax/ws/</pattern> |
| <shadedPattern>${shaded.package}.javax.ws.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax/annotation/</pattern> |
| <shadedPattern>${shaded.package}.javax.annotation.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax/inject/</pattern> |
| <shadedPattern>${shaded.package}.javax.inject.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax/validation/</pattern> |
| <shadedPattern>${shaded.package}.javax.validation.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>net/</pattern> |
| <shadedPattern>${shaded.package}.net.</shadedPattern> |
| <excludes> |
| <!-- Exclude config keys for Hadoop that look like package names --> |
| <exclude>net/topology/**</exclude> |
| </excludes> |
| </relocation> |
| <!-- okio declares a top level package instead of nested --> |
| <relocation> |
| <pattern>okio/</pattern> |
| <shadedPattern>${shaded.package}.okio.</shadedPattern> |
| </relocation> |
| <!-- Phoenix specific relocations --> |
| <relocation> |
| <!-- Tephra --> |
| <pattern>co/</pattern> |
| <shadedPattern>${shaded.package}.co.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>it/</pattern> |
| <shadedPattern>${shaded.package}.it.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javassist/</pattern> |
| <shadedPattern>${shaded.package}.javassist.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>jersey/</pattern> |
| <shadedPattern>${shaded.package}.jersey.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>jline/</pattern> |
| <shadedPattern>${shaded.package}.jline.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>mozilla/</pattern> |
| <shadedPattern>${shaded.package}.mozilla.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>tables/</pattern> |
| <shadedPattern>${shaded.package}.tables.</shadedPattern> |
| </relocation> |
| <!-- Phoenix specific relocations end --> |
| </relocations> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| <profiles> |
| <profile> |
| <id>scala-tests-enabled</id> |
| <activation> |
| <property> |
| <name>scala-tests-enabled</name> |
| </property> |
| </activation> |
| <properties> |
| <skip-scala-tests>false</skip-scala-tests> |
| </properties> |
| </profile> |
| </profiles> |
| </project> |