CASSANDRA-16391 has been committed to trunk. Migrate dependency handling from maven-ant-tasks to resolver-ant-tasks.
It addresses a number of issues, - dependencies are downloaded, using the resolver-ant-tasks plugin instead of the deprecated maven-ant-tasks plugin, - it will no longer attempt and fail to download dependencies through any insecure and unavailable http:// central repositories, - it makes our generated pom files the source of truth for our dependency tree, updating dependencies is now only about the edit to build.xml - it fixes a number of maven pom inaccuracies, from including dependencies, to fixing their scope, to excluding conflicts in the transitive tree. It also addresses the tribal knowledge of not including compiled binaries in source artefacts, unless their source are also bundled, or they are only used as a build tool or for tests, or god-knows-what-other-reason. Related to these issues is also CASSANDRA-16558, waiting on review. It has not been committed to the 2.2, 3.0, 3.11 branches. Mostly because of the urgency of getting this into trunk before another release is cut, but also to give everyone a post-commit chance to review and test it. This has all happened much faster than desired. But *be warned*, because it hasn't yet been committed to these past branches we have a temporary headache of having to do `ant realclean` before git switching from trunk to an older branch (otherwise git won't put back into place the versioned lib/ directory). This didn't come up during the testing of CASSANDRA-16391, mea culpa, though it will be fixed by committing CASSANDRA-16557. Another issue that has come up is compiling in IDE and Eclipse broke, ref CASSANDRA-16560, for the meantime build with `ant` on the command line. It would still be possible to keep lib/ in version control, without losing any of the other advantages gained by CASSANDRA-16391. But we are not clear where the policy regarding that will land, as it doesn't really provide our build any advantage. Now _everything_ is downloaded first to ~/.m2/repository/, so rebuilds don't need the internet (at least after CASSANDRA-16559 lands, which is patch ready). Re-introducing lib/ would IMHO just mean extra files to remove and commit when changing dependencies. regards, Mick