@@ -54,9 +54,9 @@ import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
5454import Constants from 'vs/workbench/parts/markers/common/constants' ;
5555import { IPartService } from 'vs/workbench/services/part/common/partService' ;
5656import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService' ;
57+ import { IConfigurationResolverService } from 'vs/workbench/services/configurationResolver/common/configurationResolver' ;
5758import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace' ;
5859
59- import { ConfigVariables } from 'vs/workbench/parts/lib/node/configVariables' ;
6060import { ITextFileService } from 'vs/workbench/parts/files/common/files' ;
6161import { IOutputService , IOutputChannelRegistry , Extensions as OutputExt , IOutputChannel } from 'vs/workbench/parts/output/common/output' ;
6262
@@ -184,7 +184,8 @@ abstract class OpenTaskConfigurationAction extends Action {
184184 @IWorkbenchEditorService editorService : IWorkbenchEditorService , @IFileService fileService : IFileService ,
185185 @IWorkspaceContextService contextService : IWorkspaceContextService , @IOutputService outputService : IOutputService ,
186186 @IMessageService messageService : IMessageService , @IQuickOpenService quickOpenService : IQuickOpenService ,
187- @IEnvironmentService private environmentService : IEnvironmentService ) {
187+ @IEnvironmentService private environmentService : IEnvironmentService ,
188+ @IConfigurationResolverService private configurationResolverService : IConfigurationResolverService ) {
188189
189190 super ( id , label ) ;
190191 this . configurationService = configurationService ;
@@ -216,7 +217,7 @@ abstract class OpenTaskConfigurationAction extends Action {
216217 const outputChannel = this . outputService . getChannel ( TaskService . OutputChannelId ) ;
217218 outputChannel . show ( ) ;
218219 outputChannel . append ( nls . localize ( 'ConfigureTaskRunnerAction.autoDetecting' , 'Auto detecting tasks for {0}' , selection . id ) + '\n' ) ;
219- let detector = new ProcessRunnerDetector ( this . fileService , this . contextService , new ConfigVariables ( this . configurationService , this . editorService , this . contextService , this . environmentService ) ) ;
220+ let detector = new ProcessRunnerDetector ( this . fileService , this . contextService , this . configurationResolverService ) ;
220221 contentPromise = detector . detect ( false , selection . id ) . then ( ( value ) => {
221222 let config = value . config ;
222223 if ( value . stderr && value . stderr . length > 0 ) {
@@ -278,9 +279,10 @@ class ConfigureTaskRunnerAction extends OpenTaskConfigurationAction {
278279 @IWorkbenchEditorService editorService : IWorkbenchEditorService , @IFileService fileService : IFileService ,
279280 @IWorkspaceContextService contextService : IWorkspaceContextService , @IOutputService outputService : IOutputService ,
280281 @IMessageService messageService : IMessageService , @IQuickOpenService quickOpenService : IQuickOpenService ,
281- @IEnvironmentService environmentService : IEnvironmentService ) {
282+ @IEnvironmentService environmentService : IEnvironmentService ,
283+ @IConfigurationResolverService configurationResolverService : IConfigurationResolverService ) {
282284 super ( id , label , configurationService , editorService , fileService , contextService ,
283- outputService , messageService , quickOpenService , environmentService ) ;
285+ outputService , messageService , quickOpenService , environmentService , configurationResolverService ) ;
284286 }
285287
286288}
@@ -293,9 +295,10 @@ class ConfigureBuildTaskAction extends OpenTaskConfigurationAction {
293295 @IWorkbenchEditorService editorService : IWorkbenchEditorService , @IFileService fileService : IFileService ,
294296 @IWorkspaceContextService contextService : IWorkspaceContextService , @IOutputService outputService : IOutputService ,
295297 @IMessageService messageService : IMessageService , @IQuickOpenService quickOpenService : IQuickOpenService ,
296- @IEnvironmentService environmentService : IEnvironmentService ) {
298+ @IEnvironmentService environmentService : IEnvironmentService ,
299+ @IConfigurationResolverService configurationResolverService : IConfigurationResolverService ) {
297300 super ( id , label , configurationService , editorService , fileService , contextService ,
298- outputService , messageService , quickOpenService , environmentService ) ;
301+ outputService , messageService , quickOpenService , environmentService , configurationResolverService ) ;
299302 }
300303}
301304
@@ -628,7 +631,8 @@ class TaskService extends EventEmitter implements ITaskService {
628631 @ILifecycleService lifecycleService : ILifecycleService , @IEventService eventService : IEventService ,
629632 @IModelService modelService : IModelService , @IExtensionService extensionService : IExtensionService ,
630633 @IQuickOpenService quickOpenService : IQuickOpenService ,
631- @IEnvironmentService private environmentService : IEnvironmentService ) {
634+ @IEnvironmentService private environmentService : IEnvironmentService ,
635+ @IConfigurationResolverService private configurationResolverService : IConfigurationResolverService ) {
632636
633637 super ( ) ;
634638 this . modeService = modeService ;
@@ -680,7 +684,6 @@ class TaskService extends EventEmitter implements ITaskService {
680684 this . _taskSystem = new NullTaskSystem ( ) ;
681685 this . _taskSystemPromise = TPromise . as ( this . _taskSystem ) ;
682686 } else {
683- let variables = new ConfigVariables ( this . configurationService , this . editorService , this . contextService , this . environmentService ) ;
684687 let clearOutput = true ;
685688 this . _taskSystemPromise = TPromise . as ( this . configurationService . getConfiguration < TaskConfiguration > ( 'tasks' ) ) . then ( ( config : TaskConfiguration ) => {
686689 let parseErrors : string [ ] = config ? ( < any > config ) . $parseErrors : null ;
@@ -702,7 +705,7 @@ class TaskService extends EventEmitter implements ITaskService {
702705 if ( config ) {
703706 if ( this . isRunnerConfig ( config ) && this . hasDetectorSupport ( < FileConfig . ExternalTaskRunnerConfiguration > config ) ) {
704707 let fileConfig = < FileConfig . ExternalTaskRunnerConfiguration > config ;
705- configPromise = new ProcessRunnerDetector ( this . fileService , this . contextService , variables , fileConfig ) . detect ( true ) . then ( ( value ) => {
708+ configPromise = new ProcessRunnerDetector ( this . fileService , this . contextService , this . configurationResolverService , fileConfig ) . detect ( true ) . then ( ( value ) => {
706709 clearOutput = this . printStderr ( value . stderr ) ;
707710 let detectedConfig = value . config ;
708711 if ( ! detectedConfig ) {
@@ -728,7 +731,7 @@ class TaskService extends EventEmitter implements ITaskService {
728731 configPromise = TPromise . as < TaskConfiguration > ( config ) ;
729732 }
730733 } else {
731- configPromise = new ProcessRunnerDetector ( this . fileService , this . contextService , variables ) . detect ( true ) . then ( ( value ) => {
734+ configPromise = new ProcessRunnerDetector ( this . fileService , this . contextService , this . configurationResolverService ) . detect ( true ) . then ( ( value ) => {
732735 clearOutput = this . printStderr ( value . stderr ) ;
733736 return value . config ;
734737 } ) ;
@@ -742,7 +745,7 @@ class TaskService extends EventEmitter implements ITaskService {
742745 if ( config . buildSystem === 'service' ) {
743746 result = new LanguageServiceTaskSystem ( < LanguageServiceTaskConfiguration > config , this . telemetryService , this . modeService ) ;
744747 } else if ( this . isRunnerConfig ( config ) ) {
745- result = new ProcessRunnerSystem ( < FileConfig . ExternalTaskRunnerConfiguration > config , variables , this . markerService , this . modelService , this . telemetryService , this . outputService , TaskService . OutputChannelId , clearOutput ) ;
748+ result = new ProcessRunnerSystem ( < FileConfig . ExternalTaskRunnerConfiguration > config , this . markerService , this . modelService , this . telemetryService , this . outputService , this . configurationResolverService , TaskService . OutputChannelId , clearOutput ) ;
746749 }
747750 if ( result === null ) {
748751 this . _taskSystemPromise = null ;
@@ -788,13 +791,13 @@ class TaskService extends EventEmitter implements ITaskService {
788791 public configureAction ( ) : Action {
789792 return new ConfigureTaskRunnerAction ( ConfigureTaskRunnerAction . ID , ConfigureTaskRunnerAction . TEXT ,
790793 this . configurationService , this . editorService , this . fileService , this . contextService ,
791- this . outputService , this . messageService , this . quickOpenService , this . environmentService ) ;
794+ this . outputService , this . messageService , this . quickOpenService , this . environmentService , this . configurationResolverService ) ;
792795 }
793796
794797 private configureBuildTask ( ) : Action {
795798 return new ConfigureBuildTaskAction ( ConfigureBuildTaskAction . ID , ConfigureBuildTaskAction . TEXT ,
796799 this . configurationService , this . editorService , this . fileService , this . contextService ,
797- this . outputService , this . messageService , this . quickOpenService , this . environmentService ) ;
800+ this . outputService , this . messageService , this . quickOpenService , this . environmentService , this . configurationResolverService ) ;
798801 }
799802
800803 public build ( ) : TPromise < ITaskSummary > {
0 commit comments