aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.BuildTasks/DoIt.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.BuildTasks/DoIt.cs')
-rw-r--r--src/WixToolset.BuildTasks/DoIt.cs17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/WixToolset.BuildTasks/DoIt.cs b/src/WixToolset.BuildTasks/DoIt.cs
index aa01f6ec..977a2326 100644
--- a/src/WixToolset.BuildTasks/DoIt.cs
+++ b/src/WixToolset.BuildTasks/DoIt.cs
@@ -171,21 +171,23 @@ namespace WixToolset.BuildTasks
171 171
172 var serviceProvider = new WixToolsetServiceProvider(); 172 var serviceProvider = new WixToolsetServiceProvider();
173 173
174 var context = serviceProvider.GetService<ICommandLineContext>();
175
176 var messaging = serviceProvider.GetService<IMessaging>(); 174 var messaging = serviceProvider.GetService<IMessaging>();
177 messaging.SetListener(this.Listener); 175 messaging.SetListener(this.Listener);
178 176
177 var arguments = serviceProvider.GetService<ICommandLineArguments>();
178 arguments.Populate(commandLineString);
179
180 var context = serviceProvider.GetService<ICommandLineContext>();
179 context.Messaging = messaging; 181 context.Messaging = messaging;
180 context.ExtensionManager = this.CreateExtensionManagerWithStandardBackends(serviceProvider); 182 context.ExtensionManager = this.CreateExtensionManagerWithStandardBackends(serviceProvider, arguments.Extensions);
181 context.Arguments = commandLineString; 183 context.Arguments = arguments;
182 184
183 var commandLine = serviceProvider.GetService<ICommandLine>(); 185 var commandLine = serviceProvider.GetService<ICommandLine>();
184 var command = commandLine.ParseStandardCommandLine(context); 186 var command = commandLine.ParseStandardCommandLine(context);
185 command?.Execute(); 187 command?.Execute();
186 } 188 }
187 189
188 private IExtensionManager CreateExtensionManagerWithStandardBackends(IServiceProvider serviceProvider) 190 private IExtensionManager CreateExtensionManagerWithStandardBackends(IServiceProvider serviceProvider, string[] extensions)
189 { 191 {
190 var extensionManager = serviceProvider.GetService<IExtensionManager>(); 192 var extensionManager = serviceProvider.GetService<IExtensionManager>();
191 193
@@ -194,6 +196,11 @@ namespace WixToolset.BuildTasks
194 extensionManager.Add(type.Assembly); 196 extensionManager.Add(type.Assembly);
195 } 197 }
196 198
199 foreach (var extension in extensions)
200 {
201 extensionManager.Load(extension);
202 }
203
197 return extensionManager; 204 return extensionManager;
198 } 205 }
199 206