2009-08-21 14:12:43 +02:00
|
|
|
/* sbt -- Simple Build Tool
|
|
|
|
|
* Copyright 2009 Mark Harrah
|
|
|
|
|
*/
|
|
|
|
|
package xsbt.boot
|
|
|
|
|
|
2009-10-18 04:40:02 +02:00
|
|
|
import Pre._
|
2009-08-21 14:12:43 +02:00
|
|
|
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))
|
2009-10-18 04:40:02 +02:00
|
|
|
private def isDefined(s: String) = s != null && isNonEmpty(s)
|
2009-08-21 14:12:43 +02:00
|
|
|
}
|