This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/master by this push: new fec83cc3c6 PHOENIX-7139 Create phoenix-mapreduce-byo-shaded-hbase artifact fec83cc3c6 is described below commit fec83cc3c66d633c8a47144b9e1a479e6d052b7c Author: Istvan Toth <st...@apache.org> AuthorDate: Wed Jan 3 13:03:23 2024 +0100 PHOENIX-7139 Create phoenix-mapreduce-byo-shaded-hbase artifact --- phoenix-assembly/pom.xml | 25 + .../src/build/components/all-common-jars.xml | 8 + phoenix-client-parent/pom.xml | 2 - phoenix-mapreduce-byo-shaded-hbase/pom.xml | 604 +++++++++++++++++++++ phoenix-pherf/pom.xml | 2 - phoenix-server/pom.xml | 1 - pom.xml | 44 +- 7 files changed, 680 insertions(+), 6 deletions(-) diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml index 7f929c118c..2d941765f1 100644 --- a/phoenix-assembly/pom.xml +++ b/phoenix-assembly/pom.xml @@ -105,6 +105,27 @@ </arguments> </configuration> </execution> + <execution> + <id>mapreduce without version</id> + <phase>compile</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <executable>ln</executable> + <workingDirectory>${project.basedir}/../phoenix-mapreduce-byo-shaded-hbase/target</workingDirectory> + <arguments> + <argument>-fnsv</argument> + <argument> + phoenix-mapreduce-byo-shaded-hbase-${hbase.suffix}-${project.version}.jar + </argument> + <argument> + <!-- We are overwriting the unshaded JAR, but we don't care --> + phoenix-mapreduce-byo-shaded-hbase-${hbase.suffix}.jar + </argument> + </arguments> + </configuration> + </execution> <execution> <id>pherf without version</id> <phase>compile</phase> @@ -170,6 +191,10 @@ <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-server-${hbase.suffix}</artifactId> </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-mapreduce-byo-shaded-hbase-${hbase.suffix}</artifactId> + </dependency> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-client-embedded-${hbase.suffix}</artifactId> diff --git a/phoenix-assembly/src/build/components/all-common-jars.xml b/phoenix-assembly/src/build/components/all-common-jars.xml index c51ff9c98e..c2f943fc39 100644 --- a/phoenix-assembly/src/build/components/all-common-jars.xml +++ b/phoenix-assembly/src/build/components/all-common-jars.xml @@ -47,6 +47,14 @@ <include>phoenix-server-${hbase.suffix}.jar</include> </includes> </fileSet> + <fileSet> + <directory>${project.basedir}/../phoenix-mapreduce-byo-shaded-hbase/target</directory> + <outputDirectory>/</outputDirectory> + <includes> + <include>phoenix-mapreduce-byo-shaded-hbase-${hbase.suffix}-${project.version}.jar</include> + <include>phoenix-mapreduce-byo-shaded-hbase-${hbase.suffix}.jar</include> + </includes> + </fileSet> <fileSet> <directory>${project.basedir}/../phoenix-pherf/target</directory> <outputDirectory>/</outputDirectory> diff --git a/phoenix-client-parent/pom.xml b/phoenix-client-parent/pom.xml index 42bee5c047..49c4b6869d 100644 --- a/phoenix-client-parent/pom.xml +++ b/phoenix-client-parent/pom.xml @@ -34,8 +34,6 @@ <!-- Don't make a source-jar --> <source.skip>true</source.skip> <license.bundles.dependencies>true</license.bundles.dependencies> - <shaded.package>org.apache.phoenix.shaded</shaded.package> - </properties> <build> diff --git a/phoenix-mapreduce-byo-shaded-hbase/pom.xml b/phoenix-mapreduce-byo-shaded-hbase/pom.xml new file mode 100644 index 0000000000..7cf6a98ea8 --- /dev/null +++ b/phoenix-mapreduce-byo-shaded-hbase/pom.xml @@ -0,0 +1,604 @@ +<?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.phoenix</groupId> + <artifactId>phoenix</artifactId> + <version>5.2.0-SNAPSHOT</version> + </parent> + <artifactId>phoenix-mapreduce-byo-shaded-hbase-${hbase.suffix}</artifactId> + <name>Phoenix Mapreduce</name> + <description>Phoenix Mapreduce JAR for use with the "hbase mapredcp" classpath</description> + <packaging>jar</packaging> + <properties> + <!-- Don't make a test-jar --> + <maven.test.skip>true</maven.test.skip> + <!-- Don't make a source-jar --> + <source.skip>true</source.skip> + <license.bundles.dependencies>true</license.bundles.dependencies> + </properties> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + <plugin> + <!-- RAT gets really confused on the shaded subprojects, + and there is nothing to audit here --> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <configuration> + <ignoredDependencies> + <ignoredDependency>*</ignoredDependency> + </ignoredDependencies> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <configuration> + <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> + </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> + <filter> + <artifact>org.apache.hbase.thirdparty:*</artifact> + <excludes> + <exclude>/**</exclude> + <exclude>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> + <exclude>org/apache/logging/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> + <!-- Not needed for client, we set this to provided --> + <exclude>org/eclipse/jetty/**</exclude> + <!-- Extras compared to Hadoop --> + <!-- Hbase classes - Maybe these could be shaded as well ? --> + <exclude>org/apache/hbase/**</exclude> + <!-- Phoenix classes --> + <exclude>org/apache/phoenix/**</exclude> + <exclude>org/apache/omid/**</exclude> + <!-- See PHOENIX-7118 + We expect this to come from the unshaded hadoop on the classpath. + This won't work if hadoop-shaded-client is used. --> + <exclude>org/apache/commons/configuration2/**</exclude> + </excludes> + </relocation> + + <!-- We cannot use the more elegant shading rules in -client + and -server for com packages, but it SHOULD be equivalent, except for the + protobuf change for hbase-shaded-mapreduce / client compatibility --> + <relocation> + <pattern>com/beust/</pattern> + <shadedPattern>${shaded.package}.com.beust.</shadedPattern> + </relocation> + <relocation> + <pattern>com/clearspring/</pattern> + <shadedPattern>${shaded.package}.com.clearspring.</shadedPattern> + </relocation> + <relocation> + <pattern>com/codahale/</pattern> + <shadedPattern>${shaded.package}.come.codahale.</shadedPattern> + </relocation> + <relocation> + <pattern>com/fasterxml/</pattern> + <shadedPattern>${shaded.package}.com.fasterxml.</shadedPattern> + </relocation> + <relocation> + <pattern>com/force/</pattern> + <shadedPattern>${shaded.package}.com.force.</shadedPattern> + </relocation> + <relocation> + <pattern>com/google/gson/</pattern> + <shadedPattern>${shaded.package}.com.google.gson.</shadedPattern> + </relocation> + <relocation> + <pattern>com/google/inject/</pattern> + <shadedPattern>${shaded.package}.com.google.inject.</shadedPattern> + </relocation> + <!-- This is protobuf 2.5.0 which is shaded to this package in hbase-shaded-mapreduce, + not the modified protobuf 3.x from hbase-thirdparty --> + <relocation> + <pattern>com/google/protobuf/</pattern> + <shadedPattern>${hbase.shaded.package}.com.google.protobuf.</shadedPattern> + </relocation> + <relocation> + <pattern>com/ibm/</pattern> + <shadedPattern>${shaded.package}.com.ibm.</shadedPattern> + </relocation> + <relocation> + <pattern>com/lmax/</pattern> + <shadedPattern>${shaded.package}.com.lmax.</shadedPattern> + </relocation> + <relocation> + <pattern>com/sun/jna/</pattern> + <shadedPattern>${shaded.package}.com.sun.jna.</shadedPattern> + </relocation> + <relocation> + <pattern>com/squareup</pattern> + <shadedPattern>${shaded.package}.com.squareup.</shadedPattern> + </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/jsp/</pattern> + <shadedPattern>${shaded.package}.javax.servlet.jsp.</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>javax/xml/bind/</pattern> + <shadedPattern>${shaded.package}.javax.xml.bind.</shadedPattern> + </relocation> + <relocation> + <pattern>javax/activation/</pattern> + <shadedPattern>${shaded.package}.javax.activation.</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> + <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> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <executions> + <execution> + <id>lite-shaded</id> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <promoteTransitiveDependencies>true</promoteTransitiveDependencies> + <shadeTestJar>false</shadeTestJar> + <createSourcesJar>true</createSourcesJar> + <dependencyReducedPomLocation>${basedir}/target/pom.xml</dependencyReducedPomLocation> + <artifactSet> + <includes> + <include>*:*</include> + </includes> + <excludes> + <exclude>org.apache.phoenix:phoenix-client</exclude> + <exclude>xom:xom</exclude> + </excludes> + </artifactSet> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + <dependencies> + <!-- These must not be moved to a parent module, see PHOENIX-6377 --> + <!-- Depend on all other internal projects --> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-core-server</artifactId> + <exclusions> + <!-- 5.2 no longer uses reload4j, but we still exclude in case something pulls these + transitively --> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-reload4j</artifactId> + </exclusion> + <exclusion> + <groupId>ch.qos.reload4j</groupId> + <artifactId>reload4j</artifactId> + </exclusion> + <!-- These are coming from transitive dependencies --> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + <exclusion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-hbase-compat-${hbase.compat.version}</artifactId> + <optional>false</optional> + </dependency> + + <!-- Exclude servlet and Jetty. We don't need it, and it causes problems with minicluster --> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <scope>provided</scope> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <scope>provided</scope> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util-ajax</artifactId> + <scope>provided</scope> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlet</artifactId> + <scope>provided</scope> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-webapp</artifactId> + <scope>provided</scope> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + <scope>provided</scope> + <version>${javax.servlet-api.version}</version> + </dependency> + + <!-- Mark every Hadoop jar as provided --> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-common</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-mapreduce-client-core</artifactId> + <scope>provided</scope> + </dependency> + <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-hdfs-client</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> + + <!-- Mark HBase as provided, too --> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-client</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-common</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-mapreduce</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-replication</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-endpoint</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-metrics-api</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-metrics</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-protocol</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-protocol-shaded</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-server</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-hadoop-compat</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-hadoop2-compat</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-zookeeper</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase.thirdparty</groupId> + <artifactId>hbase-shaded-netty</artifactId> + <!-- random version, for exclusion only --> + <version>4.0.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase.thirdparty</groupId> + <artifactId>hbase-shaded-miscellaneous</artifactId> + <!-- random version, for exclusion only --> + <version>4.0.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.hbase.thirdparty</groupId> + <artifactId>hbase-shaded-protobuf</artifactId> + <!-- random version, for exclusion only --> + <version>4.0.0</version> + <scope>provided</scope> + </dependency> + + <!-- Other dependencies we don't want to shade in, but are not transitively excluded by the + above for some reason --> + <dependency> + <!-- HBase-shaded already provides this --> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <!-- random version, for exclusion only --> + <version>11.0.2</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.github.stephenc.findbugs</groupId> + <artifactId>findbugs-annotations</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java</artifactId> + <scope>provided</scope> + </dependency> + </dependencies> +</project> diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml index 773b443901..2b3a22b6f6 100644 --- a/phoenix-pherf/pom.xml +++ b/phoenix-pherf/pom.xml @@ -30,8 +30,6 @@ <name>Phoenix - Pherf</name> <properties> - <shaded.package>org.apache.phoenix.shaded</shaded.package> - <!-- Versions for pherf-only dependencies --> <diffutils.version>1.2.1</diffutils.version> <gson.version>2.9.1</gson.version> diff --git a/phoenix-server/pom.xml b/phoenix-server/pom.xml index ff47520a8e..e61af7d963 100644 --- a/phoenix-server/pom.xml +++ b/phoenix-server/pom.xml @@ -36,7 +36,6 @@ <!-- Don't make a source-jar --> <source.skip>true</source.skip> <license.bundles.dependencies>true</license.bundles.dependencies> - <shaded.package>org.apache.phoenix.shaded</shaded.package> </properties> <build> diff --git a/pom.xml b/pom.xml index c57df453f0..fdeafd55fa 100644 --- a/pom.xml +++ b/pom.xml @@ -72,7 +72,6 @@ </scm> <properties> - <!-- Hadoop and Hbase-thirdparty version --> <!-- These are expected to be overridden to conform to cluster versions along with hbase.version (defined in profiles) --> @@ -215,6 +214,8 @@ <protoc.arch>${os.detected.classifier}</protoc.arch> <!-- Keeping the version in sync with hbase javax.el version --> <glassfish.el.version>3.0.1-b08</glassfish.el.version> + <shaded.package>org.apache.phoenix.shaded</shaded.package> + <hbase.shaded.package>org.apache.hadoop.hbase.shaded</hbase.shaded.package> </properties> <build> @@ -749,6 +750,26 @@ <artifactId>phoenix-server-hbase-2.5</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-mapreduce-byo-shaded-hbase-hbase-2.4.0</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-mapreduce-byo-shaded-hbase-hbase-2.4</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-mapreduce-byo-shaded-hbase-hbase-2.5.0</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.phoenix</groupId> + <artifactId>phoenix-mapreduce-byo-shaded-hbase-hbase-2.5</artifactId> + <version>${project.version}</version> + </dependency> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-pherf</artifactId> @@ -858,6 +879,21 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-mapreduce-client-common</artifactId> + <version>${hadoop.version}</version> + <exclusions> + <exclusion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + </exclusions> + </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs-client</artifactId> @@ -1087,6 +1123,11 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-replication</artifactId> + <version>${hbase.version}</version> + </dependency> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-hadoop-compat</artifactId> @@ -1594,6 +1635,7 @@ <module>phoenix-client-parent/phoenix-client-embedded</module> <module>phoenix-client-parent/phoenix-client-lite</module> <module>phoenix-server</module> + <module>phoenix-mapreduce-byo-shaded-hbase</module> <module>phoenix-assembly</module> </modules> </profile>