From 420c749ca8454eaceeefcd35e38613299c67bc3b Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 26 Nov 2021 10:28:44 +0100 Subject: [PATCH] Rename resolveShellEnv to getResolvedShellEnv (fix #137923) --- src/vs/code/electron-main/app.ts | 4 ++-- src/vs/platform/environment/node/shellEnv.ts | 7 +++---- src/vs/platform/request/node/requestService.ts | 4 ++-- src/vs/platform/terminal/node/ptyHostService.ts | 4 ++-- src/vs/server/extensionHostConnection.ts | 4 ++-- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index 4baf8158a59..19c575b0f27 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -41,7 +41,7 @@ import { EncryptionMainService, IEncryptionMainService } from 'vs/platform/encry import { NativeParsedArgs } from 'vs/platform/environment/common/argv'; import { IEnvironmentMainService } from 'vs/platform/environment/electron-main/environmentMainService'; import { isLaunchedFromCli } from 'vs/platform/environment/node/argvHelper'; -import { resolveShellEnv } from 'vs/platform/environment/node/shellEnv'; +import { getResolvedShellEnv } from 'vs/platform/environment/node/shellEnv'; import { IExtensionUrlTrustService } from 'vs/platform/extensionManagement/common/extensionUrlTrust'; import { ExtensionUrlTrustService } from 'vs/platform/extensionManagement/node/extensionUrlTrustService'; import { IExtensionHostStarter, ipcExtensionHostStarterChannelName } from 'vs/platform/extensions/common/extensionHostStarter'; @@ -1033,7 +1033,7 @@ export class CodeApplication extends Disposable { private async resolveShellEnvironment(args: NativeParsedArgs, env: IProcessEnvironment, notifyOnError: boolean): Promise { try { - return await resolveShellEnv(this.logService, args, env); + return await getResolvedShellEnv(this.logService, args, env); } catch (error) { const errorMessage = toErrorMessage(error); if (notifyOnError) { diff --git a/src/vs/platform/environment/node/shellEnv.ts b/src/vs/platform/environment/node/shellEnv.ts index a80d1f69863..28e755f2252 100644 --- a/src/vs/platform/environment/node/shellEnv.ts +++ b/src/vs/platform/environment/node/shellEnv.ts @@ -27,15 +27,14 @@ const MAX_SHELL_RESOLVE_TIME = 10000; let unixShellEnvPromise: Promise | undefined = undefined; /** - * We need to get the environment from a user's shell. - * This should only be done when Code itself is not launched - * from within a shell. + * Resolves the shell environment by spawning a shell. This call will cache + * the shell spawning so that subsequent invocations use that cached result. * * Will throw an error if: * - we hit a timeout of `MAX_SHELL_RESOLVE_TIME` * - any other error from spawning a shell to figure out the environment */ -export async function resolveShellEnv(logService: ILogService, args: NativeParsedArgs, env: IProcessEnvironment): Promise { +export async function getResolvedShellEnv(logService: ILogService, args: NativeParsedArgs, env: IProcessEnvironment): Promise { // Skip if --force-disable-user-env if (args['force-disable-user-env']) { diff --git a/src/vs/platform/request/node/requestService.ts b/src/vs/platform/request/node/requestService.ts index 966857d8b63..3be2146c334 100644 --- a/src/vs/platform/request/node/requestService.ts +++ b/src/vs/platform/request/node/requestService.ts @@ -16,7 +16,7 @@ import { isBoolean, isNumber } from 'vs/base/common/types'; import { IRequestContext, IRequestOptions } from 'vs/base/parts/request/common/request'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { INativeEnvironmentService } from 'vs/platform/environment/common/environment'; -import { resolveShellEnv } from 'vs/platform/environment/node/shellEnv'; +import { getResolvedShellEnv } from 'vs/platform/environment/node/shellEnv'; import { ILogService } from 'vs/platform/log/common/log'; import { IHTTPConfiguration, IRequestService } from 'vs/platform/request/common/request'; import { Agent, getProxyAgent } from 'vs/platform/request/node/proxy'; @@ -67,7 +67,7 @@ export class RequestService extends Disposable implements IRequestService { let shellEnv: typeof process.env | undefined = undefined; try { - shellEnv = await resolveShellEnv(this.logService, this.environmentService.args, process.env); + shellEnv = await getResolvedShellEnv(this.logService, this.environmentService.args, process.env); } catch (error) { this.logService.error('RequestService#request resolving shell environment failed', error); } diff --git a/src/vs/platform/terminal/node/ptyHostService.ts b/src/vs/platform/terminal/node/ptyHostService.ts index 5719fa039c4..288462f847c 100644 --- a/src/vs/platform/terminal/node/ptyHostService.ts +++ b/src/vs/platform/terminal/node/ptyHostService.ts @@ -12,7 +12,7 @@ import { Client, IIPCOptions } from 'vs/base/parts/ipc/node/ipc.cp'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IEnvironmentService, INativeEnvironmentService } from 'vs/platform/environment/common/environment'; import { parsePtyHostPort } from 'vs/platform/environment/common/environmentService'; -import { resolveShellEnv } from 'vs/platform/environment/node/shellEnv'; +import { getResolvedShellEnv } from 'vs/platform/environment/node/shellEnv'; import { ILogService } from 'vs/platform/log/common/log'; import { LogLevelChannelClient } from 'vs/platform/log/common/logIpc'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; @@ -124,7 +124,7 @@ export class PtyHostService extends Disposable implements IPtyService { } try { - return await resolveShellEnv(this._logService, { _: [] }, process.env); + return await getResolvedShellEnv(this._logService, { _: [] }, process.env); } catch (error) { this._logService.error('ptyHost was unable to resolve shell environment', error); diff --git a/src/vs/server/extensionHostConnection.ts b/src/vs/server/extensionHostConnection.ts index 261aa659097..537fb66b7fb 100644 --- a/src/vs/server/extensionHostConnection.ts +++ b/src/vs/server/extensionHostConnection.ts @@ -13,7 +13,7 @@ import { VSBuffer } from 'vs/base/common/buffer'; import { IRemoteConsoleLog } from 'vs/base/common/console'; import { Emitter, Event } from 'vs/base/common/event'; import { NodeSocket, WebSocketNodeSocket } from 'vs/base/parts/ipc/node/ipc.net'; -import { resolveShellEnv } from 'vs/platform/environment/node/shellEnv'; +import { getResolvedShellEnv } from 'vs/platform/environment/node/shellEnv'; import { ILogService } from 'vs/platform/log/common/log'; import { IRemoteExtensionHostStartParams } from 'vs/platform/remote/common/remoteAgentConnection'; import { IExtHostReadyMessage, IExtHostSocketMessage, IExtHostReduceGraceTimeMessage } from 'vs/workbench/services/extensions/common/extensionHostProtocol'; @@ -27,7 +27,7 @@ export async function buildUserEnvironment(startParamsEnv: { [key: string]: stri let userShellEnv: typeof process.env | undefined = undefined; try { - userShellEnv = await resolveShellEnv(logService, environmentService.args, process.env); + userShellEnv = await getResolvedShellEnv(logService, environmentService.args, process.env); } catch (error) { logService.error('ExtensionHostConnection#buildUserEnvironment resolving shell environment failed', error); userShellEnv = {};