[ 
https://issues.apache.org/jira/browse/BEAM-1092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15882607#comment-15882607
 ] 

ASF GitHub Bot commented on BEAM-1092:
--------------------------------------

GitHub user aviemzur opened a pull request:

    https://github.com/apache/beam/pull/2096

    [BEAM-1092] Shade commonly used libraries (e.g. Guava) to avoid class 
conflicts

    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
           Travis-CI on your fork and ensure the whole test matrix passes).
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License 
Agreement](https://www.apache.org/licenses/icla.txt).
    
    ---


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/aviemzur/beam shade-guava-generically

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/beam/pull/2096.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 #2096
    
----
commit ff322937ffddcf3f3b2333534327ff2d11a164ab
Author: Aviem Zur <[email protected]>
Date:   2017-02-24T12:42:27Z

    [BEAM-1092] Shade commonly used libraries (e.g. Guava) to avoid class 
conflicts

----


> Shade commonly used libraries (e.g. Guava) to avoid class conflicts
> -------------------------------------------------------------------
>
>                 Key: BEAM-1092
>                 URL: https://issues.apache.org/jira/browse/BEAM-1092
>             Project: Beam
>          Issue Type: Bug
>          Components: examples-java, sdk-java-extensions
>    Affects Versions: 0.3.0-incubating
>            Reporter: Maximilian Michels
>            Assignee: Frances Perry
>
> Beam shades away some of its dependencies like Guava to avoid user classes 
> from clashing with these dependencies. Some of the artifacts, e.g. KafkaIO, 
> do not shade any classes and directly depend on potentially conflicting 
> libraries (e.g. Guava). Also, users might manually add such libraries as 
> dependencies.
> Runners who add classes to the classpath (e.g. Hadoop) can run into conflict 
> with multiple versions of the same class. To prevent that, we should adjust 
> the Maven archetypes pom files used for the Quickstart to perform shading of 
> commonly used libraries (again, Guava is often the culprit).
> To prevent the problem in the first place, we should expand the shading of 
> Guava and other libraries to all modules which make use of these. 
> To solve both dimensions of the issue, we need to address:
> 1. Adding shading of commonly used libraries to the archetypes poms
> 2. Properly shade all commonly used libraries in the SDK modules
> 2) seems to be of highest priority since it affects users who simply use the 
> provided IO modules.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to