From ead1e8a5796238971798e805a04eabf76f687272 Mon Sep 17 00:00:00 2001 From: Andreea Isac Date: Fri, 8 Nov 2019 11:06:31 -0800 Subject: [PATCH 1/3] getVSInstallForKit should be a no-op on other systems than windows --- src/kit.ts | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/kit.ts b/src/kit.ts index f898cd45a..c07aef841 100644 --- a/src/kit.ts +++ b/src/kit.ts @@ -724,22 +724,25 @@ export async function scanForClangCLKits(searchPaths: string[]): Promise { - console.assert(kit.visualStudio); - console.assert(kit.visualStudioArchitecture); - const installs = await vsInstallations(); - const match = (inst: VSInstallation) => - // old Kit format - (legacyKitVSName(inst) == kit.visualStudio) || - // new Kit format - (kitVSName(inst) === kit.visualStudio) || - // Clang for VS kit format - (!!kit.compilers && kit.name.indexOf("Clang") >= 0 && kit.name.indexOf(vsDisplayName(inst)) >= 0); - - return installs.find(inst => match(inst)); +async function getVSInstallForKit(kit: Kit): Promise { + if (process.platform === "win32") { + console.assert(kit.visualStudio); + console.assert(kit.visualStudioArchitecture); + + const installs = await vsInstallations(); + const match = (inst: VSInstallation) => + // old Kit format + (legacyKitVSName(inst) == kit.visualStudio) || + // new Kit format + (kitVSName(inst) === kit.visualStudio) || + // Clang for VS kit format + (!!kit.compilers && kit.name.indexOf("Clang") >= 0 && kit.name.indexOf(vsDisplayName(inst)) >= 0); + + return installs.find(inst => match(inst)); + } } -export async function getVSKitEnvironment(kit: Kit): Promise|null> { +export async function getVSKitEnvironment(kit: Kit): Promise | null> { const requested = await getVSInstallForKit(kit); if (!requested) { return null; From 5ff4bfb61956ab37e65dbedf5df871b7bb445bbc Mon Sep 17 00:00:00 2001 From: Andreea Isac Date: Fri, 8 Nov 2019 11:25:57 -0800 Subject: [PATCH 2/3] Undo unintended formatting from previous commit --- src/kit.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/kit.ts b/src/kit.ts index c07aef841..a150d471f 100644 --- a/src/kit.ts +++ b/src/kit.ts @@ -724,11 +724,10 @@ export async function scanForClangCLKits(searchPaths: string[]): Promise { +async function getVSInstallForKit(kit: Kit): Promise { if (process.platform === "win32") { console.assert(kit.visualStudio); console.assert(kit.visualStudioArchitecture); - const installs = await vsInstallations(); const match = (inst: VSInstallation) => // old Kit format @@ -742,7 +741,7 @@ async function getVSInstallForKit(kit: Kit): Promise } } -export async function getVSKitEnvironment(kit: Kit): Promise | null> { +export async function getVSKitEnvironment(kit: Kit): Promise|null> { const requested = await getVSInstallForKit(kit); if (!requested) { return null; From 83cd5cb131c8770c7dba314b538b2bf7e1426436 Mon Sep 17 00:00:00 2001 From: Andreea Isac Date: Mon, 11 Nov 2019 08:20:04 -0800 Subject: [PATCH 3/3] Return undefined explicitly when OS is not windows --- src/kit.ts | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/kit.ts b/src/kit.ts index a150d471f..c6162c05b 100644 --- a/src/kit.ts +++ b/src/kit.ts @@ -725,20 +725,23 @@ export async function scanForClangCLKits(searchPaths: string[]): Promise { - if (process.platform === "win32") { - console.assert(kit.visualStudio); - console.assert(kit.visualStudioArchitecture); - const installs = await vsInstallations(); - const match = (inst: VSInstallation) => - // old Kit format - (legacyKitVSName(inst) == kit.visualStudio) || - // new Kit format - (kitVSName(inst) === kit.visualStudio) || - // Clang for VS kit format - (!!kit.compilers && kit.name.indexOf("Clang") >= 0 && kit.name.indexOf(vsDisplayName(inst)) >= 0); - - return installs.find(inst => match(inst)); + if (process.platform !== "win32") { + return undefined; } + + console.assert(kit.visualStudio); + console.assert(kit.visualStudioArchitecture); + + const installs = await vsInstallations(); + const match = (inst: VSInstallation) => + // old Kit format + (legacyKitVSName(inst) == kit.visualStudio) || + // new Kit format + (kitVSName(inst) === kit.visualStudio) || + // Clang for VS kit format + (!!kit.compilers && kit.name.indexOf("Clang") >= 0 && kit.name.indexOf(vsDisplayName(inst)) >= 0); + + return installs.find(inst => match(inst)); } export async function getVSKitEnvironment(kit: Kit): Promise|null> {