Currently if promote fails, we need to do the sync-to-central and release notes generation manually. We should see if we can remove that dependency so that the sync to central can be done even if promote fails on something like a distribution timeout or the gradle plugin publish.

Comment From: philwebb

We might be able to check for files in https://dl.bintray.com/spring/jars/

Comment From: mbhave

Promote does three things:

  1. Promotes artifacts to libs-*-local to libs-*.
  2. Publishes (distributes) them to Bintray
  3. Adds the gradle plugin attribute for it to appear on the gradle portal.

If promote fails and the job is run again, 1 and 3 won't cause any problems. 2. might lead to some inconsistencies. We could skip running 2. again if distribution is in progress. We can use something similar to the isDistributionComplete check to see if it is in progress. If it is in progress, we could wait till distribution is complete to publish the gradle plugin. Even if that times out, we should be able to re-run the promote job.

Comment From: philwebb

Fixed on 2.3.x during a release then backported to 2.1.x