sijie opened a new pull request #928: Changes to shading bookkeeper-server jar
URL: https://github.com/apache/bookkeeper/pull/928
 
 
   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:
[email protected]


With regards,
Apache Git Services

Reply via email to