Cassandra resolves dependencies and generates maven pom files through the use of maven-ant-tasks. This is no longer a supported project.
The recommended upgrade is to resolver-ant-tasks. It follows similar APIs so shouldn't be too impactful a change.
The existing maven-ant-tasks has caused some headaches already with internal super poms referencing insecure http:// central maven repository URLs that are no longer supported.
We should also take the opportunity to
- define the "test" scope (classpath) for those dependencies only used for tests (currently we are packaging test dependencies into the release binary artefact),
- remove the jar files stored in the git repo under the "lib/" folder.
These two above points have to happen in tandem, as the jar files under lib/ are those that get bundled into the build/dist/lib/ and hence the binary artefact. That is, all jar files under lib/ are the project's "compile" scope, and all other dependencies defined in build.xml are either "provided" or "test" scope. These different scopes for dependencies are currently configured in different maven-ant-tasks poms. See https://github.com/apache/cassandra/commit/d43b9ce5092f8879a1a66afebab74d86e9e127fb#r45659668