ext/vscode/src/commands/provision.ts (19 lines of code) (raw):

// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. import * as vscode from 'vscode'; import { IActionContext } from '@microsoft/vscode-azext-utils'; import { executeAsTask } from '../utils/executeAsTask'; import { getAzDevTerminalTitle, getWorkingFolder } from './cmdUtil'; import { createAzureDevCli } from '../utils/azureDevCli'; import { TelemetryId } from '../telemetry/telemetryId'; import { isTreeViewModel, TreeViewModel } from '../utils/isTreeViewModel'; import { AzureDevCliApplication } from '../views/workspace/AzureDevCliApplication'; export async function provision(context: IActionContext, selectedItem?: vscode.Uri | TreeViewModel): Promise<void> { const selectedFile = isTreeViewModel(selectedItem) ? selectedItem.unwrap<AzureDevCliApplication>().context.configurationFile : selectedItem; const workingFolder = await getWorkingFolder(context, selectedFile); const azureCli = await createAzureDevCli(context); const command = azureCli.commandBuilder.withArg('provision').build(); // Don't wait void executeAsTask(command, getAzDevTerminalTitle(), { alwaysRunNew: true, cwd: workingFolder, env: azureCli.env }, TelemetryId.ProvisionCli); }