Behavioural change in Gradle 4.3

Gradle 4.3 introduced the following breaking change.

Avoid checking other repositories when dependency resolution in one repository fails

Previous versions of Gradle would fall through to the next repository if resolution in one repository failed. This behaviour might cause potentially nondeterministic resolution result. Now Gradle will explicitly rethrow exceptions which occur in dependency resolution instead of quietly continue to the next repository.

It is all well intended, but it is breakin builds which dependent on that behaviour. For instance JRuby-Gradle fails over between two repositories. Now with the change, if the first one in the list is down, then build fails.

When introducing such behaviour it would actually be good if there was some switch to turn the old behaviour back on (with a potential warning message being logged).

Hi Schalk,

We reverted most of the behavior for 4.3.1 which is soon to be released. We’ll only keep this behavior for timeouts for now.

Cheers,

Ben

Could you give https://downloads.gradle.org/distributions-snapshots/gradle-4.3.1-20171107130851+0000-bin.zip a swirl and see if that snapshot version works for you?

@bmuschko I can confirm that the problem goes away with the 4.3.1 nightly build.

1 Like