PHOENIX-3426 Upgrade to Avatica 1.9.0 Avatica reworked its shaded artifacts, so we should account for that downstream. Makes sure that our artifacts are not leaking classes that we bundle (emphasis on the thin-client jar)
Tweaked some other ancillary properties/deps to make the build a bit more natural when we have divergent dependency versions. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/4b85920e Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4b85920e Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4b85920e Branch: refs/heads/4.x-HBase-0.98 Commit: 4b85920ef2c407c2275082f6fc69ea8f31b6bf41 Parents: 377ef93 Author: Josh Elser <[email protected]> Authored: Mon Oct 31 10:43:20 2016 -0400 Committer: Josh Elser <[email protected]> Committed: Mon Oct 31 11:11:51 2016 -0400 ---------------------------------------------------------------------- phoenix-core/pom.xml | 1 + phoenix-queryserver-client/pom.xml | 12 +++++++++++- phoenix-queryserver/pom.xml | 25 ++++++++++++++++++++++++- pom.xml | 9 ++------- 4 files changed, 38 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/4b85920e/phoenix-core/pom.xml ---------------------------------------------------------------------- diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml index 7a3c64a..b01787c 100644 --- a/phoenix-core/pom.xml +++ b/phoenix-core/pom.xml @@ -311,6 +311,7 @@ <artifactId>protobuf-java</artifactId> <version>${protobuf-java.version}</version> </dependency> + <!-- Intentionally avoid an dependencyManagement entry because of conflict with thin-client --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> http://git-wip-us.apache.org/repos/asf/phoenix/blob/4b85920e/phoenix-queryserver-client/pom.xml ---------------------------------------------------------------------- diff --git a/phoenix-queryserver-client/pom.xml b/phoenix-queryserver-client/pom.xml index 6522d4f..8b27237 100644 --- a/phoenix-queryserver-client/pom.xml +++ b/phoenix-queryserver-client/pom.xml @@ -50,6 +50,7 @@ <properties> <top.dir>${project.basedir}/..</top.dir> <shaded.package>org.apache.phoenix.shaded</shaded.package> + <protobuf-java.version>3.1.0</protobuf-java.version> </properties> <build> @@ -89,6 +90,7 @@ <resource>NOTICE</resource> <file>${project.basedir}/../NOTICE</file> </transformer> + <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> </transformers> <filters> <filter> @@ -112,6 +114,14 @@ <pattern>com.fasterxml</pattern> <shadedPattern>${shaded.package}.com.fasterxml</shadedPattern> </relocation> + <relocation> + <pattern>com.google.collect</pattern> + <shadedPattern>${shaded.package}.com.google.collect</shadedPattern> + </relocation> + <relocation> + <pattern>com.google.protobuf</pattern> + <shadedPattern>${shaded.package}.com.google.protobuf</shadedPattern> + </relocation> <!-- ORG relocation --> <!-- Calcite/Avatica is not relocated because the wire API (as of <=1.8.0) expects consistent class names on client and server. Relocating these would break @@ -172,7 +182,7 @@ <dependencies> <dependency> <groupId>org.apache.calcite.avatica</groupId> - <artifactId>avatica</artifactId> + <artifactId>avatica-core</artifactId> </dependency> <dependency> <!-- a dependency for the thin-client uberjar --> http://git-wip-us.apache.org/repos/asf/phoenix/blob/4b85920e/phoenix-queryserver/pom.xml ---------------------------------------------------------------------- diff --git a/phoenix-queryserver/pom.xml b/phoenix-queryserver/pom.xml index 6340be7..e16257e 100644 --- a/phoenix-queryserver/pom.xml +++ b/phoenix-queryserver/pom.xml @@ -36,6 +36,7 @@ <properties> <top.dir>${project.basedir}/..</top.dir> <shaded.package>org.apache.phoenix.shaded</shaded.package> + <protobuf-java.version>3.1.0</protobuf-java.version> </properties> <build> @@ -79,12 +80,18 @@ <resource>NOTICE</resource> <file>${project.basedir}/../NOTICE</file> </transformer> + <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> </transformers> <artifactSet> <includes> <include>org.apache.calcite.avatica:*</include> <include>org.eclipse.jetty:*</include> <include>javax.servlet:*</include> + <include>org.apache.httpcomponents:*</include> + <include>commons-codec:*</include> + <include>commons-logging:*</include> + <include>com.google.protobuf:*</include> + <include>com.fasterxml.jackson.core:*</include> </includes> </artifactSet> <filters> @@ -105,6 +112,22 @@ <pattern>org.eclipse.jetty</pattern> <shadedPattern>${shaded.package}.org.eclipse.jetty</shadedPattern> </relocation> + <relocation> + <pattern>com.google.protobuf</pattern> + <shadedPattern>${shaded.package}.com.google.protobuf</shadedPattern> + </relocation> + <relocation> + <pattern>com.fasterxml.jackson</pattern> + <shadedPattern>${shaded.package}.com.fasterxml.jackson</shadedPattern> + </relocation> + <relocation> + <pattern>org.apache.commons</pattern> + <shadedPattern>${shaded.package}.org.apache.commons</shadedPattern> + </relocation> + <relocation> + <pattern>org.apache.http</pattern> + <shadedPattern>${shaded.package}.org.apache.http</shadedPattern> + </relocation> <!-- Calcite/Avatica is not relocated because the wire API (as of <=1.8.0) expects consistent class names on client and server. Relocating these would break backwards compatibility. --> @@ -123,7 +146,7 @@ </dependency> <dependency> <groupId>org.apache.calcite.avatica</groupId> - <artifactId>avatica</artifactId> + <artifactId>avatica-core</artifactId> </dependency> <dependency> <groupId>org.apache.calcite.avatica</groupId> http://git-wip-us.apache.org/repos/asf/phoenix/blob/4b85920e/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index f7db2d7..d39d822 100644 --- a/pom.xml +++ b/pom.xml @@ -96,7 +96,7 @@ <!-- Do not change jodatime.version until HBASE-15199 is fixed --> <jodatime.version>1.6</jodatime.version> <joni.version>2.1.2</joni.version> - <avatica.version>1.8.0</avatica.version> + <avatica.version>1.9.0</avatica.version> <jettyVersion>8.1.7.v20120910</jettyVersion> <tephra.version>0.9.0-incubating</tephra.version> <spark.version>1.6.1</spark.version> @@ -710,7 +710,7 @@ </dependency> <dependency> <groupId>org.apache.calcite.avatica</groupId> - <artifactId>avatica</artifactId> + <artifactId>avatica-core</artifactId> <version>${avatica.version}</version> </dependency> <dependency> @@ -856,11 +856,6 @@ <version>${protobuf-java.version}</version> </dependency> <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpclient</artifactId> - <version>4.0.1</version> - </dependency> - <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version>
