@@ -10,7 +10,6 @@ import * as vscode from 'vscode';
1010
1111import { ActivationFailure , ActiveTextEditorChanged } from './omnisharp/loggingEvents' ;
1212import { WarningMessageObserver } from './observers/WarningMessageObserver' ;
13- import { CSharpExtDownloader } from './CSharpExtDownloader' ;
1413import { CsharpChannelObserver } from './observers/CsharpChannelObserver' ;
1514import { CsharpLoggerObserver } from './observers/CsharpLoggerObserver' ;
1615import { DotNetChannelObserver } from './observers/DotnetChannelObserver' ;
@@ -28,7 +27,7 @@ import TelemetryReporter from 'vscode-extension-telemetry';
2827import { addJSONProviders } from './features/json/jsonContributions' ;
2928import { ProjectStatusBarObserver } from './observers/ProjectStatusBarObserver' ;
3029import CSharpExtensionExports from './CSharpExtensionExports' ;
31- import { vscodeNetworkSettingsProvider , NetworkSettingsProvider } from './NetworkSettings' ;
30+ import { vscodeNetworkSettingsProvider } from './NetworkSettings' ;
3231import { ErrorMessageObserver } from './observers/ErrorMessageObserver' ;
3332import OptionProvider from './observers/OptionProvider' ;
3433import DotNetTestChannelObserver from './observers/DotnetTestChannelObserver' ;
@@ -39,6 +38,10 @@ import { CSharpExtensionId } from './constants/CSharpExtensionId';
3938import { OpenURLObserver } from './observers/OpenURLObserver' ;
4039import { activateRazorExtension } from './razor/razor' ;
4140import { RazorLoggerObserver } from './observers/RazorLoggerObserver' ;
41+ import { AbsolutePathPackage } from './packageManager/AbsolutePathPackage' ;
42+ import { downloadAndInstallPackages } from './packageManager/downloadAndInstallPackages' ;
43+ import IInstallDependencies from './packageManager/IInstallDependencies' ;
44+ import { installRuntimeDependencies } from './InstallRuntimeDependencies' ;
4245
4346export async function activate ( context : vscode . ExtensionContext ) : Promise < CSharpExtensionExports > {
4447
@@ -116,7 +119,8 @@ export async function activate(context: vscode.ExtensionContext): Promise<CSharp
116119 eventStream . subscribe ( telemetryObserver . post ) ;
117120
118121 let networkSettingsProvider = vscodeNetworkSettingsProvider ( vscode ) ;
119- let runtimeDependenciesExist = await ensureRuntimeDependencies ( extension , eventStream , platformInfo , networkSettingsProvider ) ;
122+ let installDependencies : IInstallDependencies = ( dependencies : AbsolutePathPackage [ ] ) => downloadAndInstallPackages ( dependencies , networkSettingsProvider , eventStream ) ;
123+ let runtimeDependenciesExist = await ensureRuntimeDependencies ( extension , eventStream , platformInfo , installDependencies ) ;
120124
121125 // activate language services
122126 let langServicePromise = OmniSharp . activate ( context , extension . packageJSON , platformInfo , networkSettingsProvider , eventStream , optionProvider , extension . extensionPath ) ;
@@ -158,8 +162,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<CSharp
158162 } ;
159163}
160164
161- async function ensureRuntimeDependencies ( extension : vscode . Extension < CSharpExtensionExports > , eventStream : EventStream , platformInfo : PlatformInformation , networkSettingsProvider : NetworkSettingsProvider ) : Promise < boolean > {
162- const downloader = new CSharpExtDownloader ( networkSettingsProvider , eventStream , extension . packageJSON , platformInfo , extension . extensionPath ) ;
163- return downloader . installRuntimeDependencies ( ) ;
165+ async function ensureRuntimeDependencies ( extension : vscode . Extension < CSharpExtensionExports > , eventStream : EventStream , platformInfo : PlatformInformation , installDependencies : IInstallDependencies ) : Promise < boolean > {
166+ return installRuntimeDependencies ( extension . packageJSON , extension . extensionPath , installDependencies , eventStream , platformInfo ) ;
164167}
165168
0 commit comments