GitHub user kennknowles opened a pull request:
https://github.com/apache/incubator-beam/pull/665
Shade everything but a whitelist in core Java SDK
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:
- [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
---
Some of our dependencies are part of our API surface and thus must be
public and retain their original names; they are channels of interchange
between the SDK and its users/peer libraries. All of the rest are
implementation details and it should be essentially unobservable that they are
in use.
Previously, we selected a few of the most problematic private dependencies
to shade, which got the job done. This PR changes the paradigm to defaulting to
shading all dependencies unless we explicitly declare that they are part of the
public API surface.
Due to the design of jars/maven/shading, the whitelisted artifacts that are
listed twice, and namespace exclusions are separate, too (the improvement here
might be if shade plugin scraped the jars, which would in turn be easier if
split packages weren't a thing).
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/kennknowles/incubator-beam shade-SDK
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-beam/pull/665.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #665
----
commit e430bef9e458cf62794407c0c8bfdec7ee7a9fb8
Author: Kenneth Knowles <[email protected]>
Date: 2016-03-07T21:57:26Z
Shade more in the SDK; everything except a whitelist
commit 2ee1861dba0071cd534105a0ee0bb8f2288765da
Author: Kenneth Knowles <[email protected]>
Date: 2016-04-19T17:58:28Z
Remove unused Jackson dependency
commit 4bd991c713e84ee3ffe114266329a920cbb483d5
Author: Kenneth Knowles <[email protected]>
Date: 2016-04-19T21:30:38Z
Whitelist snappy from shading due to native reflection
commit d3c1ffd34fdcb9875df92912b491d4f677f2271f
Author: Kenneth Knowles <[email protected]>
Date: 2016-07-15T17:11:13Z
Remove references to removed dependencies
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---