This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 0fbe8b7  BP-26 (task 3) : Build dlog shaded jar in bookkeeper way
0fbe8b7 is described below

commit 0fbe8b767eaeb1c2d5d90946b3620a4e853a7284
Author: Sijie Guo <si...@apache.org>
AuthorDate: Fri Feb 2 16:31:07 2018 -0800

    BP-26 (task 3) : Build dlog shaded jar in bookkeeper way
    
    Descriptions of the changes in this PR:
    
    - discard dlog shaded artifacts and build `distributedlog-core-shaded` jar 
similar as `bookkeeper-server-shaded`
    - discard bookkeeper-server shaded artifact
    - move all shaded related tests to `tests/shaded`
    
    Master Issue: #1024
    
    Author: Sijie Guo <si...@apache.org>
    
    Reviewers: Dave Rusek <dave.ru...@gmail.com>, Jia Zhai <None>, Yiming Zang 
<yzang2...@gmail.com>
    
    This closes #1095 from sijie/dlog_shade_jar
---
 bookkeeper-server/pom.xml                          |  40 ---
 shaded/distributedlog-core-shaded/pom.xml          | 245 ++++++++++++++++++
 shaded/pom.xml                                     |   1 +
 site/docs/latest/api/ledger-api.md                 |  38 ---
 stream/distributedlog/common/pom.xml               |   6 +-
 stream/distributedlog/core/pom.xml                 | 283 +--------------------
 tests/pom.xml                                      |   4 +-
 .../bookkeeper-server-shaded-test/pom.xml          |   4 +-
 .../shaded/BookKeeperServerShadedJarTest.java      |   0
 .../bookkeeper-server-tests-shaded-test/pom.xml    |   4 +-
 .../shaded/BookKeeperServerTestsShadedJarTest.java |   0
 .../distributedlog-core-shaded-test}/pom.xml       |  43 +++-
 .../shaded/DistributedLogCoreShadedJarTest.java}   |  36 ++-
 {shaded => tests/shaded}/pom.xml                   |  16 +-
 14 files changed, 339 insertions(+), 381 deletions(-)

diff --git a/bookkeeper-server/pom.xml b/bookkeeper-server/pom.xml
index f0721b6..ba6f248 100644
--- a/bookkeeper-server/pom.xml
+++ b/bookkeeper-server/pom.xml
@@ -222,46 +222,6 @@
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-        <version>${maven-shade-plugin.version}</version>
-        <configuration>
-          <!-- put your configurations here -->
-        </configuration>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <createDependencyReducedPom>true</createDependencyReducedPom>
-              
<promoteTransitiveDependencies>false</promoteTransitiveDependencies>
-              <shadedArtifactAttached>true</shadedArtifactAttached>
-              <shadedClassifierName>shaded</shadedClassifierName>
-              <minimizeJar>true</minimizeJar>
-              <shadeTestJar>true</shadeTestJar>
-              <artifactSet>
-                <includes>
-                  <include>com.google.guava:guava</include>
-                  <include>com.google.protobuf:protobuf-java</include>
-                  <include>org.apache.bookkeeper:bookkeeper-common</include>
-                  <include>org.apache.bookkeeper:bookkeeper-proto</include>
-                  <include>org.apache.bookkeeper:circe-checksum</include>
-                  
<include>org.apache.bookkeeper.stats:bookkeeper-stats-api</include>
-                </includes>
-              </artifactSet>
-              <relocations>
-                <relocation>
-                  <pattern>com.google</pattern>
-                  
<shadedPattern>org.apache.bookkeeper.shaded.com.google</shadedPattern>
-                </relocation>
-              </relocations>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <version>${maven-jar-plugin.version}</version>
         <executions>
