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