Skip to content

Instantly share code, notes, and snippets.

@will-quast
Created February 6, 2018 19:51
Show Gist options
  • Save will-quast/67bec95c4bb74acd3a0b46faf3a2a893 to your computer and use it in GitHub Desktop.
Save will-quast/67bec95c4bb74acd3a0b46faf3a2a893 to your computer and use it in GitHub Desktop.
Ensure a private artifact repository is reachable to prevent Gradle from hanging during resolution.
project.gradle.addListener([
beforeResolve: {ResolvableDependencies resolvableDependencies ->
resolvableDependencies.dependencies.forEach {dependency ->
if (dependency.group == 'io.uacf.android' && !ext.has('checkedUacfRepositoryIsReachable')) {
URL url = new URL('https://artifactory.uacf.io/mobile-libraries')
HttpURLConnection conn = url.openConnection()
conn.setConnectTimeout(5 * 1000)
conn.setRequestMethod("HEAD")
try {
conn.connect()
conn.getResponseCode()
ext.set('checkedUacfRepositoryIsReachable', true)
println "Connection to UACF artifact repository has been checked."
} catch (IOException e) {
throw new GradleException("Unable to connect to the UACF artifact repository. Ensure you have a UACF VPN established or enable offline mode in settings.", e)
} finally {
conn.disconnect()
}
}
} },
afterResolve: {resolvableDependencies -> }
] as DependencyResolutionListener)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment