This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new b0ad69c Fix grpc version conflicts in pulsar binary distribution
(#1846)
b0ad69c is described below
commit b0ad69cd37807d9ea4ac6475f7cd9b52828d8b4b
Author: Sijie Guo <[email protected]>
AuthorDate: Sat May 26 09:33:27 2018 -0700
Fix grpc version conflicts in pulsar binary distribution (#1846)
*Motivation*
There are multiple grpc versions dropped in pulsar binary distribution. It
seems that maven
doesn't handle transitive dependencies well on assembly plugin.
```
io.grpc-grpc-all-1.12.0.jar
io.grpc-grpc-auth-1.5.0.jar
io.grpc-grpc-context-1.5.0.jar
io.grpc-grpc-core-1.5.0.jar
io.grpc-grpc-netty-1.5.0.jar
io.grpc-grpc-okhttp-1.5.0.jar
io.grpc-grpc-protobuf-1.5.0.jar
io.grpc-grpc-protobuf-lite-1.5.0.jar
io.grpc-grpc-protobuf-nano-1.5.0.jar
io.grpc-grpc-stub-1.5.0.jar
io.grpc-grpc-testing-1.12.0.jar
```
*Changes*
- Exclude transitive grpc dependencies from functions modules.
- Pin versions for some grpc modules
- Exclude netty dependencies that are already included in `netty-all`
module.
*Result*
```
com.amazonaws-aws-java-sdk-core-1.11.297.jar
org.apache.commons-commons-lang3-3.4.jar
com.amazonaws-aws-java-sdk-kms-1.11.297.jar
org.apache.distributedlog-distributedlog-common-4.7.0.jar
com.amazonaws-aws-java-sdk-s3-1.11.297.jar
org.apache.distributedlog-distributedlog-core-4.7.0.jar
com.amazonaws-jmespath-java-1.11.297.jar
org.apache.distributedlog-distributedlog-protocol-4.7.0.jar
com.beust-jcommander-1.48.jar
org.apache.httpcomponents-httpclient-4.5.5.jar
com.carrotsearch-hppc-0.7.3.jar
org.apache.httpcomponents-httpcore-4.4.9.jar
com.ea.agentloader-ea-agent-loader-1.0.2.jar
org.apache.logging.log4j-log4j-api-2.10.0.jar
com.fasterxml.jackson.core-jackson-annotations-2.8.4.jar
org.apache.logging.log4j-log4j-core-2.10.0.jar
com.fasterxml.jackson.core-jackson-core-2.8.4.jar
org.apache.logging.log4j-log4j-slf4j-impl-2.10.0.jar
com.fasterxml.jackson.core-jackson-databind-2.8.4.jar
org.apache.logging.log4j-log4j-web-2.10.0.jar
com.fasterxml.jackson.dataformat-jackson-dataformat-cbor-2.6.7.jar
org.apache.pulsar-managed-ledger-2.1.0-incubating-SNAPSHOT.jar
com.fasterxml.jackson.dataformat-jackson-dataformat-yaml-2.8.4.jar
org.apache.pulsar-protobuf-shaded-2.1.0-incubating-SNAPSHOT.jar
com.fasterxml.jackson.datatype-jackson-datatype-joda-2.8.4.jar
org.apache.pulsar-pulsar-broker-2.1.0-incubating-SNAPSHOT.jar
com.fasterxml.jackson.jaxrs-jackson-jaxrs-base-2.8.4.jar
org.apache.pulsar-pulsar-broker-common-2.1.0-incubating-SNAPSHOT.jar
com.fasterxml.jackson.jaxrs-jackson-jaxrs-json-provider-2.8.4.jar
org.apache.pulsar-pulsar-client-admin-original-2.1.0-incubating-SNAPSHOT.jar
com.fasterxml.jackson.module-jackson-module-jaxb-annotations-2.8.4.jar
org.apache.pulsar-pulsar-client-original-2.1.0-incubating-SNAPSHOT.jar
com.fasterxml.jackson.module-jackson-module-jsonSchema-2.9.0.jar
org.apache.pulsar-pulsar-client-tools-2.1.0-incubating-SNAPSHOT.jar
com.github.ben-manes.caffeine-caffeine-2.3.3.jar
org.apache.pulsar-pulsar-common-2.1.0-incubating-SNAPSHOT.jar
com.github.zafarkhaja-java-semver-0.9.0.jar
org.apache.pulsar-pulsar-discovery-service-2.1.0-incubating-SNAPSHOT.jar
com.google.api.grpc-proto-google-common-protos-0.1.9.jar
org.apache.pulsar-pulsar-functions-api-2.1.0-incubating-SNAPSHOT.jar
com.google.auth-google-auth-library-credentials-0.4.0.jar
org.apache.pulsar-pulsar-functions-api-examples-2.1.0-incubating-SNAPSHOT.jar
com.google.code.findbugs-jsr305-3.0.2.jar
org.apache.pulsar-pulsar-functions-instance-2.1.0-incubating-SNAPSHOT.jar
com.google.code.gson-gson-2.8.2.jar
org.apache.pulsar-pulsar-functions-metrics-2.1.0-incubating-SNAPSHOT.jar
com.google.errorprone-error_prone_annotations-2.1.2.jar
org.apache.pulsar-pulsar-functions-proto-2.1.0-incubating-SNAPSHOT.jar
com.google.errorprone-javac-9-dev-r3297-1-shaded.jar
org.apache.pulsar-pulsar-functions-runtime-2.1.0-incubating-SNAPSHOT.jar
com.google.googlejavaformat-google-java-format-1.2.jar
org.apache.pulsar-pulsar-functions-runtime-all-2.1.0-incubating-SNAPSHOT.jar
com.google.guava-guava-21.0.jar
org.apache.pulsar-pulsar-functions-utils-2.1.0-incubating-SNAPSHOT.jar
com.google.instrumentation-instrumentation-api-0.4.3.jar
org.apache.pulsar-pulsar-functions-worker-2.1.0-incubating-SNAPSHOT.jar
com.google.protobuf-protobuf-java-3.5.1.jar
org.apache.pulsar-pulsar-io-core-2.1.0-incubating-SNAPSHOT.jar
com.google.protobuf-protobuf-java-util-3.3.1.jar
org.apache.pulsar-pulsar-proxy-2.1.0-incubating-SNAPSHOT.jar
com.google.protobuf.nano-protobuf-javanano-3.0.0-alpha-5.jar
org.apache.pulsar-pulsar-testclient-2.1.0-incubating-SNAPSHOT.jar
com.squareup.okhttp-okhttp-2.5.0.jar
org.apache.pulsar-pulsar-websocket-2.1.0-incubating-SNAPSHOT.jar
com.squareup.okio-okio-1.6.0.jar
org.apache.pulsar-pulsar-zookeeper-2.1.0-incubating-SNAPSHOT.jar
com.typesafe.netty-netty-reactive-streams-2.0.0.jar
org.apache.pulsar-pulsar-zookeeper-utils-2.1.0-incubating-SNAPSHOT.jar
com.wordnik-swagger-annotations-1.5.3-M1.jar
org.apache.yetus-audience-annotations-0.5.0.jar
com.yahoo.datasketches-memory-0.8.3.jar
org.aspectj-aspectjrt-1.8.9.jar
com.yahoo.datasketches-sketches-core-0.8.3.jar
org.aspectj-aspectjweaver-1.8.9.jar
commons-beanutils-commons-beanutils-1.7.0.jar
org.asynchttpclient-async-http-client-2.1.0-alpha26.jar
commons-beanutils-commons-beanutils-core-1.8.0.jar
org.asynchttpclient-async-http-client-netty-utils-2.1.0-alpha26.jar
commons-cli-commons-cli-1.2.jar
org.bouncycastle-bcpkix-jdk15on-1.55.jar
commons-codec-commons-codec-1.10.jar
org.bouncycastle-bcprov-jdk15on-1.55.jar
commons-collections-commons-collections-3.2.1.jar
org.eclipse.jetty-jetty-client-9.3.11.v20160721.jar
commons-configuration-commons-configuration-1.6.jar
org.eclipse.jetty-jetty-continuation-9.3.11.v20160721.jar
commons-digester-commons-digester-1.8.jar
org.eclipse.jetty-jetty-http-9.3.11.v20160721.jar
commons-io-commons-io-2.5.jar
org.eclipse.jetty-jetty-io-9.3.11.v20160721.jar
commons-lang-commons-lang-2.6.jar
org.eclipse.jetty-jetty-proxy-9.3.11.v20160721.jar
commons-logging-commons-logging-1.1.1.jar
org.eclipse.jetty-jetty-security-9.3.11.v20160721.jar
io.grpc-grpc-all-1.12.0.jar
org.eclipse.jetty-jetty-server-9.3.11.v20160721.jar
io.grpc-grpc-auth-1.12.0.jar
org.eclipse.jetty-jetty-servlet-9.3.11.v20160721.jar
io.grpc-grpc-context-1.12.0.jar
org.eclipse.jetty-jetty-servlets-9.3.11.v20160721.jar
io.grpc-grpc-core-1.12.0.jar
org.eclipse.jetty-jetty-util-9.3.11.v20160721.jar
io.grpc-grpc-netty-1.12.0.jar
org.eclipse.jetty.websocket-javax-websocket-client-impl-9.3.11.v20160721.jar
io.grpc-grpc-okhttp-1.12.0.jar
org.eclipse.jetty.websocket-websocket-api-9.3.11.v20160721.jar
io.grpc-grpc-protobuf-1.12.0.jar
org.eclipse.jetty.websocket-websocket-client-9.3.11.v20160721.jar
io.grpc-grpc-protobuf-lite-1.12.0.jar
org.eclipse.jetty.websocket-websocket-common-9.3.11.v20160721.jar
io.grpc-grpc-protobuf-nano-1.12.0.jar
org.eclipse.jetty.websocket-websocket-server-9.3.11.v20160721.jar
io.grpc-grpc-stub-1.12.0.jar
org.eclipse.jetty.websocket-websocket-servlet-9.3.11.v20160721.jar
io.grpc-grpc-testing-1.12.0.jar
org.glassfish.hk2-hk2-api-2.5.0-b30.jar
io.netty-netty-3.10.1.Final.jar
org.glassfish.hk2-hk2-locator-2.5.0-b30.jar
io.netty-netty-all-4.1.22.Final.jar
org.glassfish.hk2-hk2-utils-2.5.0-b30.jar
io.netty-netty-tcnative-boringssl-static-2.0.7.Final.jar
org.glassfish.hk2-osgi-resource-locator-1.0.1.jar
io.opencensus-opencensus-api-0.11.0.jar
org.glassfish.hk2.external-aopalliance-repackaged-2.5.0-b30.jar
io.opencensus-opencensus-contrib-grpc-metrics-0.11.0.jar
org.glassfish.hk2.external-javax.inject-2.5.0-b30.jar
io.prometheus-simpleclient-0.0.23.jar
org.glassfish.jersey.bundles.repackaged-jersey-guava-2.25.jar
io.prometheus-simpleclient_common-0.0.23.jar
org.glassfish.jersey.containers-jersey-container-servlet-2.25.jar
io.prometheus-simpleclient_hotspot-0.0.23.jar
org.glassfish.jersey.containers-jersey-container-servlet-core-2.25.jar
io.prometheus-simpleclient_servlet-0.0.23.jar
org.glassfish.jersey.core-jersey-client-2.25.jar
io.swagger-swagger-annotations-1.5.3.jar
org.glassfish.jersey.core-jersey-common-2.25.jar
io.swagger-swagger-core-1.5.3.jar
org.glassfish.jersey.core-jersey-server-2.25.jar
io.swagger-swagger-models-1.5.3.jar
org.glassfish.jersey.ext-jersey-entity-filtering-2.25.jar
javax.annotation-javax.annotation-api-1.2.jar
org.glassfish.jersey.media-jersey-media-jaxb-2.25.jar
javax.servlet-javax.servlet-api-3.1.0.jar
org.glassfish.jersey.media-jersey-media-json-jackson-2.25.jar
javax.validation-validation-api-1.1.0.Final.jar
org.glassfish.jersey.media-jersey-media-multipart-2.25.jar
javax.websocket-javax.websocket-api-1.0.jar
org.hamcrest-hamcrest-core-1.1.jar
javax.ws.rs-javax.ws.rs-api-2.1.jar
org.hdrhistogram-HdrHistogram-2.1.9.jar
joda-time-joda-time-2.8.1.jar
org.inferred-freebuilder-1.12.3.jar
log4j-log4j-1.2.17.jar
org.javassist-javassist-3.21.0-GA.jar
net.java.dev.jna-jna-4.2.0.jar
org.jboss-jboss-common-core-2.2.17.GA.jar
net.jodah-typetools-0.5.0.jar
org.jboss-jboss-reflect-2.2.1.SP1.jar
net.jpountz.lz4-lz4-1.3.0.jar
org.jboss.logging-jboss-logging-spi-2.2.0.CR1.jar
org.apache.bookkeeper-bookkeeper-common-4.7.0.jar
org.jvnet.mimepull-mimepull-1.9.6.jar
org.apache.bookkeeper-bookkeeper-proto-4.7.0.jar
org.projectlombok-lombok-1.16.20.jar
org.apache.bookkeeper-bookkeeper-server-4.7.0.jar
org.reactivestreams-reactive-streams-1.0.0.jar
org.apache.bookkeeper-circe-checksum-4.7.0.jar
org.rocksdb-rocksdbjni-5.8.6.jar
org.apache.bookkeeper-stream-storage-java-client-4.7.0.jar
org.slf4j-jcl-over-slf4j-1.7.25.jar
org.apache.bookkeeper.http-http-server-4.7.0.jar
org.slf4j-jul-to-slf4j-1.7.25.jar
org.apache.bookkeeper.stats-bookkeeper-stats-api-4.7.0.jar
org.slf4j-slf4j-api-1.7.25.jar
org.apache.bookkeeper.stats-prometheus-metrics-provider-4.7.0.jar
org.yaml-snakeyaml-1.15.jar
org.apache.commons-commons-collections4-4.1.jar
software.amazon.ion-ion-java-1.0.2.jar
```
---
all/pom.xml | 18 ++++++++++++++++++
all/src/assemble/bin.xml | 16 +++++++++-------
pom.xml | 12 ++++++++++++
3 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/all/pom.xml b/all/pom.xml
index 0a9d289..23a386f 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -118,6 +118,12 @@
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-functions-worker</artifactId>
<version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>io.grpc</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- runtime-all -->
@@ -127,6 +133,18 @@
<version>${project.version}</version>
<!-- make sure the api examples are compiled before assembly -->
<scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>io.grpc</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- grpc -->
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-all</artifactId>
</dependency>
</dependencies>
diff --git a/all/src/assemble/bin.xml b/all/src/assemble/bin.xml
index 317982a..bdbbf1b 100644
--- a/all/src/assemble/bin.xml
+++ b/all/src/assemble/bin.xml
@@ -105,18 +105,20 @@
<excludes>
<!-- All these dependencies are already included in netty-all -->
+ <exclude>io.netty:netty-buffer</exclude>
<exclude>io.netty:netty-common</exclude>
- <exclude>io.netty:netty-resolver</exclude>
- <exclude>io.netty:netty-resolver-dns</exclude>
+ <exclude>io.netty:netty-codec</exclude>
<exclude>io.netty:netty-codec-dns</exclude>
- <exclude>io.netty:netty-transport-native-unix-common</exclude>
- <exclude>io.netty:netty-buffer</exclude>
<exclude>io.netty:netty-codec-http</exclude>
- <exclude>io.netty:netty-codec</exclude>
- <exclude>io.netty:netty-transport</exclude>
+ <exclude>io.netty:netty-codec-http2</exclude>
+ <exclude>io.netty:netty-codec-socks</exclude>
<exclude>io.netty:netty-handler</exclude>
+ <exclude>io.netty:netty-handler-proxy</exclude>
+ <exclude>io.netty:netty-resolver</exclude>
+ <exclude>io.netty:netty-resolver-dns</exclude>
+ <exclude>io.netty:netty-transport</exclude>
<exclude>io.netty:netty-transport-native-epoll</exclude>
- <exclude>io.netty:netty-codec-http</exclude>
+ <exclude>io.netty:netty-transport-native-unix-common</exclude>
<!-- Already included in pulsar-zookeeper instrumented jar -->
<exclude>org.apache.zookeeper:zookeeper</exclude>
diff --git a/pom.xml b/pom.xml
index a59c94f..a63515a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -719,6 +719,18 @@ flexible messaging model and an intuitive client
API.</description>
</dependency>
<dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-core</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf-lite</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
--
To stop receiving notification emails like this one, please contact
[email protected].