[ 
https://issues.apache.org/jira/browse/RATIS-64?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-64:
-------------------------------------
    Component/s: build

> Do not pre-shade artifacts
> --------------------------
>
>                 Key: RATIS-64
>                 URL: https://issues.apache.org/jira/browse/RATIS-64
>             Project: Ratis
>          Issue Type: Bug
>          Components: build
>            Reporter: Enis Soztutar
>            Priority: Major
>
> Hugo and I were discussing a case were the shading should happen at the last 
> step, rather than what we do today. 
> I think there are 3 possible strategies of shading that one can do: 
>  (1) pre-shade some of your dependencies, so that your other dependencies can 
> work. This what we do today, we shade PB+ GRPC, etc so that Hadoop can work. 
>  (2) pre-shade some of your dependencies' transitive dependencies so that you 
> depend on already-shaded artifacts. This will be like having maven artifacts 
> of shaded-hadoop so that hadoop itself does not bring in any more dependency. 
> If hadoop has shaded artifacts, or we do shading of hadoop's dependencies in 
> another repository, we won't need to pre-shade PB, etc. 
>  (3) post-shade. This means that in the code itself we do not depend on 
> shaded packages anymore, but do the shading as a different module so that we 
> publish shaded artifacts. This allows the downstreamers to be able to consume 
> ratis, while allowing ratis source code to be saner. 
> Obviously for doing (3), we need to kick out ratis-hadoop module to the 
> hadoop project. Thinking about it, I think ratis-hadoop does not belong in 
> Ratis itself anyway. What do you guys think about moving the code over to 
> Hadoop, and getting rid of the hadoop dependency to end this shading madness? 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to