This commit reworks the CI pipeline to remove the use of Bintray for
publishing to Maven Central. In its place it adds a new
publishToCentral command to the release scripts. This command can be
used to publish a directory tree of artifacts to the Maven Central
gateway hosted by Sonatype.
Publishing consists of 4 steps:
1. Create the staging repository
2. Deploy artifacts to the repository
3. Close the repository
4. Release the repository
The command requires 3 arguments:
1. The type of release being performed
2. Location of a build info JSON file that describes the release
that is to be deployed
3. Root of a directory structure, in Maven repository layout, that
contains the artifacts to be deployed
Closes gh-25107
Update CI scripts so that command failures do not cause an immediate
exit. Prior to this commit, some of our looping logic would never run
because the entire script would exit.
Increase the timeout used when checking if artifacts have landed in
Bintray from 20m to 40m. Also added some additional protection against
the curl command failing.
Closes gh-16443
Due to timeouts while distributing release artifacts,
this commit uses the async mode for distribution.
Before syncing to maven central, we need to check if all the artifacts
have been published to Bintray. This is done by hitting the Bintray API
till we get the version or until a timeout is reached.
Closes gh-12292