aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.TestPackage
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.TestPackage')
-rw-r--r--src/WixToolset.Core.TestPackage/WixRunner.cs39
-rw-r--r--src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj4
2 files changed, 36 insertions, 7 deletions
diff --git a/src/WixToolset.Core.TestPackage/WixRunner.cs b/src/WixToolset.Core.TestPackage/WixRunner.cs
index ca0a6fb8..45c7ab3d 100644
--- a/src/WixToolset.Core.TestPackage/WixRunner.cs
+++ b/src/WixToolset.Core.TestPackage/WixRunner.cs
@@ -2,9 +2,11 @@
2 2
3namespace WixToolset.Core.TestPackage 3namespace WixToolset.Core.TestPackage
4{ 4{
5 using System;
5 using System.Collections.Generic; 6 using System.Collections.Generic;
6 using WixToolset.Data; 7 using WixToolset.Data;
7 using WixToolset.Extensibility; 8 using WixToolset.Extensibility;
9 using WixToolset.Extensibility.Services;
8 10
9 public static class WixRunner 11 public static class WixRunner
10 { 12 {
@@ -12,12 +14,41 @@ namespace WixToolset.Core.TestPackage
12 { 14 {
13 var listener = new TestListener(); 15 var listener = new TestListener();
14 16
15 var program = new Program();
16 var result = program.Run(new WixToolsetServiceProvider(), listener, args);
17
18 messages = listener.Messages; 17 messages = listener.Messages;
19 18
20 return result; 19 var serviceProvider = new WixToolsetServiceProvider();
20
21 var messaging = serviceProvider.GetService<IMessaging>();
22 messaging.SetListener(listener);
23
24 var arguments = serviceProvider.GetService<ICommandLineArguments>();
25 arguments.Populate(args);
26
27 var context = serviceProvider.GetService<ICommandLineContext>();
28 context.Messaging = messaging;
29 context.ExtensionManager = CreateExtensionManagerWithStandardBackends(serviceProvider, arguments.Extensions);
30 context.Arguments = arguments;
31
32 var commandLine = serviceProvider.GetService<ICommandLine>();
33 var command = commandLine.ParseStandardCommandLine(context);
34 return command?.Execute() ?? 1;
35 }
36
37 private static IExtensionManager CreateExtensionManagerWithStandardBackends(IServiceProvider serviceProvider, string[] extensions)
38 {
39 var extensionManager = serviceProvider.GetService<IExtensionManager>();
40
41 foreach (var type in new[] { typeof(WixToolset.Core.Burn.WixToolsetStandardBackend), typeof(WixToolset.Core.WindowsInstaller.WixToolsetStandardBackend) })
42 {
43 extensionManager.Add(type.Assembly);
44 }
45
46 foreach (var extension in extensions)
47 {
48 extensionManager.Load(extension);
49 }
50
51 return extensionManager;
21 } 52 }
22 53
23 private class TestListener : IMessageListener 54 private class TestListener : IMessageListener
diff --git a/src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj b/src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj
index 2b9e2bde..6cdd8762 100644
--- a/src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj
+++ b/src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj
@@ -10,7 +10,6 @@
10 </PropertyGroup> 10 </PropertyGroup>
11 11
12 <ItemGroup> 12 <ItemGroup>
13 <ProjectReference Include="..\wix\wix.csproj" IncludeAssets="true" />
14 <ProjectReference Include="..\WixToolset.Core\WixToolset.Core.csproj" IncludeAssets="true" /> 13 <ProjectReference Include="..\WixToolset.Core\WixToolset.Core.csproj" IncludeAssets="true" />
15 <ProjectReference Include="..\WixToolset.Core.Burn\WixToolset.Core.Burn.csproj" IncludeAssets="true" /> 14 <ProjectReference Include="..\WixToolset.Core.Burn\WixToolset.Core.Burn.csproj" IncludeAssets="true" />
16 <ProjectReference Include="..\WixToolset.Core.WindowsInstaller\WixToolset.Core.WindowsInstaller.csproj" IncludeAssets="true" /> 15 <ProjectReference Include="..\WixToolset.Core.WindowsInstaller\WixToolset.Core.WindowsInstaller.csproj" IncludeAssets="true" />
@@ -18,7 +17,6 @@
18 17
19 <!-- This is a workaround until https://github.com/NuGet/Home/issues/3891 is resolved --> 18 <!-- This is a workaround until https://github.com/NuGet/Home/issues/3891 is resolved -->
20 <ItemGroup> 19 <ItemGroup>
21 <_PackageFiles Include="$(OutputPath)\wix.dll" BuildAction="None" PackagePath="lib\$(TargetFramework)\" />
22 <_PackageFiles Include="$(OutputPath)\WixToolset.Core.dll" BuildAction="None" PackagePath="lib\$(TargetFramework)\" /> 20 <_PackageFiles Include="$(OutputPath)\WixToolset.Core.dll" BuildAction="None" PackagePath="lib\$(TargetFramework)\" />
23 <_PackageFiles Include="$(OutputPath)\WixToolset.Core.Burn.dll" BuildAction="None" PackagePath="lib\$(TargetFramework)\" /> 21 <_PackageFiles Include="$(OutputPath)\WixToolset.Core.Burn.dll" BuildAction="None" PackagePath="lib\$(TargetFramework)\" />
24 <_PackageFiles Include="$(OutputPath)\WixToolset.Core.WindowsInstaller.dll" BuildAction="None" PackagePath="lib\$(TargetFramework)\" /> 22 <_PackageFiles Include="$(OutputPath)\WixToolset.Core.WindowsInstaller.dll" BuildAction="None" PackagePath="lib\$(TargetFramework)\" />
@@ -37,6 +35,6 @@
37 35
38 <ItemGroup> 36 <ItemGroup>
39 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta-63102-01" PrivateAssets="All"/> 37 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta-63102-01" PrivateAssets="All"/>
40 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" /> 38 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="All" />
41 </ItemGroup> 39 </ItemGroup>
42</Project> 40</Project>