diff options
Diffstat (limited to 'src/WixToolset.Core.TestPackage')
-rw-r--r-- | src/WixToolset.Core.TestPackage/WixRunner.cs | 39 | ||||
-rw-r--r-- | src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj | 4 |
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 | ||
3 | namespace WixToolset.Core.TestPackage | 3 | namespace 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> |