diff --git a/shaded/distributedlog-core-shaded/pom.xml 
b/shaded/distributedlog-core-shaded/pom.xml
new file mode 100644
index 0000000..ba147ab
--- /dev/null
+++ b/shaded/distributedlog-core-shaded/pom.xml
@@ -0,0 +1,245 @@
+<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns="http://maven.apache.org/POM/4.0.0";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.bookkeeper</groupId>
+    <artifactId>shaded-parent</artifactId>
+    <version>4.7.0-SNAPSHOT</version>
+    <relativePath>..</relativePath>
+  </parent>
+  <groupId>org.apache.distributedlog</groupId>
+  <artifactId>distributedlog-core-shaded</artifactId>
+  <name>Apache BookKeeper :: Shaded :: distributedlog-core-shaded</name>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.distributedlog</groupId>
+      <artifactId>distributedlog-core</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-log4j12</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>log4j</groupId>
+          <artifactId>log4j</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>${maven-shade-plugin.version}</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <createDependencyReducedPom>true</createDependencyReducedPom>
+              
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
+              <minimizeJar>false</minimizeJar>
+              <artifactSet>
+                <includes>
+                  <include>commons-codec:commons-codec</include>
+                  <include>commons-cli:commons-cli</include>
+                  <include>commons-io:commons-io</include>
+                  <include>commons-lang:commons-lang</include>
+                  <include>commons-logging:commons-logging</include>
+                  <include>com.fasterxml.jackson.core:jackson-core</include>
+                  
<include>com.fasterxml.jackson.core:jackson-databind</include>
+                  
<include>com.fasterxml.jackson.core:jackson-annotations</include>
+                  <include>com.google.guava:guava</include>
+                  <include>com.google.protobuf:protobuf-java</include>
+                  <include>io.netty:netty</include>
+                  <include>io.netty:netty-all</include>
+                  <include>io.netty:netty-buffer</include>
+                  <include>io.netty:netty-common</include>
+                  <include>io.netty:netty-tcnative-boringssl-static</include>
+                  <include>net.java.dev.jna:jna</include>
+                  <include>net.jpountz.lz4:lz4</include>
+                  <include>org.apache.bookkeeper:bookkeeper-common</include>
+                  <include>org.apache.bookkeeper:bookkeeper-proto</include>
+                  <include>org.apache.bookkeeper:bookkeeper-server</include>
+                  <include>org.apache.bookkeeper:circe-checksum</include>
+                  <include>org.apache.bookkeeper.http:http-server</include>
+                  
<include>org.apache.bookkeeper.stats:bookkeeper-stats-api</include>
+                  <include>org.apache.commons:commons-collections4</include>
+                  <include>org.apache.commons:commons-lang3</include>
+                  
<include>org.apache.distributedlog:distributedlog-common</include>
+                  
<include>org.apache.distributedlog:distributedlog-core</include>
+                  
<include>org.apache.distributedlog:distributedlog-protocol</include>
+                  <include>org.apache.httpcomponents:httpclient</include>
+                  <include>org.apache.httpcomponents:httpcore</include>
+                  <include>org.apache.thrift:libthrift</include>
+                  <include>org.apache.zookeeper:zookeeper</include>
+                  <include>org.rocksdb:rocksdbjni</include>
+                </includes>
+              </artifactSet>
+              <relocations>
+                <!-- apache commons -->
+                <relocation>
+                  <pattern>org.apache.commons.cli</pattern>
+                  <shadedPattern>dlshade.org.apache.commons.cli</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.commons.codec</pattern>
+                  
<shadedPattern>dlshade.org.apache.commons.codec</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.commons.collections4</pattern>
+                  
<shadedPattern>dlshade.org.apache.commons.collections4</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.commons.lang</pattern>
+                  
<shadedPattern>dlshade.org.apache.commons.lang</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.commons.lang3</pattern>
+                  
<shadedPattern>dlshade.org.apache.commons.lang3</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.commons.logging</pattern>
+                  
<shadedPattern>dlshade.org.apache.commons.logging</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.commons.io</pattern>
+                  <shadedPattern>dlshade.org.apache.commons.io</shadedPattern>
+                </relocation>
+                <!-- apache httpcomponents -->
+                <relocation>
+                  <pattern>org.apache.httpcomponents</pattern>
+                  
<shadedPattern>dlshade.org.apache.httpcomponents</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.http</pattern>
+                  <shadedPattern>dlshade.org.apache.http</shadedPattern>
+                </relocation>
+                <!-- apache thrift -->
+                <relocation>
+                  <pattern>org.apache.thrift</pattern>
+                  <shadedPattern>dlshade.org.apache.thrift</shadedPattern>
+                </relocation>
+                <!-- apache zookeeper -->
+                <relocation>
+                  <pattern>org.apache.zookeeper</pattern>
+                  <shadedPattern>dlshade.org.apache.zookeeper</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.jute</pattern>
+                  <shadedPattern>dlshade.org.apache.jute</shadedPattern>
+                </relocation>
+                <!-- jackson -->
+                <relocation>
+                  <pattern>com.fasterxml.jackson</pattern>
+                  <shadedPattern>dlshade.com.fasterxml.jackson</shadedPattern>
+                </relocation>
+                <!-- jna -->
+                <relocation>
+                  <pattern>com.sun.jna</pattern>
+                  <shadedPattern>dlshade.com.sun.jna</shadedPattern>
+                </relocation>
+                <!-- guava & protobuf -->
+                <relocation>
+                  <pattern>com.google</pattern>
+                  <shadedPattern>dlshade.com.google</shadedPattern>
+                </relocation>
+                <!-- netty -->
+                <relocation>
+                  <pattern>io.netty</pattern>
+                  <shadedPattern>dlshade.io.netty</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.jboss.netty</pattern>
+                  <shadedPattern>dlshade.org.jboss.netty</shadedPattern>
+                </relocation>
+                <!-- lz4 -->
+                <relocation>
+                  <pattern>net.jpountz</pattern>
+                  <shadedPattern>dlshade.net.jpountz</shadedPattern>
+                </relocation>
+                <!-- rocksdb -->
+                <relocation>
+                  <pattern>org.rocksdb</pattern>
+                  <shadedPattern>dlshade.org.rocksdb</shadedPattern>
+                </relocation>
+                <!-- bookkeeper -->
+                <relocation>
+                  <pattern>org.apache.bookkeeper</pattern>
+                  <shadedPattern>org.apache.bookkeeper</shadedPattern>
+                </relocation>
+                <!-- distributedlog -->
+                <relocation>
+                  <pattern>org.apache.distributedlog</pattern>
+                  <shadedPattern>org.apache.distributedlog</shadedPattern>
+                </relocation>
+              </relocations>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin> 
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>license-maven-plugin</artifactId>
+        <version>1.6</version>
+        <configuration>
+          <canUpdateCopyright>false</canUpdateCopyright>
+          <roots><root>${project.basedir}</root></roots>
+        </configuration>
+        <executions>
+          <execution>
+            <id>update-pom-license</id>
+            <goals>
+              <goal>update-file-header</goal>
+            </goals>
+            <phase>package</phase>
+            <configuration>
+              <licenseName>apache_v2</licenseName>
+              <includes>
+                <include>dependency-reduced-pom.xml</include>
+              </includes>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-clean-plugin</artifactId>
+        <version>2.5</version>
+       <configuration>
+         <filesets>
+            <fileset>
+              <directory>${project.basedir}</directory>
+              <includes>
+                <include>dependency-reduced-pom.xml</include>
+              </includes>
+            </fileset>
+          </filesets>
+       </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/shaded/pom.xml b/shaded/pom.xml
index a1544eb..3cfdb0d 100644
--- a/shaded/pom.xml
+++ b/shaded/pom.xml
@@ -30,5 +30,6 @@
   <modules>
     <module>bookkeeper-server-shaded</module>
     <module>bookkeeper-server-tests-shaded</module>
