Clone
Bo Zhang <bo@gradle.com>
committed
on 10 Oct 17
Add blacklister to repository management (#3047)
Fix https://github.com/gradle/gradle/issues/2853

Previous versions of Gradle would fall th… Show more
Add blacklister to repository management (#3047)

Fix https://github.com/gradle/gradle/issues/2853

Previous versions of Gradle would fall through to the next repository

if resolution in one repository failed. This may cause potentially

indeterministic resolution result. This PR changes this behaviour

and  will explicitly rethrow exceptions which occur in dependency

resolution instead of quietly continue to the next repository.

What's more, this PR introduces a RepositoryBlacklister. Exceptions

thrown during dependency resolution are categoried as follows:

1. Caused by HTTP error status code (other than 2xx/3xx/404)

 These exceptions would be considered as "recoverable" since

 the server seems still to be able to respond.

2. Caused by other IOException/UncheckedIOException

 These exceptions would be considered as "unrecoverable"

 and the repository would be blacklisted in the build. Show less

green-master + 370 more