Proxy settings for downloading files from internet can be done in two ways
- Setting the proxy setting in gradle.properties file
- Using the system settings itself.
Below mentioned properties can be used to do proxy settings via gradle.properties file
systemProp.http.proxyHost=www.somehost.org systemProp.http.proxyPort=8080 systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost systemProp.https.proxyHost=www.somehost.org systemProp.https.proxyPort=8080 systemProp.https.proxyUser=userid systemProp.https.proxyPassword=password systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
You can used the system proxy by using the below code
task setHttpProxyFromEnv { def map = ['HTTP_PROXY': 'http', 'HTTPS_PROXY': 'https'] for (e in System.getenv()) { def key = e.key.toUpperCase() if (key in map) { def base = map[key] def url = e.value.toURL() println " - systemProp.${base}.proxy=${url.host}:${url.port}" System.setProperty("${base}.proxyHost", url.host.toString()) System.setProperty("${base}.proxyPort", url.port.toString()) System.setProperty("${base}.proxyUser", "Username") System.setProperty("${base}.proxyPassword", "Password") } } }
Run the above task using below command
build.dependsOn setHttpProxyFromEnv