+    <module>distributedlog-core-shaded</module>
   </modules>
 </project>
diff --git a/site/docs/latest/api/ledger-api.md 
b/site/docs/latest/api/ledger-api.md
index 2fef7dc..51a6e84 100644
--- a/site/docs/latest/api/ledger-api.md
+++ b/site/docs/latest/api/ledger-api.md
@@ -34,35 +34,6 @@ BookKeeper uses google 
[protobuf](https://github.com/google/protobuf/tree/master
 a lot. If your application might include different versions of protobuf or 
guava introduced by other dependencies, you can choose to use the
 shaded library, which relocate classes of protobuf and guava into a different 
namespace to avoid conflicts.
 
-You can use the shaded artifact of `bookkeeper-server`. Please note that 
[maven-shade-plugin](https://maven.apache.org/plugins/maven-shade-plugin) 
doesn't generate
-a dependency-reduced pom file for shaded artifact using 
[shadedArtifactAttached](https://maven.apache.org/plugins/maven-shade-plugin/examples/attached-artifact.html).
 You need to manually to exclude relocated packages when using the shaded 
artifact. Full example of how to use this is
-showed as below.
-
-```xml
-<!-- in your <properties> block -->
-<bookkeeper.version>{{ site.latest_version }}</bookkeeper.version>
-
-<!-- in your <dependencies> block -->
-<dependency>
-  <groupId>org.apache.bookkeeper</groupId>
-  <artifactId>bookkeeper-server</artifactId>
-  <version>${bookkeeper.version}</version>
-  <classifier>shaded</classifier> <!-- specify "shaded" classifier to use 
shaded artifact -->
-  <exclusions>
-    <exclusion>
-      <groupId>org.apache.bookkeeper</groupId>
-      <artifactId>bookkeeper-common</artifactId>
-    </exclusion>
-    <exclusion>
-      <groupId>org.apache.bookkeeper</groupId>
-      <artifactId>bookkeeper-proto</artifactId>
-    </exclusion>
-  </exclusions>
-</dependency>
-```
-
-Or you can use a separate shaded artifact `bookkeeper-server-shaded`.
-
 ```xml
 <!-- in your <properties> block -->
 <bookkeeper.version>{{ site.latest_version }}</bookkeeper.version>
@@ -93,15 +64,6 @@ dependencies {
 Similarly as using maven, you can also configure to use the shaded jars.
 
 ```groovy
-// use the shaded artifact of `bookkeeper-server` jar
-dependencies {
-    compile ('org.apache.bookkeeper:bookkeeper-server:{{ site.latest-version 
}}:shaded') {
-        exclude group: 'org.apache.bookkeeper', module: "bookkeeper-common'
-        exclude group: 'org.apache.bookkeeper', module: 'bookkeeper-proto'
-    }
-}
-
-
 // use the `bookkeeper-server-shaded` jar
 dependencies {
     compile 'org.apache.bookkeeper:bookkeeper-server-shaded:{{ 
site.latest-version }}'
diff --git a/stream/distributedlog/common/pom.xml 
b/stream/distributedlog/common/pom.xml
index d550150..fe0628e 100644
--- a/stream/distributedlog/common/pom.xml
+++ b/stream/distributedlog/common/pom.xml
@@ -37,9 +37,9 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.inferred</groupId>
-      <artifactId>freebuilder</artifactId>
-      <version>${freebuilder.version}</version>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+      <version>${commons-lang3.version}</version>
     </dependency>
     <dependency>
       <groupId>com.google.guava</groupId>
