From 98fa23e91bca6d6a67457df056d0cb6cecf12901 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Sat, 13 Jun 2020 09:42:44 -0700 Subject: Use simplified command-line parsing and update loading standard backends --- src/WixToolset.BuildTasks/WixBuild_InProc.cs | 43 +++++----------------------- 1 file changed, 7 insertions(+), 36 deletions(-) (limited to 'src/WixToolset.BuildTasks/WixBuild_InProc.cs') diff --git a/src/WixToolset.BuildTasks/WixBuild_InProc.cs b/src/WixToolset.BuildTasks/WixBuild_InProc.cs index 59a42431..a45d2369 100644 --- a/src/WixToolset.BuildTasks/WixBuild_InProc.cs +++ b/src/WixToolset.BuildTasks/WixBuild_InProc.cs @@ -5,52 +5,23 @@ namespace WixToolset.BuildTasks { using System.Threading; using System.Threading.Tasks; - using WixToolset.Data; - using WixToolset.Extensibility; - using WixToolset.Extensibility.Data; + using WixToolset.Core.Burn; + using WixToolset.Core.WindowsInstaller; using WixToolset.Extensibility.Services; public partial class WixBuild { protected override string TaskShortName => "WIX"; - protected override Task ExecuteCoreAsync(IWixToolsetCoreServiceProvider serviceProvider, string commandLineString, CancellationToken cancellationToken) + protected override Task ExecuteCoreAsync(IWixToolsetCoreServiceProvider coreProvider, string commandLineString, CancellationToken cancellationToken) { - var messaging = serviceProvider.GetService(); + coreProvider.AddWindowsInstallerBackend() + .AddBundleBackend(); - var arguments = serviceProvider.GetService(); - arguments.Populate(commandLineString); - - var commandLine = serviceProvider.GetService(); - commandLine.ExtensionManager = this.CreateExtensionManagerWithStandardBackends(serviceProvider, messaging, arguments.Extensions); - commandLine.Arguments = arguments; - var command = commandLine.ParseStandardCommandLine(); + var commandLine = coreProvider.GetService(); + var command = commandLine.CreateCommand(commandLineString); return command?.ExecuteAsync(cancellationToken) ?? Task.FromResult(1); } - - private IExtensionManager CreateExtensionManagerWithStandardBackends(IWixToolsetServiceProvider serviceProvider, IMessaging messaging, string[] extensions) - { - var extensionManager = serviceProvider.GetService(); - - foreach (var type in new[] { typeof(WixToolset.Core.Burn.WixToolsetStandardBackend), typeof(WixToolset.Core.WindowsInstaller.WixToolsetStandardBackend) }) - { - extensionManager.Add(type.Assembly); - } - - foreach (var extension in extensions) - { - try - { - extensionManager.Load(extension); - } - catch (WixException e) - { - messaging.Write(e.Error); - } - } - - return extensionManager; - } } } #endif -- cgit v1.2.3-55-g6feb