From cd6f466549ba8e4b138da4332b0831ab45ca8a2f Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Sat, 13 Jun 2020 10:01:27 -0700 Subject: Implement simplified command and improved backend integration --- src/WixToolset.Core.TestPackage/WixRunner.cs | 35 +++++++--------------------- 1 file changed, 9 insertions(+), 26 deletions(-) (limited to 'src/WixToolset.Core.TestPackage') diff --git a/src/WixToolset.Core.TestPackage/WixRunner.cs b/src/WixToolset.Core.TestPackage/WixRunner.cs index 679956bd..940b55a8 100644 --- a/src/WixToolset.Core.TestPackage/WixRunner.cs +++ b/src/WixToolset.Core.TestPackage/WixRunner.cs @@ -6,6 +6,8 @@ namespace WixToolset.Core.TestPackage using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; + using WixToolset.Core.Burn; + using WixToolset.Core.WindowsInstaller; using WixToolset.Data; using WixToolset.Extensibility.Data; using WixToolset.Extensibility.Services; @@ -26,40 +28,21 @@ namespace WixToolset.Core.TestPackage return new WixRunnerResult { ExitCode = exitCode.Result, Messages = messages.ToArray() }; } - public static Task Execute(string[] args, IWixToolsetServiceProvider serviceProvider, out List messages) + public static Task Execute(string[] args, IWixToolsetCoreServiceProvider coreProvider, out List messages) { + coreProvider.AddWindowsInstallerBackend() + .AddBundleBackend(); + var listener = new TestMessageListener(); messages = listener.Messages; - var messaging = serviceProvider.GetService(); + var messaging = coreProvider.GetService(); messaging.SetListener(listener); - var arguments = serviceProvider.GetService(); - arguments.Populate(args); - - var commandLine = serviceProvider.GetService(); - commandLine.ExtensionManager = CreateExtensionManagerWithStandardBackends(serviceProvider, arguments.Extensions); - commandLine.Arguments = arguments; - var command = commandLine.ParseStandardCommandLine(); + var commandLine = coreProvider.GetService(); + var command = commandLine.CreateCommand(args); return command?.ExecuteAsync(CancellationToken.None) ?? Task.FromResult(1); } - - private static IExtensionManager CreateExtensionManagerWithStandardBackends(IWixToolsetServiceProvider serviceProvider, 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) - { - extensionManager.Load(extension); - } - - return extensionManager; - } } } -- cgit v1.2.3-55-g6feb