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.
Attachments
Issue Links
- links to