object ProxySetup
- Alphabetic
- By Inheritance
- ProxySetup
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
def
init(): Unit
Forces the initialization of environment variables, called in
Server
. -
def
updateProxySettings(environment: Map[String, String], logger: Logger): Unit
Update proxy settings per client environment variables.
Update proxy settings per client environment variables.
A bloop client can change its environment variables to modify the proxy settings globally in the bloop server. However, there is no mechanism to clean proxy settings. Users that want to do so must shut down the server and start it again. This policy is taken to avoid bad interactions with clients that run on different environments where proxy settings are not set (e.g. inside editors like emacs/vscode).
The update process affects all the current bloop clients. Unfortunately, there is no way to mitigate this behavior because ivy/coursier/etc do not expose interfaces to configure the proxy settings directly. If users define different proxy settings in different clients, bloop will have an undefined behavior. Note that users are entitled to have a mix of clients with no proxy settings and with the same proxy settings, in which case bloop will consistently use the proxy settings set by one of the configured clients.
Whenever remote compilation is added, the handling of environment variables must be disabled as it's unsafe (it's the only scenario where it's legit to have different proxy settings).
Ref https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html
- environment
The environment of the bloop client.
- logger
A logger where we give feedback to the user.
- object Proxy