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

ASF GitHub Bot commented on FLINK-3459:
---------------------------------------

GitHub user tillrohrmann opened a pull request:

    https://github.com/apache/flink/pull/1682

    [FLINK-3459] [build] Fix conflicting dependencies commons-collections 
commons-beanutils and commons-beanutils-core

    The Hadoop dependencies have a dependency on commons-configuration which 
pulls in transitively the commons-collection, commons-beanutils and 
common-beanutils-core depedencies. Commons-beanutils and commons-collection 
contain classes which live in the same namespace. They are also binary 
compatible but not binary identical. This is a problem for the sbt assembly 
plugin which checks for binary identity. In order to solve the problem, we bump 
the commons-configuration version to 1.7 so that only commons-beanutils is 
pulled in. This is necessary, because the transitive promotion of dependencies 
of the shade plugin only excludes the commons-beanutils dependency only from 
the directly depending dependency. All parent dependencies won't have the 
exclusion. This is a problem for SBT which will pull the dependency as part of 
one of the parents, then. Moreover, we replace commons-beanutils by 
commons-beanutils-bean-collections which contains only the non-conflicting 
classes wrt commons-collections.

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

    $ git pull https://github.com/tillrohrmann/flink makeSbtCompatible

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

    https://github.com/apache/flink/pull/1682.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 #1682
    
----
commit 872a5cc8b40142feb6313549e1ed2b2029ce4d68
Author: Till Rohrmann <trohrm...@apache.org>
Date:   2016-02-17T14:41:43Z

    [FLINK-3459] [build] Fix conflicting dependencies commons-collections, 
commons-beanutils and commons-beanutils-core
    
    The Hadoop dependencies have a dependency on commons-configuration which 
pulls in transitively the commons-collection, commons-beanutils and 
common-beanutils-core depedencies. Commons-beanutils and commons-collection 
contain classes which live in the same namespace. They are also binary 
compatible but not binary identical. This is a problem for the sbt assembly 
plugin which checks for binary identity. In order to solve the problem, we bump 
the commons-configuration version to 1.7 so that only commons-beanutils is 
pulled in. This is necessary, because the transitive promotion of dependencies 
of the shade plugin only excludes the commons-beanutils dependency only from 
the directly depending dependency. All parent dependencies won't have the 
exclusion. This is a problem for SBT which will pull the dependency as part of 
one of the parents, then. Moreover, we replace commons-beanutils by 
commons-beanutils-bean-collections which contains only the non-conflicting 
classes wrt commons-collections.

----


> Make build SBT compatible
> -------------------------
>
>                 Key: FLINK-3459
>                 URL: https://issues.apache.org/jira/browse/FLINK-3459
>             Project: Flink
>          Issue Type: Improvement
>    Affects Versions: 1.0.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Minor
>             Fix For: 1.0.0
>
>
> The current flink-shaded-hadoop2 dependency is not SBT compatible because it 
> contains {{commons-collection:3.2.1}}, {{commons-beanutils:1.7}} and 
> {{commons-beanutils-core:1.8}} dependencies. These dependencies contain 
> overlapping classes which are binary compatible but not binary identical. 
> This is a problem for the SBT assembly plugin which requires binary identity 
> for merging them. Otherwise, the build is aborted. I propose to exclude the 
> conflicting dependencies and use instead the 
> {{commons-beanutils-bean-collection}} class which contains only then 
> non-conflicting classes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to