pass install paths to notebooks (#8008)

* pass install paths to notebooks

* onComplete

* discover and publish actual installation Path

* pass the path to notebook

* minor fixes needed post merge of code from remote

* fix some errors

* remove unused variable
This commit is contained in:
Arvind Ranasaria
2019-10-25 12:06:55 -07:00
committed by Alan Ren
parent 3b1c9e910d
commit af9984f73b
15 changed files with 195 additions and 44 deletions

View File

@@ -2,6 +2,9 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ITool, NoteBookEnvironmentVariablePrefix } from './interfaces';
import * as path from 'path';
import { ToolsInstallPath } from './ui/deployClusterWizard/constants';
export function getErrorMessage(error: any): string {
return (error instanceof Error)
@@ -12,3 +15,18 @@ export function getErrorMessage(error: any): string {
export function getDateTimeString(): string {
return new Date().toISOString().slice(0, 19).replace(/[^0-9]/g, ''); // Take the date time information and only leaving the numbers
}
export function setEnvironmentVariablesForInstallPaths(tools: ITool[]): void {
let installationPaths: Set<string> = new Set<string>();
tools.forEach(t => {
// construct an env variable name with NoteBookEnvironmentVariablePrefix prefix
// and tool.name as suffix, making sure of using all uppercase characters and only _ as separator
const envVarName: string = `${NoteBookEnvironmentVariablePrefix}${t.name.toUpperCase().replace(/ |-/, '_')}`;
process.env[envVarName] = t.installationPath;
installationPaths.add(path.resolve(path.dirname(t.installationPath)));
console.log(`setting env var:'${envVarName}' to: '${t.installationPath}'`);
});
const envVarToolsInstallationPath: string = [...installationPaths.values()].join(path.delimiter);
process.env[ToolsInstallPath] = envVarToolsInstallationPath;
console.log(`setting env var:'${ToolsInstallPath}' to: '${envVarToolsInstallationPath}'`);
}