diff --git a/stream/distributedlog/core/pom.xml 
b/stream/distributedlog/core/pom.xml
index 9f16736..48a6b64 100644
--- a/stream/distributedlog/core/pom.xml
+++ b/stream/distributedlog/core/pom.xml
@@ -27,13 +27,19 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.distributedlog</groupId>
-      <artifactId>distributedlog-common</artifactId>
-      <version>${project.parent.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.distributedlog</groupId>
       <artifactId>distributedlog-protocol</artifactId>
       <version>${project.parent.version}</version>
+      <exclusions>
+        <!-- netty-all is introduced by bookkeeper-server -->
+        <exclusion>
+          <groupId>io.netty</groupId>
+          <artifactId>netty-buffer</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>io.netty</groupId>
+          <artifactId>netty-common</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.apache.zookeeper</groupId>
@@ -170,273 +176,6 @@
               </relocations>
             </configuration>
           </execution>
-          <execution>
-            <id>shade-bk</id>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <createDependencyReducedPom>true</createDependencyReducedPom>
-              <shadedArtifactAttached>true</shadedArtifactAttached>
-              <shadedClassifierName>bkshade</shadedClassifierName>
-              <minimizeJar>true</minimizeJar>
-              <shadeTestJar>true</shadeTestJar>
-              <artifactSet>
-                <includes>
-                  <include>commons-codec:commons-codec</include>
-                  <include>commons-cli:commons-cli</include>
-                  <include>commons-io:commons-io</include>
-                  <include>commons-lang:commons-lang</include>
-                  <include>com.google.guava:guava</include>
-                  <include>com.google.protobuf:protobuf-java</include>
-                  <include>io.netty:netty</include>
-                  <include>io.netty:netty-all</include>
-                  <include>io.netty:netty-buffer</include>
-                  <include>io.netty:netty-common</include>
-                  <include>io.netty:netty-tcnative-boringssl-static</include>
-                  <include>net.java.dev.jna:jna</include>
-                  <include>net.jpountz.lz4:lz4</include>
-                  
<include>org.apache.bookkeeper.stats:bookkeeper-stats-api</include>
-                  <include>org.apache.bookkeeper:bookkeeper-server</include>
-                  <include>org.apache.bookkeeper:bookkeeper-common</include>
-                  <include>org.apache.bookkeeper:bookkeeper-proto</include>
-                  <include>org.apache.bookkeeper:bookkeeper-http</include>
-                  <include>org.apache.commons:commons-lang3</include>
-                  
<include>org.apache.distributedlog:distributedlog-common</include>
-                  
<include>org.apache.distributedlog:distributedlog-protocol</include>
-                  <include>org.apache.httpcomponents:httpclient</include>
-                  <include>org.apache.httpcomponents:httpcore</include>
-                  <include>org.apache.thrift:libthrift</include>
-                  <include>org.apache.zookeeper:zookeeper</include>
-                  <include>org.inferred:freebuilder</include>
-                </includes>
-              </artifactSet>
-              <minimizeJar>true</minimizeJar>
-              <relocations>
-                <!-- apache commons -->
-                <relocation>
-                  <pattern>org.apache.commons.cli</pattern>
-                  <shadedPattern>dlshade.org.apache.commons.cli</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.commons.codec</pattern>
-                  
<shadedPattern>dlshade.org.apache.commons.codec</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.commons.lang</pattern>
-                  
<shadedPattern>dlshade.org.apache.commons.lang</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.commons.lang3</pattern>
-                  
<shadedPattern>dlshade.org.apache.commons.lang3</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.commons.io</pattern>
-                  <shadedPattern>dlshade.org.apache.commons.io</shadedPattern>
-                </relocation>
-                <!-- apache httpcomponents -->
-                <relocation>
-                  <pattern>org.apache.httpcomponents</pattern>
-                  
<shadedPattern>dlshade.org.apache.httpcomponents</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.http</pattern>
-                  <shadedPattern>dlshade.org.apache.http</shadedPattern>
-                </relocation>
-                <!-- apache thrift -->
-                <relocation>
-                  <pattern>org.apache.thrift</pattern>
-                  <shadedPattern>dlshade.org.apache.thrift</shadedPattern>
-                </relocation>
-                <!-- apache zookeeper -->
-                <relocation>
-                  <pattern>org.apache.zookeeper</pattern>
-                  <shadedPattern>org.apache.zookeeper</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.jute</pattern>
-                  <shadedPattern>dlshade.org.apache.jute</shadedPattern>
-                </relocation>
-                <!-- freebuilder -->
-                <relocation>
-                  <pattern>org.inferred.freebuilder</pattern>
-                  
<shadedPattern>dlshade.org.inferred.freebuilder</shadedPattern>
-                </relocation>
-                <!-- jna -->
-                <relocation>
-                  <pattern>com.sun.jna</pattern>
-                  <shadedPattern>dlshade.com.sun.jna</shadedPattern>
-                </relocation>
-                <!-- guava -->
-                <relocation>
-                  <pattern>com.google</pattern>
-                  <shadedPattern>dlshade.com.google</shadedPattern>
-                </relocation>
-                <!-- netty -->
-                <!--<relocation>-->
-                  <!--<pattern>io.netty</pattern>-->
-                  <!--<shadedPattern>dlshade.io.netty</shadedPattern>-->
-                <!--</relocation>-->
-                <relocation>
-                  <pattern>org.jboss.netty</pattern>
-                  <shadedPattern>dlshade.org.jboss.netty</shadedPattern>
-                </relocation>
-                <!-- lz4 -->
-                <relocation>
-                  <pattern>net.jpountz</pattern>
-                  <shadedPattern>dlshade.net.jpountz</shadedPattern>
-                </relocation>
-                <!-- bookkeeper -->
-                <relocation>
-                  <pattern>org.apache.bookkeeper</pattern>
-                  <shadedPattern>dlshade.org.apache.bookkeeper</shadedPattern>
-                </relocation>
-                <!-- distributedlog -->
-                <relocation>
-                  <pattern>org.apache.distributedlog</pattern>
-                  <shadedPattern>org.apache.distributedlog</shadedPattern>
-                </relocation>
-              </relocations>
-            </configuration>
-          </execution>
-          <execution>
-            <id>shade-all</id>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <createDependencyReducedPom>true</createDependencyReducedPom>
-              
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
-              <shadedArtifactAttached>true</shadedArtifactAttached>
-              <shadedClassifierName>shaded</shadedClassifierName>
-              <minimizeJar>true</minimizeJar>
-              <artifactSet>
-                <includes>
-                  <include>commons-codec:commons-codec</include>
-                  <include>commons-cli:commons-cli</include>
-                  <include>commons-io:commons-io</include>
-                  <include>commons-lang:commons-lang</include>
-                  <include>com.google.guava:guava</include>
-                  <include>com.google.protobuf:protobuf-java</include>
-                  <include>io.netty:netty</include>
-                  <include>io.netty:netty-all</include>
-                  <include>io.netty:netty-buffer</include>
-                  <include>io.netty:netty-common</include>
-                  <include>io.netty:netty-tcnative-boringssl-static</include>
-                  <include>net.java.dev.jna:jna</include>
-                  <include>net.jpountz.lz4:lz4</include>
-                  
<include>org.apache.bookkeeper.stats:bookkeeper-stats-api</include>
-                  <include>org.apache.bookkeeper:bookkeeper-server</include>
-                  <include>org.apache.bookkeeper:bookkeeper-common</include>
-                  <include>org.apache.bookkeeper:bookkeeper-proto</include>
-                  <include>org.apache.bookkeeper:bookkeeper-http</include>
-                  <include>org.apache.commons:commons-lang3</include>
-                  
<include>org.apache.distributedlog:distributedlog-common</include>
-                  
<include>org.apache.distributedlog:distributedlog-protocol</include>
-                  <include>org.apache.httpcomponents:httpclient</include>
-                  <include>org.apache.httpcomponents:httpcore</include>
-                  <include>org.apache.thrift:libthrift</include>
-                  <include>org.apache.zookeeper:zookeeper</include>
-                  <include>org.inferred:freebuilder</include>
-                </includes>
-              </artifactSet>
-              <filters>
-                <filter>
-                  <artifact>net.jpountz.lz4:lz4</artifact>
-                  <includes>
-                    <include>**</include>
-                  </includes>
-                </filter>
-              </filters>
-              <relocations>
-                <!-- apache commons --> 
-                <relocation>
-                  <pattern>org.apache.commons.cli</pattern>
-                  <shadedPattern>dlshade.org.apache.commons.cli</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.commons.codec</pattern>
-                  
<shadedPattern>dlshade.org.apache.commons.codec</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.commons.lang</pattern>
-                  
<shadedPattern>dlshade.org.apache.commons.lang</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.commons.lang3</pattern>
-                  
<shadedPattern>dlshade.org.apache.commons.lang3</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.commons.io</pattern>
-                  <shadedPattern>dlshade.org.apache.commons.io</shadedPattern>
-                </relocation>
-                <!-- apache httpcomponents -->
-                <relocation>
-                  <pattern>org.apache.httpcomponents</pattern>
-                  
<shadedPattern>dlshade.org.apache.httpcomponents</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.http</pattern>
-                  <shadedPattern>dlshade.org.apache.http</shadedPattern>
-                </relocation>
-                <!-- apache thrift -->
-                <relocation>
-                  <pattern>org.apache.thrift</pattern>
-                  <shadedPattern>dlshade.org.apache.thrift</shadedPattern>
-                </relocation>
-                <!-- apache zookeeper -->
-                <relocation>
-                  <pattern>org.apache.zookeeper</pattern>
-                  <shadedPattern>dlshade.org.apache.zookeeper</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.apache.jute</pattern>
-                  <shadedPattern>dlshade.org.apache.jute</shadedPattern>
-                </relocation>
-                <!-- freebuilder -->
-                <relocation>
-                  <pattern>org.inferred.freebuilder</pattern>
-                  
<shadedPattern>dlshade.org.inferred.freebuilder</shadedPattern>
-                </relocation>
-                <!-- jna -->
-                <relocation>
-                  <pattern>com.sun.jna</pattern>
-                  <shadedPattern>dlshade.com.sun.jna</shadedPattern>
-                </relocation>
-                <!-- guava -->
-                <relocation>
-                  <pattern>com.google</pattern>
-                  <shadedPattern>dlshade.com.google</shadedPattern>
-                </relocation>
-                <!-- netty -->
-                <relocation>
-                  <pattern>io.netty</pattern>
-                  <shadedPattern>dlshade.io.netty</shadedPattern>
-                </relocation>
-                <relocation>
-                  <pattern>org.jboss.netty</pattern>
-                  <shadedPattern>dlshade.org.jboss.netty</shadedPattern>
-                </relocation>
-                <!-- lz4 -->
-                <relocation>
-                  <pattern>net.jpountz</pattern>
-                  <shadedPattern>dlshade.net.jpountz</shadedPattern>
-                </relocation>
-                <!-- bookkeeper -->
-                <relocation>
-                  <pattern>org.apache.bookkeeper</pattern>
-                  <shadedPattern>org.apache.bookkeeper</shadedPattern>
-                </relocation>
-                <!-- distributedlog -->
-                <relocation>
-                  <pattern>org.apache.distributedlog</pattern>
-                  <shadedPattern>org.apache.distributedlog</shadedPattern>
-                </relocation>
-              </relocations>
-            </configuration>
-          </execution>
         </executions>
       </plugin>
       <plugin>
diff --git a/tests/pom.xml b/tests/pom.xml
index 75e270c..550b9aa 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -28,9 +28,7 @@
   <artifactId>tests-parent</artifactId>
   <name>Apache BookKeeper :: Tests</name>
   <modules>
-    <module>bookkeeper-server-shaded-artifact-test</module>
-    <module>bookkeeper-server-shaded-test</module>
-    <module>bookkeeper-server-tests-shaded-test</module>
+    <module>shaded</module>
     <module>docker-all-versions-image</module>
     <module>integration-tests-base</module>
     <module>integration-tests-base-groovy</module>
diff --git a/tests/bookkeeper-server-shaded-test/pom.xml 
b/tests/shaded/bookkeeper-server-shaded-test/pom.xml
similarity index 97%
rename from tests/bookkeeper-server-shaded-test/pom.xml
rename to tests/shaded/bookkeeper-server-shaded-test/pom.xml
index d72d6ca..29f520b 100644
--- a/tests/bookkeeper-server-shaded-test/pom.xml
+++ b/tests/shaded/bookkeeper-server-shaded-test/pom.xml
@@ -19,8 +19,8 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>org.apache.bookkeeper.tests</groupId>
-    <artifactId>tests-parent</artifactId>
+    <groupId>org.apache.bookkeeper.tests.shaded</groupId>
+    <artifactId>shaded-tests-parent</artifactId>
     <version>4.7.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
diff --git 
a/tests/bookkeeper-server-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerShadedJarTest.java
 
b/tests/shaded/bookkeeper-server-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerShadedJarTest.java
similarity index 100%
rename from 
tests/bookkeeper-server-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerShadedJarTest.java
rename to 
tests/shaded/bookkeeper-server-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerShadedJarTest.java
diff --git a/tests/bookkeeper-server-tests-shaded-test/pom.xml 
b/tests/shaded/bookkeeper-server-tests-shaded-test/pom.xml
similarity index 97%
rename from tests/bookkeeper-server-tests-shaded-test/pom.xml
rename to tests/shaded/bookkeeper-server-tests-shaded-test/pom.xml
index 5418f5a..6efa48f 100644
--- a/tests/bookkeeper-server-tests-shaded-test/pom.xml
+++ b/tests/shaded/bookkeeper-server-tests-shaded-test/pom.xml
@@ -19,8 +19,8 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>org.apache.bookkeeper.tests</groupId>
-    <artifactId>tests-parent</artifactId>
+    <groupId>org.apache.bookkeeper.tests.shaded</groupId>
+    <artifactId>shaded-tests-parent</artifactId>
     <version>4.7.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
diff --git 
a/tests/bookkeeper-server-tests-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerTestsShadedJarTest.java
 
b/tests/shaded/bookkeeper-server-tests-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerTestsShadedJarTest.java
similarity index 100%
rename from 
tests/bookkeeper-server-tests-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerTestsShadedJarTest.java
rename to 
tests/shaded/bookkeeper-server-tests-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerTestsShadedJarTest.java
diff --git a/tests/bookkeeper-server-shaded-artifact-test/pom.xml 
b/tests/shaded/distributedlog-core-shaded-test/pom.xml
similarity index 68%
rename from tests/bookkeeper-server-shaded-artifact-test/pom.xml
rename to tests/shaded/distributedlog-core-shaded-test/pom.xml
index 73352af..5af667f 100644
--- a/tests/bookkeeper-server-shaded-artifact-test/pom.xml
+++ b/tests/shaded/distributedlog-core-shaded-test/pom.xml
@@ -19,33 +19,56 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>org.apache.bookkeeper.tests</groupId>
-    <artifactId>tests-parent</artifactId>
+    <groupId>org.apache.bookkeeper.tests.shaded</groupId>
+    <artifactId>shaded-tests-parent</artifactId>
     <version>4.7.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
-  <artifactId>bookkeeper-server-shaded-artifact-test</artifactId>
-  <name>Apache BookKeeper :: Tests :: bookkeeper-server shaded artifact 
test</name>
+  <artifactId>distributedlog-core-shaded-test</artifactId>
+  <name>Apache BookKeeper :: Tests :: distributedlog-core-shaded test</name>
   <dependencies>
     <dependency>
-      <groupId>org.apache.bookkeeper</groupId>
-      <artifactId>bookkeeper-server</artifactId>
+      <groupId>org.apache.distributedlog</groupId>
+      <artifactId>distributedlog-core-shaded</artifactId>
       <version>${project.version}</version>
-      <classifier>shaded</classifier>
       <scope>test</scope>
+      <!-- when running `mvn install` in the whole project,
+           it will still reference none dependency-reduced
+           pom file. so exclude these dependencies explicitly
+           to verify protobuf and guava classes have been relocated -->
       <exclusions>
         <exclusion>
           <groupId>org.apache.bookkeeper</groupId>
-          <artifactId>bookkeeper-common</artifactId>
+          <artifactId>bookkeeper-server</artifactId>
         </exclusion>
         <exclusion>
-          <groupId>org.apache.bookkeeper</groupId>
-          <artifactId>bookkeeper-proto</artifactId>
+          <groupId>org.apache.bookkeeper.http</groupId>
+          <artifactId>bookkeeper-http</artifactId>
         </exclusion>
         <exclusion>
           <groupId>org.apache.bookkeeper</groupId>
           <artifactId>circe-checksum</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>org.apache.distributedlog</groupId>
+          <artifactId>distributedlog-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.distributedlog</groupId>
+          <artifactId>distributedlog-common</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.distributedlog</groupId>
+          <artifactId>distributedlog-protocol</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.zookeeper</groupId>
+          <artifactId>zookeeper</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.thrift</groupId>
+          <artifactId>libthrift</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
   </dependencies>
diff --git 
a/tests/bookkeeper-server-shaded-artifact-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerShadedArtifactTest.java
 
b/tests/shaded/distributedlog-core-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/DistributedLogCoreShadedJarTest.java
similarity index 64%
rename from 
tests/bookkeeper-server-shaded-artifact-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerShadedArtifactTest.java
rename to 
tests/shaded/distributedlog-core-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/DistributedLogCoreShadedJarTest.java
index 80e2d0c..8bb48cd 100644
--- 
a/tests/bookkeeper-server-shaded-artifact-test/src/test/java/org/apache/bookkeeper/tests/shaded/BookKeeperServerShadedArtifactTest.java
+++ 
b/tests/shaded/distributedlog-core-shaded-test/src/test/java/org/apache/bookkeeper/tests/shaded/DistributedLogCoreShadedJarTest.java
@@ -23,9 +23,9 @@ import static org.junit.Assert.assertTrue;
 import org.junit.Test;
 
 /**
- * Test whether the shaded artifact of `bookkeeper-server` is generated 
correctly.
+ * Test whether the distributedlog-core-shaded jar is generated correctly.
  */
-public class BookKeeperServerShadedArtifactTest {
+public class DistributedLogCoreShadedJarTest {
 
     @Test(expected = ClassNotFoundException.class)
     public void testProtobufIsShaded() throws Exception {
@@ -34,7 +34,7 @@ public class BookKeeperServerShadedArtifactTest {
 
     @Test
     public void testProtobufShadedPath() throws Exception {
-        
Class.forName("org.apache.bookkeeper.shaded.com.google.protobuf.Message");
+        Class.forName("dlshade.com.google.protobuf.Message");
     }
 
     @Test(expected = ClassNotFoundException.class)
@@ -44,10 +44,20 @@ public class BookKeeperServerShadedArtifactTest {
 
     @Test
     public void testGuavaShadedPath() throws Exception {
-        
Class.forName("org.apache.bookkeeper.shaded.com.google.common.cache.Cache");
+        Class.forName("dlshade.com.google.common.cache.Cache");
         assertTrue(true);
     }
 
+    @Test(expected = ClassNotFoundException.class)
+    public void testZooKeeperIsShaded() throws Exception {
+        Class.forName("org.apache.zookeeper.ZooKeeper");
+    }
+
+    @Test
+    public void testZooKeeperShadedPath() throws Exception {
+        Class.forName("dlshade.org.apache.zookeeper.ZooKeeper");
+    }
+
     @Test
     public void testBookKeeperCommon() throws Exception {
         Class.forName("org.apache.bookkeeper.util.OrderedSafeExecutor");
@@ -65,4 +75,22 @@ public class BookKeeperServerShadedArtifactTest {
         Class.forName("com.scurrilous.circe.checksum.Crc32cIntChecksum");
         assertTrue(true);
     }
+
+    @Test
+    public void testDistributedLogCommon() throws Exception {
+        
Class.forName("org.apache.distributedlog.common.concurrent.AsyncSemaphore");
+        assertTrue(true);
+    }
+
+    @Test
+    public void testDistributedLogProto() throws Exception {
+        Class.forName("org.apache.distributedlog.DLSN");
+        assertTrue(true);
+    }
+
+    @Test
+    public void testDistributedLogCore() throws Exception {
+        Class.forName("org.apache.distributedlog.api.AsyncLogReader");
+        assertTrue(true);
+    }
 }
diff --git a/shaded/pom.xml b/tests/shaded/pom.xml
similarity index 72%
copy from shaded/pom.xml
copy to tests/shaded/pom.xml
index a1544eb..bb98554 100644
--- a/shaded/pom.xml
+++ b/tests/shaded/pom.xml
@@ -20,15 +20,17 @@
   <packaging>pom</packaging>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>org.apache.bookkeeper</groupId>
-    <artifactId>bookkeeper</artifactId>
+    <groupId>org.apache.bookkeeper.tests</groupId>
+    <artifactId>tests-parent</artifactId>
     <version>4.7.0-SNAPSHOT</version>
+    <relativePath>..</relativePath>
   </parent>
-  <groupId>org.apache.bookkeeper</groupId>
-  <artifactId>shaded-parent</artifactId>
-  <name>Apache BookKeeper :: Shaded :: Parent</name>
+  <groupId>org.apache.bookkeeper.tests.shaded</groupId>
+  <artifactId>shaded-tests-parent</artifactId>
+  <name>Apache BookKeeper :: Tests :: Test Shaded Jars</name>
   <modules>
-    <module>bookkeeper-server-shaded</module>
-    <module>bookkeeper-server-tests-shaded</module>
+    <module>bookkeeper-server-shaded-test</module>
+    <module>bookkeeper-server-tests-shaded-test</module>
+    <module>distributedlog-core-shaded-test</module>
   </modules>
 </project>

-- 
To stop receiving notification emails like this one, please contact
si...@apache.org.

Reply via email to