mirror of https://github.com/sbt/sbt.git
37 lines
1.1 KiB
Scala
37 lines
1.1 KiB
Scala
|
|
/* sbt -- Simple Build Tool
|
||
|
|
* Copyright 2009 Mark Harrah
|
||
|
|
*/
|
||
|
|
package xsbt.boot
|
||
|
|
|
||
|
|
import java.net.{MalformedURLException, URL}
|
||
|
|
|
||
|
|
object CheckProxy
|
||
|
|
{
|
||
|
|
def apply()
|
||
|
|
{
|
||
|
|
import ProxyProperties._
|
||
|
|
val httpProxy = System.getenv(HttpProxyEnv)
|
||
|
|
if(isDefined(httpProxy) && !isPropertyDefined(ProxyHost) && !isPropertyDefined(ProxyPort))
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
val proxy = new URL(httpProxy)
|
||
|
|
setProperty(ProxyHost, proxy.getHost)
|
||
|
|
val port = proxy.getPort
|
||
|
|
if(port >= 0)
|
||
|
|
System.setProperty(ProxyPort, port.toString)
|
||
|
|
copyEnv(HttpProxyUser, ProxyUser)
|
||
|
|
copyEnv(HttpProxyPassword, ProxyPassword)
|
||
|
|
}
|
||
|
|
catch
|
||
|
|
{
|
||
|
|
case e: MalformedURLException =>
|
||
|
|
System.out.println("Warning: could not parse http_proxy setting: " + e.toString)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
private def copyEnv(envKey: String, sysKey: String) { setProperty(sysKey, System.getenv(envKey)) }
|
||
|
|
private def setProperty(key: String, value: String) { if(value != null) System.setProperty(key, value) }
|
||
|
|
private def isPropertyDefined(k: String) = isDefined(System.getProperty(k))
|
||
|
|
private def isDefined(s: String) = s != null && !s.isEmpty
|
||
|
|
}
|