Investigating a recent CI failure with @bclozel has revealed that our Ant smoke test isn't as robust as it could be and its behavior can be altered by previous runs. We've seen two problems:
- The contents of Ivy's cache from previous runs can affect dependency resolution and cause it to resolve different versions
- Ant doesn't overwrite the jar as expected, potentially leading to a jar containing different versions of the same dependency if the version has changed since a previous run
To address these problems the smoke test should:
- Configure Ivy's cache to an isolated location and clean it before each build
- Delete any existing jar before creating the new one