On Thu, Apr 13, 2017 at 4:46 PM, Josh Elser <els...@apache.org> wrote:

> ...
>
> I think pushing this part forward with some code is the next logical step.
> Seems to be consensus about taking our known internal dependencies and
> performing this shade magic.
>
>
I opened HBASE-18240 "Add hbase-auxillary, a project with hbase utility
including an hbase-shaded-thirdparty module with guava, netty, etc."

It has a tarball attached that bundles the outline of an hbase-auxillary
project (groupId:org.apache.hbase.auxillary). This project is intended to
be standalone, in its own repository, publishing its own artifacts under
the aegis of this project's PMC.

It includes the first instance of an auxillary utility, a module named
hbase-thirdparty-shaded (artifactId:hbase-thirdparty-shaded). Herein we'll
pull down 3rd party libs and republish at an offset; e.g.
com.google.common.* from guava will be at
org.apache.hbase.thirdparty.shaded.com.google.common.*. Currently it builds
a jar that includes a relocated guava 22.0.

I then messed around making hbase-common use it (You have to build the
hbase-auxillary into your local repo). I put up a patch on the issue.
Mostly its mass find-and-replace w/ some clean up of transitive includes of
guava from hadoop-common and some small fixup of methods renamed between
guava 12.0 and 22.0.

Unless objection, I was going to press on. Sean offered to help set up new
repo. We can always undo and delete it if this project fails.

When done, the hope is we are on a modern version of guava and our netty
and protobuf 3 will be be relocated, 'hidden' from downstream (and won't
clash w/ upstream). I hope to also purge the pre-build we have in our
modules that do protobuf moving this hackery out and under
hbase-thirdparty-shaded.

St.Ack




> Don't want to stomp on your worries, Nick. I think your worries are more
> about the presentation to downstream and we're in agreement about isolating
> our internal deps with the described approach?
>
>
> Thanks,
>> St.Ack
>>
>>
>>
>> We (The HBase PMC) will have to make releases of this new artifact and
>>> vote
>>>
>>>> on them. I think it will be a relatively rare event.
>>>>
>>>> I'd be up for doing the first cut if folks are game.
>>>>
>>>> St.Ack
>>>>
>>>>
>>>> 1. URL via Sean but for committers to view only:
>>>> https://reporeq.apache.org/
>>>>
>>>>
>>>> [2] https://maven.apache.org/plugins/maven-shade-plugin/shade-
>>> mojo.html#createSourcesJar
>>> [3] https://maven.apache.org/plugins/maven-shade-plugin/shade-
>>> mojo.html#shadeSourcesContent
>>>
>>>
>>

Reply via email to