diff --git a/pom.xml b/pom.xml
index 6faafd03cbf8e..7167814ea6624 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,6 +89,7 @@ flexible messaging model and an intuitive client API.
pulsar-client-admin-shaded
pulsar-client-tools
pulsar-client-tools-test
+ pulsar-client-all
pulsar-websocket
pulsar-proxy
pulsar-discovery-service
diff --git a/pulsar-client-all/pom.xml b/pulsar-client-all/pom.xml
new file mode 100644
index 0000000000000..4916a8c3dfef1
--- /dev/null
+++ b/pulsar-client-all/pom.xml
@@ -0,0 +1,358 @@
+
+
+ 4.0.0
+
+
+ org.apache.pulsar
+ pulsar
+ 2.4.0-SNAPSHOT
+ ..
+
+
+ pulsar-client-all
+ Pulsar Client All
+
+
+
+ ${project.groupId}
+ pulsar-client-original
+ ${project.version}
+
+
+ ${project.groupId}
+ pulsar-client-admin-original
+ ${project.version}
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.1.1
+
+
+ unpack
+ generate-sources
+
+ unpack
+
+
+
+
+ org.apache.pulsar
+ pulsar-client-original
+ ${project.version}
+ jar
+ true
+ **/ProtobufSchema.class
+ ${project.build.directory}/classes
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+
+
+ package
+
+ shade
+
+
+ true
+ true
+ false
+
+
+
+ org.apache.pulsar:pulsar-client-original
+ org.apache.pulsar:pulsar-client-admin-original
+ org.apache.commons:commons-lang3
+ commons-codec:commons-codec
+ commons-collections:commons-collections
+ org.asynchttpclient:*
+ io.netty:netty-codec-http
+ io.netty:netty-transport-native-epoll
+ org.reactivestreams:reactive-streams
+ com.typesafe.netty:netty-reactive-streams
+ org.javassist:javassist
+ com.google.protobuf:protobuf-java
+ com.google.guava:guava
+ com.google.code.gson:gson
+ com.fasterxml.jackson.core
+ com.fasterxml.jackson.module
+ com.fasterxml.jackson.core:jackson-core
+ com.fasterxml.jackson.dataformat
+ io.netty:netty
+ io.netty:netty-all
+ io.netty:netty-tcnative-boringssl-static
+ org.eclipse.jetty:*
+ com.yahoo.datasketches:*
+ commons-*:*
+
+ org.apache.pulsar:pulsar-common
+ org.apache.bookkeeper:circe-checksum
+ com.yahoo.datasketches:sketches-core
+ org.glassfish.jersey*:*
+ javax.ws.rs:*
+ javax.annotation:*
+ org.glassfish.hk2*:*
+ com.fasterxml.jackson.*:*
+ io.grpc:*
+ com.yahoo.datasketches:*
+ io.netty:*
+ com.squareup.*:*
+ com.google.*:*
+ commons-*:*
+ org.apache.httpcomponents:*
+ org.eclipse.jetty:*
+ com.google.auth:*
+ org.jvnet.mimepull:*
+ io.opencensus:*
+ org.objenesis:*
+ org.yaml:snakeyaml
+ org.apache.avro:*
+
+ org.codehaus.jackson:jackson-core-asl
+ org.codehaus.jackson:jackson-mapper-asl
+ com.thoughtworks.paranamer:paranamer
+ org.xerial.snappy:snappy-java
+ org.apache.commons:commons-compress
+ org.tukaani:xz
+
+
+
+
+ org.apache.pulsar:pulsar-client-original
+
+ **
+
+
+
+ commons-logging:commons-logging
+
+ **
+
+
+
+
+
+ org.asynchttpclient
+ org.apache.pulsar.shade.org.asynchttpclient
+
+
+ org.apache.commons
+ org.apache.pulsar.shade.org.apache.commons
+
+
+ com.google
+ org.apache.pulsar.shade.com.google
+
+ com.google.protobuf.*
+
+
+
+ com.fasterxml.jackson
+ org.apache.pulsar.shade.com.fasterxml.jackson
+
+
+ io.netty
+ org.apache.pulsar.shade.io.netty
+
+
+ org.apache.pulsar.policies
+ org.apache.pulsar.shade.org.apache.pulsar.policies
+
+
+ com.yahoo.datasketches
+ org.apache.pulsar.shade.com.yahoo.datasketches
+
+
+ com.yahoo
+ org.apache.pulsar.shade.com.yahoo
+
+
+ org.apache.http
+ org.apache.pulsar.shade.org.apache.http
+
+
+ org.eclipse.jetty
+ org.apache.pulsar.shade.org.eclipse
+
+
+ org.reactivestreams
+ org.apache.pulsar.shade.org.reactivestreams
+
+
+ com.typesafe
+ org.apache.pulsar.shade.com.typesafe
+
+
+ javax.ws
+ org.apache.pulsar.shade.javax.ws
+
+
+ javax.annotation
+ org.apache.pulsar.shade.javax.annotation
+
+
+ jersey
+ org.apache.pulsar.shade.jersey
+
+
+ org.jvnet
+ org.apache.pulsar.shade.org.jvnet
+
+
+ org.aopalliance
+ org.apache.pulsar.shade.org.aopalliance
+
+
+ javassist
+ org.apache.pulsar.shade.javassist
+
+
+ javax.inject
+ org.apache.pulsar.shade.javax.inject
+
+
+ org.glassfish
+ org.apache.pulsar.shade.org.glassfish
+
+
+ io.grpc
+ org.apache.pulsar.shade.io.grpc
+
+
+ okio
+ org.apache.pulsar.shade.okio
+
+
+ com.squareup
+ org.apache.pulsar.shade.com.squareup
+
+
+ io.opencensus
+ org.apache.pulsar.shade.io.opencensus
+
+
+ org.eclipse.jetty
+ org.apache.pulsar.shade.org.eclipse.jetty
+
+
+ org.apache.http
+ org.apache.pulsar.shade.org.apache.http
+
+
+ org.objenesis
+ org.apache.pulsar.shade.org.objenesis
+
+
+ org.yaml
+ org.apache.pulsar.shade.org.yaml
+
+
+ org.apache.avro
+ org.apache.pulsar.shade.org.apache.avro
+
+ org.apache.avro.reflect.AvroAlias
+ org.apache.avro.reflect.AvroDefault
+ org.apache.avro.reflect.AvroEncode
+ org.apache.avro.reflect.AvroIgnore
+ org.apache.avro.reflect.AvroMeta
+ org.apache.avro.reflect.AvroName
+ org.apache.avro.reflect.AvroSchema
+ org.apache.avro.reflect.Nullable
+ org.apache.avro.reflect.Stringable
+ org.apache.avro.reflect.Union
+
+
+
+
+ org.codehaus.jackson
+ org.apache.pulsar.shade.org.codehaus.jackson
+
+
+ com.thoughtworks.paranamer
+ org.apache.pulsar.shade.com.thoughtworks.paranamer
+
+
+ org.xerial.snappy
+ org.apache.pulsar.shade.org.xerial.snappy
+
+
+ org.apache.commons
+ org.apache.pulsar.shade.org.apache.commons
+
+
+ org.tukaani
+ org.apache.pulsar.shade.org.tukaani
+
+
+
+
+
+
+
+
+
+
+
+
+
+ exec-maven-plugin
+ org.codehaus.mojo
+
+
+ rename-epoll-library
+ package
+
+ exec
+
+
+ ${project.parent.basedir}/src/${rename.netty.native.libs}
+
+ ${project.artifactId}
+
+
+
+
+
+
+
+