diff options
Diffstat (limited to 'src/WixToolset.BuildTasks/DoIt.cs')
-rw-r--r-- | src/WixToolset.BuildTasks/DoIt.cs | 17 |
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 | ||