You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2017/12/30 05:36:03 UTC

[GitHub] jiazhai opened a new pull request #929: Issue 922: changes to shading bookkeeper-server jar for branch-4.6

jiazhai opened a new pull request #929: Issue 922: changes to shading bookkeeper-server jar for branch-4.6
URL: https://github.com/apache/bookkeeper/pull/929
 
 
   This is a cherry-pick for branch-4.6.
   
   Descriptions of the changes in this PR:
   **Problem:**
   
   `shadedArtifactAttached` was introduced in 4.6.0 to generate plain and shaded artifact for `bookkeeper-server`. Because for projects (e.g. distributedlog) that would use same protobuf and guava version as bookkeeper, they will use the plain artifact (to avoid shading protobuf/guava multiple times). However there are a few problems with that:
   
   1) bookkeeper-common is not included in the shading include set.
   2) `shadedArtifactAttached` only generate a shaded artifact (with relocated classes), but doesn't generate a dependency-reduced pom file. so you have to manually exclude relocated dependencies.
   
   **Solutions:**
   
   - for shaded artifact of `bookkeeper-server`, include all the bookkeeper submodules that bookkeeper-server depends on. so the shaded artifact includes all the classes that need to be relocated.
   - introduce a `shaded` module for keeping new shaded libraries. Currently `bookkeeper-server-shaded` is a shaded module of `bookkeeper-server`, while `bookkeeper-server-tests-shaded` is a shaded moulde of the tests jar of `bookkeeper-server`.
   - update the client api documentation about the instructions on how to use shaded artifact of `bookkeeper-server` and the new shaded module `bookkeeper-server-shaded`.
   - add test cases to verify the shaded artifact and the new shaded modules generate the right artifacts.
   
   **This change doesn't address:**
   
   Currently both client and server are bundled in one `bookkeeper-server`. this change will not introduce any shaded client-only jar. that would be deferred until we split `bookkeeper-server` module.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services