mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Get tools service install location from extensions (#16796)
* Get STS install location from extensions * Update error
This commit is contained in:
@@ -104,7 +104,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<IExten
|
||||
}
|
||||
});
|
||||
|
||||
return createMssqlApi(appContext);
|
||||
return createMssqlApi(appContext, server);
|
||||
}
|
||||
|
||||
const logFiles = ['resourceprovider.log', 'sqltools.log', 'credentialstore.log'];
|
||||
|
||||
4
extensions/mssql/src/mssql.d.ts
vendored
4
extensions/mssql/src/mssql.d.ts
vendored
@@ -24,6 +24,10 @@ export const enum extension {
|
||||
* The APIs provided by Mssql extension
|
||||
*/
|
||||
export interface IExtension {
|
||||
/**
|
||||
* Path to the root of the SQL Tools Service folder
|
||||
*/
|
||||
readonly sqlToolsServicePath: string;
|
||||
/**
|
||||
* Gets the object explorer API that supports querying over the connections supported by this extension
|
||||
*
|
||||
|
||||
@@ -8,9 +8,13 @@ import { IExtension, ICmsService, IDacFxService, ISchemaCompareService, MssqlObj
|
||||
import * as constants from './constants';
|
||||
import { MssqlObjectExplorerNodeProvider } from './objectExplorerNodeProvider/objectExplorerNodeProvider';
|
||||
import * as azdata from 'azdata';
|
||||
import { SqlToolsServer } from './sqlToolsServer';
|
||||
|
||||
export function createMssqlApi(context: AppContext): IExtension {
|
||||
export function createMssqlApi(context: AppContext, sqlToolsServer: SqlToolsServer): IExtension {
|
||||
return {
|
||||
get sqlToolsServicePath() {
|
||||
return sqlToolsServer.installDirectory;
|
||||
},
|
||||
get cmsService() {
|
||||
return context.getService<ICmsService>(constants.CmsService);
|
||||
},
|
||||
|
||||
@@ -35,13 +35,15 @@ export class SqlToolsServer {
|
||||
private client: SqlOpsDataClient;
|
||||
private config: IConfig;
|
||||
private disposables = new Array<{ dispose: () => void }>();
|
||||
public installDirectory: string | undefined = undefined;
|
||||
|
||||
public async start(context: AppContext): Promise<SqlOpsDataClient> {
|
||||
try {
|
||||
const installationStart = Date.now();
|
||||
const path = await this.download(context);
|
||||
const serverPath = await this.download(context);
|
||||
this.installDirectory = path.dirname(serverPath);
|
||||
const installationComplete = Date.now();
|
||||
let serverOptions = generateServerOptions(context.extensionContext.logPath, path);
|
||||
let serverOptions = generateServerOptions(context.extensionContext.logPath, serverPath);
|
||||
let clientOptions = getClientOptions(context);
|
||||
this.client = new SqlOpsDataClient(Constants.serviceName, serverOptions, clientOptions);
|
||||
const processStart = Date.now();
|
||||
|
||||
Reference in New Issue
Block a user