mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-18 01:25:37 -05:00
* Added back Don't Ask Again logic * If no Azure CLI found, throw error instead of returning undefined. * Deleted 'restart ADS' text for arcdata extension prompts * Added error catch for parse version and parsed out the * in az --version * Added back findAz() * Added arcdata version to AzTool. Parse --version using regex. * Return undefined if no az found. * Added userRequested param for findAz * No longer await on extension activate. Re-added some functions for az install. * Install works for windows * Changed auto install for az on Linux and MacOS. * Added comment for findSpecificAzAndArc and uncommented some localizedConstants * Added comment for getSemVersionArc and took out the path for some tests. * Made findSpecificAzAndArc return an object instead of a list * Removed azToolService test * Removed azToolService tests and renamed suite to azcli Extension Tests * Got rid of new Regexp for regex in parseVersions * Added back azToolService.ts * Added logic to enable prompt user to install arcdata extension and auto-install capability. No update capability yet. Co-authored-by: Candice Ye <canye@microsoft.com>
39 lines
1.6 KiB
TypeScript
39 lines
1.6 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as azExt from 'az-ext';
|
|
import * as rd from 'resource-deployment';
|
|
import * as vscode from 'vscode';
|
|
import { getExtensionApi } from './api';
|
|
import { checkAndInstallAz } from './az';
|
|
import { ArcControllerConfigProfilesOptionsSource } from './providers/arcControllerConfigProfilesOptionsSource';
|
|
import { AzToolService } from './services/azToolService';
|
|
|
|
export async function activate(context: vscode.ExtensionContext): Promise<azExt.IExtension> {
|
|
const azToolService = new AzToolService();
|
|
vscode.commands.registerCommand('az.install', async () => {
|
|
azToolService.localAz = await checkAndInstallAz(true /* userRequested */);
|
|
});
|
|
|
|
// Don't block on this since we want the extension to finish activating without needing user input
|
|
const localAzDiscovered = checkAndInstallAz() // install if not installed and user wants it.
|
|
.then(async azTool => {
|
|
if (azTool !== undefined) {
|
|
azToolService.localAz = azTool;
|
|
}
|
|
return azTool;
|
|
});
|
|
|
|
const azApi = getExtensionApi(azToolService, localAzDiscovered);
|
|
|
|
// register option source(s)
|
|
const rdApi = <rd.IExtension>vscode.extensions.getExtension(rd.extension.name)?.exports;
|
|
context.subscriptions.push(rdApi.registerOptionsSourceProvider(new ArcControllerConfigProfilesOptionsSource(azApi)));
|
|
|
|
return azApi;
|
|
}
|
|
|
|
export function deactivate(): void { }
|