Pass server extraEnv to isValidExecutable
This commit is contained in:
parent
1b678231d7
commit
33f9250d21
@ -20,7 +20,7 @@ export async function bootstrap(
|
|||||||
|
|
||||||
log.info("Using server binary at", path);
|
log.info("Using server binary at", path);
|
||||||
|
|
||||||
if (!isValidExecutable(path)) {
|
if (!isValidExecutable(path, config.serverExtraEnv)) {
|
||||||
if (config.serverPath) {
|
if (config.serverPath) {
|
||||||
throw new Error(`Failed to execute ${path} --version. \`config.server.path\` or \`config.serverPath\` has been set explicitly.\
|
throw new Error(`Failed to execute ${path} --version. \`config.server.path\` or \`config.serverPath\` has been set explicitly.\
|
||||||
Consider removing this config or making a valid server binary available at that path.`);
|
Consider removing this config or making a valid server binary available at that path.`);
|
||||||
|
@ -2,6 +2,7 @@ import * as vscode from "vscode";
|
|||||||
import { strict as nativeAssert } from "assert";
|
import { strict as nativeAssert } from "assert";
|
||||||
import { exec, type ExecOptions, spawnSync } from "child_process";
|
import { exec, type ExecOptions, spawnSync } from "child_process";
|
||||||
import { inspect } from "util";
|
import { inspect } from "util";
|
||||||
|
import { Env } from "./client";
|
||||||
|
|
||||||
export function assert(condition: boolean, explanation: string): asserts condition {
|
export function assert(condition: boolean, explanation: string): asserts condition {
|
||||||
try {
|
try {
|
||||||
@ -93,10 +94,13 @@ export function isDocumentInWorkspace(document: RustDocument): boolean {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isValidExecutable(path: string): boolean {
|
export function isValidExecutable(path: string, extraEnv: Env): boolean {
|
||||||
log.debug("Checking availability of a binary at", path);
|
log.debug("Checking availability of a binary at", path);
|
||||||
|
|
||||||
const res = spawnSync(path, ["--version"], { encoding: "utf8" });
|
const res = spawnSync(path, ["--version"], {
|
||||||
|
encoding: "utf8",
|
||||||
|
env: { ...process.env, ...extraEnv },
|
||||||
|
});
|
||||||
|
|
||||||
const printOutput = res.error ? log.warn : log.info;
|
const printOutput = res.error ? log.warn : log.info;
|
||||||
printOutput(path, "--version:", res);
|
printOutput(path, "--version:", res);
|
||||||
|
Loading…
Reference in New Issue
Block a user