[ https://issues.apache.org/jira/browse/SQOOP-3322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Voros updated SQOOP-3322: -------------------------------- Description: 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 to use the latest versions. To achieve this we should exclude these artifacts from the transitive dependencies and define them explicitly. was: 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. Thanks for commenting [~vasas], I agree! I've updated the description. > 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 > Priority: Minor > > 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 to use > the latest versions. > 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)