Daniel Voros created SQOOP-3322:
-----------------------------------

             Summary: Version differences between ivy configurations
                 Key: SQOOP-3322
                 URL: https://issues.apache.org/jira/browse/SQOOP-3322
             Project: Sqoop
          Issue Type: Bug
          Components: build
    Affects Versions: 1.4.7
            Reporter: Daniel Voros
            Assignee: Daniel Voros


We have multiple ivy configurations defined in ivy.xml.
 - The {{redist}} configuration is used to select the artifacts that need to be 
distributed with Sqoop in its tar.gz.
 - The {{common}} configuration is used to set the classpath during compilation 
(also refered to as 'hadoop classpath')
 -  The {{test}} configuration is used to set the classpath during junit 
execution. It extends the {{common}} config.

Some artifacts end up having different versions between these three 
configurations, which means we're using different versions during 
compilation/testing/runtime.

Differences:
||Artifact||redist||common (compilation)||test||
|commons-pool|not in redist|1.5.4|*1.6*|
|commons-codec|*1.4*|1.9|1.9|
|commons-io|*1.4*|2.4|2.4|
|commons-logging|*1.1.1*|1.2|1.2|
|slf4j-api|*1.6.1*|1.7.7|1.7.7|

I'd suggest using the version *in bold* in all three configurations, based on:
 - keep version from redist (where there is one), since that's the version we 
were shipping with and used in production
 - keep the latest version in case of commons-pool that is not part of the 
redist config

To achieve this we should exclude these artifacts from the transitive 
dependencies and define them explicitly.



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

Reply via email to