diff options
Diffstat (limited to 'src/WixToolset.BuildTasks/ToolsetTask_InProc.cs')
-rw-r--r-- | src/WixToolset.BuildTasks/ToolsetTask_InProc.cs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/WixToolset.BuildTasks/ToolsetTask_InProc.cs b/src/WixToolset.BuildTasks/ToolsetTask_InProc.cs index a3290e60..6c83ee11 100644 --- a/src/WixToolset.BuildTasks/ToolsetTask_InProc.cs +++ b/src/WixToolset.BuildTasks/ToolsetTask_InProc.cs | |||
@@ -5,6 +5,8 @@ namespace WixToolset.BuildTasks | |||
5 | { | 5 | { |
6 | using System; | 6 | using System; |
7 | using System.Runtime.InteropServices; | 7 | using System.Runtime.InteropServices; |
8 | using System.Threading; | ||
9 | using System.Threading.Tasks; | ||
8 | using Microsoft.Build.Framework; | 10 | using Microsoft.Build.Framework; |
9 | using WixToolset.Core; | 11 | using WixToolset.Core; |
10 | using WixToolset.Data; | 12 | using WixToolset.Data; |
@@ -27,13 +29,17 @@ namespace WixToolset.BuildTasks | |||
27 | { | 29 | { |
28 | this.Log.LogMessage(MessageImportance.Normal, $"({this.ToolName}){commandLineString}"); | 30 | this.Log.LogMessage(MessageImportance.Normal, $"({this.ToolName}){commandLineString}"); |
29 | 31 | ||
30 | var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider(); | ||
31 | var listener = new MsbuildMessageListener(this.Log, this.TaskShortName, this.BuildEngine.ProjectFileOfTaskNode); | 32 | var listener = new MsbuildMessageListener(this.Log, this.TaskShortName, this.BuildEngine.ProjectFileOfTaskNode); |
32 | int exitCode = -1; | 33 | var exitCode = -1; |
33 | 34 | ||
34 | try | 35 | try |
35 | { | 36 | { |
36 | exitCode = this.ExecuteCore(serviceProvider, listener, commandLineString); | 37 | var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider(); |
38 | |||
39 | var messaging = serviceProvider.GetService<IMessaging>(); | ||
40 | messaging.SetListener(listener); | ||
41 | |||
42 | exitCode = this.ExecuteCoreAsync(serviceProvider, commandLineString, CancellationToken.None).GetAwaiter().GetResult(); | ||
37 | } | 43 | } |
38 | catch (WixException e) | 44 | catch (WixException e) |
39 | { | 45 | { |
@@ -65,7 +71,7 @@ namespace WixToolset.BuildTasks | |||
65 | } | 71 | } |
66 | } | 72 | } |
67 | 73 | ||
68 | protected abstract int ExecuteCore(IWixToolsetServiceProvider serviceProvider, IMessageListener messageListener, string commandLineString); | 74 | protected abstract Task<int> ExecuteCoreAsync(IWixToolsetCoreServiceProvider serviceProvider, string commandLineString, CancellationToken cancellationToken); |
69 | 75 | ||
70 | protected abstract string TaskShortName { get; } | 76 | protected abstract string TaskShortName { get; } |
71 | } | 77 | } |