diff options
124 files changed, 991 insertions, 777 deletions
diff --git a/src/build_all.cmd b/src/build_all.cmd index 60502cdc..ce1c08f0 100644 --- a/src/build_all.cmd +++ b/src/build_all.cmd | |||
@@ -44,14 +44,14 @@ call burn\burn.cmd %_C% || exit /b | |||
44 | call wix\wix.cmd %_C% || exit /b | 44 | call wix\wix.cmd %_C% || exit /b |
45 | 45 | ||
46 | 46 | ||
47 | :: ext | 47 | :: tools |
48 | 48 | ||
49 | call ext\ext.cmd %_C% || exit /b | 49 | call tools\tools.cmd %_C% || exit /b |
50 | 50 | ||
51 | 51 | ||
52 | :: tools | 52 | :: ext |
53 | 53 | ||
54 | call tools\tools.cmd %_C% || exit /b | 54 | call ext\ext.cmd %_C% || exit /b |
55 | 55 | ||
56 | 56 | ||
57 | :: integration tests | 57 | :: integration tests |
diff --git a/src/clean.cmd b/src/clean.cmd index 9eccf22a..2bbc2a78 100644 --- a/src/clean.cmd +++ b/src/clean.cmd | |||
@@ -39,6 +39,7 @@ if exist "%_NUGET_CACHE%\wixtoolset.dtf.resources" rd /s/q "%_NUGET_CACHE%\wixto | |||
39 | if exist "%_NUGET_CACHE%\wixtoolset.dtf.windowsinstaller" rd /s/q "%_NUGET_CACHE%\wixtoolset.dtf.windowsinstaller" | 39 | if exist "%_NUGET_CACHE%\wixtoolset.dtf.windowsinstaller" rd /s/q "%_NUGET_CACHE%\wixtoolset.dtf.windowsinstaller" |
40 | if exist "%_NUGET_CACHE%\wixtoolset.dutil" rd /s/q "%_NUGET_CACHE%\wixtoolset.dutil" | 40 | if exist "%_NUGET_CACHE%\wixtoolset.dutil" rd /s/q "%_NUGET_CACHE%\wixtoolset.dutil" |
41 | if exist "%_NUGET_CACHE%\wixtoolset.extensibility" rd /s/q "%_NUGET_CACHE%\wixtoolset.extensibility" | 41 | if exist "%_NUGET_CACHE%\wixtoolset.extensibility" rd /s/q "%_NUGET_CACHE%\wixtoolset.extensibility" |
42 | if exist "%_NUGET_CACHE%\wixtoolset.heat" rd /s/q "%_NUGET_CACHE%\wixtoolset.heat" | ||
42 | if exist "%_NUGET_CACHE%\wixtoolset.mba.core" rd /s/q "%_NUGET_CACHE%\wixtoolset.mba.core" | 43 | if exist "%_NUGET_CACHE%\wixtoolset.mba.core" rd /s/q "%_NUGET_CACHE%\wixtoolset.mba.core" |
43 | if exist "%_NUGET_CACHE%\wixtoolset.netfx.wixext" rd /s/q "%_NUGET_CACHE%\wixtoolset.netfx.wixext" | 44 | if exist "%_NUGET_CACHE%\wixtoolset.netfx.wixext" rd /s/q "%_NUGET_CACHE%\wixtoolset.netfx.wixext" |
44 | if exist "%_NUGET_CACHE%\wixtoolset.sdk" rd /s/q "%_NUGET_CACHE%\wixtoolset.sdk" | 45 | if exist "%_NUGET_CACHE%\wixtoolset.sdk" rd /s/q "%_NUGET_CACHE%\wixtoolset.sdk" |
diff --git a/src/ext/Bal/bal.cmd b/src/ext/Bal/bal.cmd index aedf9b64..060f8ee0 100644 --- a/src/ext/Bal/bal.cmd +++ b/src/ext/Bal/bal.cmd | |||
@@ -22,7 +22,7 @@ msbuild -p:Configuration=%_C% || exit /b | |||
22 | 22 | ||
23 | dotnet test test\WixToolsetTest.Dnc.HostGenerator -c %_C% --nologo --no-build -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Dnc.HostGenerator.trx" || exit /b | 23 | dotnet test test\WixToolsetTest.Dnc.HostGenerator -c %_C% --nologo --no-build -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Dnc.HostGenerator.trx" || exit /b |
24 | 24 | ||
25 | msbuild -p:Configuration=%_C% test\examples\examples.proj || exit /b | 25 | msbuild -Restore -p:Configuration=%_C% test\examples\examples.proj -bl || exit /b |
26 | 26 | ||
27 | :: Test | 27 | :: Test |
28 | dotnet test test\WixToolsetTest.Bal -c %_C% --no-build -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Bal.trx" || exit /b | 28 | dotnet test test\WixToolsetTest.Bal -c %_C% --no-build -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Bal.trx" || exit /b |
diff --git a/src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj b/src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj index ebeebff2..3f81710e 100644 --- a/src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj +++ b/src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj | |||
@@ -7,4 +7,8 @@ | |||
7 | <Transforms>ba.xslt</Transforms> | 7 | <Transforms>ba.xslt</Transforms> |
8 | </HarvestDirectory> | 8 | </HarvestDirectory> |
9 | </ItemGroup> | 9 | </ItemGroup> |
10 | |||
11 | <ItemGroup> | ||
12 | <PackageReference Include="WixToolset.Heat" /> | ||
13 | </ItemGroup> | ||
10 | </Project> | 14 | </Project> |
diff --git a/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj b/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj index a6b56460..f9926550 100644 --- a/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj +++ b/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj | |||
@@ -7,4 +7,8 @@ | |||
7 | <Transforms>ba.xslt</Transforms> | 7 | <Transforms>ba.xslt</Transforms> |
8 | </HarvestDirectory> | 8 | </HarvestDirectory> |
9 | </ItemGroup> | 9 | </ItemGroup> |
10 | |||
11 | <ItemGroup> | ||
12 | <PackageReference Include="WixToolset.Heat" /> | ||
13 | </ItemGroup> | ||
10 | </Project> | 14 | </Project> |
diff --git a/src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj b/src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj index 30a860ab..048e3c97 100644 --- a/src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj +++ b/src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj | |||
@@ -7,4 +7,8 @@ | |||
7 | <Transforms>ba.xslt</Transforms> | 7 | <Transforms>ba.xslt</Transforms> |
8 | </HarvestDirectory> | 8 | </HarvestDirectory> |
9 | </ItemGroup> | 9 | </ItemGroup> |
10 | |||
11 | <ItemGroup> | ||
12 | <PackageReference Include="WixToolset.Heat" /> | ||
13 | </ItemGroup> | ||
10 | </Project> | 14 | </Project> |
diff --git a/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj b/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj index 5ce89b64..056bf2bb 100644 --- a/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj +++ b/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj | |||
@@ -7,4 +7,8 @@ | |||
7 | <Transforms>ba.xslt</Transforms> | 7 | <Transforms>ba.xslt</Transforms> |
8 | </HarvestDirectory> | 8 | </HarvestDirectory> |
9 | </ItemGroup> | 9 | </ItemGroup> |
10 | |||
11 | <ItemGroup> | ||
12 | <PackageReference Include="WixToolset.Heat" /> | ||
13 | </ItemGroup> | ||
10 | </Project> | 14 | </Project> |
diff --git a/src/ext/Bal/test/examples/examples.proj b/src/ext/Bal/test/examples/examples.proj index 82a5e3c1..855f0ef5 100644 --- a/src/ext/Bal/test/examples/examples.proj +++ b/src/ext/Bal/test/examples/examples.proj | |||
@@ -2,8 +2,7 @@ | |||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> |
3 | 3 | ||
4 | 4 | ||
5 | <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 5 | <Project Sdk="Microsoft.Build.Traversal"> |
6 | <Import Project="..\..\Directory.Build.props" /> | ||
7 | 6 | ||
8 | <PropertyGroup> | 7 | <PropertyGroup> |
9 | <EarliestCoreMBAProjectPath>EarliestCoreMBA\Example.EarliestCoreMBA.csproj</EarliestCoreMBAProjectPath> | 8 | <EarliestCoreMBAProjectPath>EarliestCoreMBA\Example.EarliestCoreMBA.csproj</EarliestCoreMBAProjectPath> |
@@ -28,14 +27,12 @@ | |||
28 | <SkipFDDx86>true</SkipFDDx86> | 27 | <SkipFDDx86>true</SkipFDDx86> |
29 | <SkipSCD>true</SkipSCD> | 28 | <SkipSCD>true</SkipSCD> |
30 | </CoreMBAProject> | 29 | </CoreMBAProject> |
31 | 30 | ||
32 | <FullMBAProject Include="$(FullFramework2MBAProjectPath)" /> | 31 | <FullMBAProject Include="$(FullFramework2MBAProjectPath)" /> |
33 | <FullMBAProject Include="$(FullFramework4MBAProjectPath)" /> | 32 | <FullMBAProject Include="$(FullFramework4MBAProjectPath)" /> |
34 | |||
35 | <ExampleBundleProject Include="**\*.wixproj" /> | ||
36 | </ItemGroup> | 33 | </ItemGroup> |
37 | 34 | ||
38 | <Target Name="PublishCoreExamples"> | 35 | <Target Name="PublishCoreExamples" BeforeTargets="Build"> |
39 | <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\fdd-x86" -r win-x86 -c $(Configuration) --self-contained false "%(CoreMBAProject.Identity)"' | 36 | <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\fdd-x86" -r win-x86 -c $(Configuration) --self-contained false "%(CoreMBAProject.Identity)"' |
40 | Condition="'%(CoreMBAProject.SkipFDDx86)'==''" /> | 37 | Condition="'%(CoreMBAProject.SkipFDDx86)'==''" /> |
41 | <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\fdd" -r win-x64 -c $(Configuration) --self-contained false "%(CoreMBAProject.Identity)"' | 38 | <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\fdd" -r win-x64 -c $(Configuration) --self-contained false "%(CoreMBAProject.Identity)"' |
@@ -46,9 +43,7 @@ | |||
46 | Condition="'%(CoreMBAProject.TrimMode)'!=''" /> | 43 | Condition="'%(CoreMBAProject.TrimMode)'!=''" /> |
47 | </Target> | 44 | </Target> |
48 | 45 | ||
49 | <Target Name="Build" DependsOnTargets="PublishCoreExamples"> | 46 | <ItemGroup> |
50 | <MSBuild Projects="%(ExampleBundleProject.Identity)" /> | 47 | <ProjectReference Include="**\*.wixproj" /> |
51 | </Target> | 48 | </ItemGroup> |
52 | 49 | </Project> | |
53 | <Import Project="..\..\..\..\Directory.Build.targets" /> | ||
54 | </Project> \ No newline at end of file | ||
diff --git a/src/internal/SetBuildNumber/Directory.Packages.props.pp b/src/internal/SetBuildNumber/Directory.Packages.props.pp index 8cf4be1f..91337de7 100644 --- a/src/internal/SetBuildNumber/Directory.Packages.props.pp +++ b/src/internal/SetBuildNumber/Directory.Packages.props.pp | |||
@@ -28,6 +28,8 @@ | |||
28 | <PackageVersion Include="WixToolset.Core.WindowsInstaller" Version="{packageversion}" /> | 28 | <PackageVersion Include="WixToolset.Core.WindowsInstaller" Version="{packageversion}" /> |
29 | <PackageVersion Include="WixToolset.Core.TestPackage" Version="{packageversion}" /> | 29 | <PackageVersion Include="WixToolset.Core.TestPackage" Version="{packageversion}" /> |
30 | 30 | ||
31 | <PackageVersion Include="WixToolset.Heat" Version="{packageversion}" /> | ||
32 | |||
31 | <PackageVersion Include="WixToolset.Bal.wixext" Version="{packageversion}" /> | 33 | <PackageVersion Include="WixToolset.Bal.wixext" Version="{packageversion}" /> |
32 | <PackageVersion Include="WixToolset.Dependency.wixext" Version="{packageversion}" /> | 34 | <PackageVersion Include="WixToolset.Dependency.wixext" Version="{packageversion}" /> |
33 | <PackageVersion Include="WixToolset.NetFx.wixext" Version="{packageversion}" /> | 35 | <PackageVersion Include="WixToolset.NetFx.wixext" Version="{packageversion}" /> |
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildUtilities.cs b/src/internal/WixBuildTools.TestSupport/MsbuildUtilities.cs index 028ea0cf..32680e5d 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildUtilities.cs +++ b/src/internal/WixBuildTools.TestSupport/MsbuildUtilities.cs | |||
@@ -17,9 +17,6 @@ namespace WixToolsetTest.Sdk | |||
17 | 17 | ||
18 | public static class MsbuildUtilities | 18 | public static class MsbuildUtilities |
19 | { | 19 | { |
20 | public static readonly string WixMsbuildPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildUtilities).Assembly.CodeBase).AbsolutePath), "..", "..", "..", "publish", "WixToolset.Sdk"); | ||
21 | public static readonly string WixPropsPath = Path.Combine(WixMsbuildPath, "build", "WixToolset.Sdk.props"); | ||
22 | |||
23 | public static MsbuildRunnerResult BuildProject(BuildSystem buildSystem, string projectPath, string[] arguments = null, string configuration = "Release", bool? outOfProc = null, string verbosityLevel = "normal", bool suppressValidation = true) | 20 | public static MsbuildRunnerResult BuildProject(BuildSystem buildSystem, string projectPath, string[] arguments = null, string configuration = "Release", bool? outOfProc = null, string verbosityLevel = "normal", bool suppressValidation = true) |
24 | { | 21 | { |
25 | var allArgs = new List<string> | 22 | var allArgs = new List<string> |
@@ -27,7 +24,6 @@ namespace WixToolsetTest.Sdk | |||
27 | $"-verbosity:{verbosityLevel}", | 24 | $"-verbosity:{verbosityLevel}", |
28 | $"-p:Configuration={configuration}", | 25 | $"-p:Configuration={configuration}", |
29 | $"-p:SuppressValidation={suppressValidation}", | 26 | $"-p:SuppressValidation={suppressValidation}", |
30 | GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildUtilities.WixPropsPath), | ||
31 | // Node reuse means that child msbuild processes can stay around after the build completes. | 27 | // Node reuse means that child msbuild processes can stay around after the build completes. |
32 | // Under that scenario, the root msbuild does not reliably close its streams which causes us to hang. | 28 | // Under that scenario, the root msbuild does not reliably close its streams which causes us to hang. |
33 | "-nr:false", | 29 | "-nr:false", |
@@ -74,11 +70,23 @@ namespace WixToolsetTest.Sdk | |||
74 | { | 70 | { |
75 | case BuildSystem.DotNetCoreSdk: | 71 | case BuildSystem.DotNetCoreSdk: |
76 | { | 72 | { |
73 | // If the value ends with a backslash, double-escape it (it should end up with four backslashes). | ||
74 | if (valueToQuote?.EndsWith("\\") == true) | ||
75 | { | ||
76 | valueToQuote += @"\\\"; | ||
77 | } | ||
78 | |||
77 | return $"-p:{propertyName}=\\\"{valueToQuote}\\\""; | 79 | return $"-p:{propertyName}=\\\"{valueToQuote}\\\""; |
78 | } | 80 | } |
79 | case BuildSystem.MSBuild: | 81 | case BuildSystem.MSBuild: |
80 | case BuildSystem.MSBuild64: | 82 | case BuildSystem.MSBuild64: |
81 | { | 83 | { |
84 | // If the value ends with a backslash, escape it. | ||
85 | if (valueToQuote?.EndsWith("\\") == true) | ||
86 | { | ||
87 | valueToQuote += @"\"; | ||
88 | } | ||
89 | |||
82 | return $"-p:{propertyName}=\"{valueToQuote}\""; | 90 | return $"-p:{propertyName}=\"{valueToQuote}\""; |
83 | } | 91 | } |
84 | default: | 92 | default: |
diff --git a/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj b/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj index 35c92246..bd6e222a 100644 --- a/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj +++ b/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj | |||
@@ -22,6 +22,7 @@ | |||
22 | <ProjectReference Include="..\PackageA\PackageA.wixproj" /> | 22 | <ProjectReference Include="..\PackageA\PackageA.wixproj" /> |
23 | </ItemGroup> | 23 | </ItemGroup> |
24 | <ItemGroup> | 24 | <ItemGroup> |
25 | <PackageReference Include="WixToolset.Heat" /> | ||
25 | <PackageReference Include="WixToolset.Bal.wixext" /> | 26 | <PackageReference Include="WixToolset.Bal.wixext" /> |
26 | </ItemGroup> | 27 | </ItemGroup> |
27 | <!-- We do this dynamically to avoid committing so many files to source control. --> | 28 | <!-- We do this dynamically to avoid committing so many files to source control. --> |
diff --git a/src/testresultfilelist.txt b/src/testresultfilelist.txt index fa3a0734..cdf6b00e 100644 --- a/src/testresultfilelist.txt +++ b/src/testresultfilelist.txt | |||
@@ -15,7 +15,7 @@ build/logs/TestResults/WixToolsetTest.Core.Burn.trx | |||
15 | build/logs/TestResults/WixToolsetTest.Core.Native.trx | 15 | build/logs/TestResults/WixToolsetTest.Core.Native.trx |
16 | build/logs/TestResults/WixToolsetTest.CoreIntegration.trx | 16 | build/logs/TestResults/WixToolsetTest.CoreIntegration.trx |
17 | build/logs/TestResults/WixToolsetTest.Dnc.HostGenerator.trx | 17 | build/logs/TestResults/WixToolsetTest.Dnc.HostGenerator.trx |
18 | build/logs/TestResults/WixToolsetTest.Heat.trx | 18 | build/logs/TestResults/WixToolsetTest.HeatTasks.trx |
19 | build/logs/TestResults/WixToolsetTest.ManagedHost.trx | 19 | build/logs/TestResults/WixToolsetTest.ManagedHost.trx |
20 | build/logs/TestResults/WixToolsetTest.Mba.Core.trx | 20 | build/logs/TestResults/WixToolsetTest.Mba.Core.trx |
21 | build/logs/TestResults/WixToolsetTest.MsiE2E.trx | 21 | build/logs/TestResults/WixToolsetTest.MsiE2E.trx |
diff --git a/src/tools/Directory.Build.props b/src/tools/Directory.Build.props index 3fdc6553..bfa668d6 100644 --- a/src/tools/Directory.Build.props +++ b/src/tools/Directory.Build.props | |||
@@ -7,4 +7,8 @@ | |||
7 | </PropertyGroup> | 7 | </PropertyGroup> |
8 | 8 | ||
9 | <Import Project="..\Directory.Build.props" /> | 9 | <Import Project="..\Directory.Build.props" /> |
10 | |||
11 | <PropertyGroup> | ||
12 | <PublishRoot>$(OutputPath)publish\</PublishRoot> | ||
13 | </PropertyGroup> | ||
10 | </Project> | 14 | </Project> |
diff --git a/src/tools/WixToolset.Heat/WixToolset.Heat.csproj b/src/tools/WixToolset.Heat/WixToolset.Heat.csproj new file mode 100644 index 00000000..a3e0eb41 --- /dev/null +++ b/src/tools/WixToolset.Heat/WixToolset.Heat.csproj | |||
@@ -0,0 +1,12 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.NET.Sdk"> | ||
5 | <PropertyGroup> | ||
6 | <TargetFrameworks>netcoreapp3.1</TargetFrameworks> | ||
7 | <Description>WiX Toolset Heat MSBuild integration</Description> | ||
8 | <PublishDir>$(PublishRoot)WixToolset.Heat\</PublishDir> | ||
9 | <NuspecFile>$(MSBuildThisFileName).nuspec</NuspecFile> | ||
10 | <NuspecBasePath>$(PublishDir)</NuspecBasePath> | ||
11 | </PropertyGroup> | ||
12 | </Project> | ||
diff --git a/src/tools/WixToolset.Heat/WixToolset.Heat.nuspec b/src/tools/WixToolset.Heat/WixToolset.Heat.nuspec new file mode 100644 index 00000000..5242773b --- /dev/null +++ b/src/tools/WixToolset.Heat/WixToolset.Heat.nuspec | |||
@@ -0,0 +1,20 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> | ||
3 | <metadata> | ||
4 | <id>$id$</id> | ||
5 | <version>$version$</version> | ||
6 | <title>$title$</title> | ||
7 | <description>$description$</description> | ||
8 | <authors>$authors$</authors> | ||
9 | <license type="expression">MS-RL</license> | ||
10 | <requireLicenseAcceptance>false</requireLicenseAcceptance> | ||
11 | <copyright>$copyright$</copyright> | ||
12 | <projectUrl>$projectUrl$</projectUrl> | ||
13 | <repository type="$repositorytype$" url="$repositoryurl$" commit="$repositorycommit$" /> | ||
14 | </metadata> | ||
15 | |||
16 | <files> | ||
17 | <file src="$projectFolder$\$id$.targets" target="build" /> | ||
18 | <file src="tools\**\*" target="tools" /> | ||
19 | </files> | ||
20 | </package> | ||
diff --git a/src/wix/WixToolset.Sdk/tools/wix.harvest.targets b/src/tools/WixToolset.Heat/WixToolset.Heat.targets index 23e4a68e..ba854459 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.harvest.targets +++ b/src/tools/WixToolset.Heat/WixToolset.Heat.targets | |||
@@ -5,16 +5,27 @@ | |||
5 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 5 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
6 | <!-- These properties can be overridden to support non-default installations. --> | 6 | <!-- These properties can be overridden to support non-default installations. --> |
7 | <PropertyGroup> | 7 | <PropertyGroup> |
8 | <HeatToolDir Condition=" '$(HeatToolDir)' == '' ">$(WixToolDir)</HeatToolDir> | 8 | <WixHeatBinDir Condition=" '$(WixHeatBinDir)' == '' and '$(MSBuildRuntimeType)' == 'Core' ">$(MSBuildThisFileDirectory)..\tools\netcoreapp3.1\</WixHeatBinDir> |
9 | <WixHeatBinDir Condition=" '$(WixHeatBinDir)' == '' ">$(MSBuildThisFileDirectory)..\tools\net472\</WixHeatBinDir> | ||
10 | <WixHeatTasksPath Condition=" '$(WixHeatTasksPath)' == '' ">$(WixHeatBinDir)WixToolset.HeatTasks.dll</WixHeatTasksPath> | ||
11 | |||
12 | <!-- | ||
13 | For backwards compatibility, the MSBuild tasks always default to the x86 heat.exe even though a x64 heat.exe is available. | ||
14 | For "dotnet.exe build" the Heat tasks calculate the command-line to start heat.dll in .NET Core. | ||
15 | --> | ||
16 | <HeatToolDir Condition=" '$(HeatToolDir)' == '' and '$(MSBuildRuntimeType)' != 'Core' ">$(MSBuildThisFileDirectory)..\tools\net472\x86\</HeatToolDir> | ||
17 | |||
18 | <HeatExe Condition=" '$(HeatExe)' == '' ">$(MSBuildThisFileDirectory)..\tools\net472\x86\heat.exe</HeatExe> | ||
19 | <HeatExe64 Condition=" '$(HeatExe64)' == '' ">$(MSBuildThisFileDirectory)..\tools\net472\x64\heat.exe</HeatExe64> | ||
9 | </PropertyGroup> | 20 | </PropertyGroup> |
10 | 21 | ||
11 | <!-- These tasks are extensions for harvesting WiX source code from other sources. --> | 22 | <!-- These tasks are extensions for harvesting WiX source code from other sources. --> |
12 | <UsingTask TaskName="HeatFile" AssemblyFile="$(WixTasksPath)" /> | 23 | <UsingTask TaskName="HeatFile" AssemblyFile="$(WixHeatTasksPath)" /> |
13 | <UsingTask TaskName="HeatDirectory" AssemblyFile="$(WixTasksPath)" /> | 24 | <UsingTask TaskName="HeatDirectory" AssemblyFile="$(WixHeatTasksPath)" /> |
14 | <UsingTask TaskName="HeatProject" AssemblyFile="$(WixTasksPath)" /> | 25 | <UsingTask TaskName="HeatProject" AssemblyFile="$(WixHeatTasksPath)" /> |
15 | 26 | ||
16 | <UsingTask TaskName="RefreshGeneratedFile" AssemblyFile="$(WixTasksPath)"/> | 27 | <UsingTask TaskName="RefreshGeneratedFile" AssemblyFile="$(WixHeatTasksPath)"/> |
17 | <UsingTask TaskName="RefreshBundleGeneratedFile" AssemblyFile="$(WixTasksPath)"/> | 28 | <UsingTask TaskName="RefreshBundleGeneratedFile" AssemblyFile="$(WixHeatTasksPath)"/> |
18 | 29 | ||
19 | <!-- Default Harvester properties--> | 30 | <!-- Default Harvester properties--> |
20 | <PropertyGroup> | 31 | <PropertyGroup> |
@@ -278,8 +289,6 @@ | |||
278 | GenerateWixVariables="$(HarvestProjectsGenerateWixVariables)" | 289 | GenerateWixVariables="$(HarvestProjectsGenerateWixVariables)" |
279 | UseToolsVersion="$(HarvestProjectsUseToolsVersion)" | 290 | UseToolsVersion="$(HarvestProjectsUseToolsVersion)" |
280 | AdditionalOptions="$(HarvestProjectsAdditionalOptions)" | 291 | AdditionalOptions="$(HarvestProjectsAdditionalOptions)" |
281 | RunAsSeparateProcess="$(RunWixToolsOutOfProc)" | ||
282 | ToolExe="$(HeatToolExe)" | ||
283 | ToolPath="$(HeatToolDir)"> | 292 | ToolPath="$(HeatToolDir)"> |
284 | 293 | ||
285 | <Output TaskParameter="OutputFile" ItemName="Compile" /> | 294 | <Output TaskParameter="OutputFile" ItemName="Compile" /> |
@@ -366,8 +375,6 @@ | |||
366 | SuppressRootDirectory="%(HarvestDirectory.SuppressRootDirectory)" | 375 | SuppressRootDirectory="%(HarvestDirectory.SuppressRootDirectory)" |
367 | SuppressRegistry="%(HarvestDirectory.SuppressRegistry)" | 376 | SuppressRegistry="%(HarvestDirectory.SuppressRegistry)" |
368 | AdditionalOptions="$(HarvestDirectoryAdditionalOptions)" | 377 | AdditionalOptions="$(HarvestDirectoryAdditionalOptions)" |
369 | RunAsSeparateProcess="$(RunWixToolsOutOfProc)" | ||
370 | ToolExe="$(HeatToolExe)" | ||
371 | ToolPath="$(HeatToolDir)"> | 378 | ToolPath="$(HeatToolDir)"> |
372 | 379 | ||
373 | <Output TaskParameter="OutputFile" ItemName="Compile" /> | 380 | <Output TaskParameter="OutputFile" ItemName="Compile" /> |
@@ -442,8 +449,6 @@ | |||
442 | SuppressRegistry="%(HarvestFile.SuppressRegistry)" | 449 | SuppressRegistry="%(HarvestFile.SuppressRegistry)" |
443 | SuppressRootDirectory="%(HarvestFile.SuppressRootDirectory)" | 450 | SuppressRootDirectory="%(HarvestFile.SuppressRootDirectory)" |
444 | AdditionalOptions="$(HarvestFileAdditionalOptions)" | 451 | AdditionalOptions="$(HarvestFileAdditionalOptions)" |
445 | RunAsSeparateProcess="$(RunWixToolsOutOfProc)" | ||
446 | ToolExe="$(HeatToolExe)" | ||
447 | ToolPath="$(HeatToolDir)"> | 452 | ToolPath="$(HeatToolDir)"> |
448 | 453 | ||
449 | <Output TaskParameter="OutputFile" ItemName="Compile" /> | 454 | <Output TaskParameter="OutputFile" ItemName="Compile" /> |
diff --git a/src/tools/WixToolset.HeatTasks/HeatDirectory.cs b/src/tools/WixToolset.HeatTasks/HeatDirectory.cs new file mode 100644 index 00000000..8a169055 --- /dev/null +++ b/src/tools/WixToolset.HeatTasks/HeatDirectory.cs | |||
@@ -0,0 +1,47 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.HeatTasks | ||
4 | { | ||
5 | using Microsoft.Build.Framework; | ||
6 | |||
7 | public sealed class HeatDirectory : HeatTask | ||
8 | { | ||
9 | public string ComponentGroupName { get; set; } | ||
10 | |||
11 | [Required] | ||
12 | public string Directory { get; set; } | ||
13 | |||
14 | public string DirectoryRefId { get; set; } | ||
15 | |||
16 | public bool KeepEmptyDirectories { get; set; } | ||
17 | |||
18 | public string PreprocessorVariable { get; set; } | ||
19 | |||
20 | public bool SuppressCom { get; set; } | ||
21 | |||
22 | public bool SuppressRootDirectory { get; set; } | ||
23 | |||
24 | public bool SuppressRegistry { get; set; } | ||
25 | |||
26 | public string Template { get; set; } | ||
27 | |||
28 | protected override string OperationName => "dir"; | ||
29 | |||
30 | protected override void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) | ||
31 | { | ||
32 | commandLineBuilder.AppendSwitch(this.OperationName); | ||
33 | commandLineBuilder.AppendFileNameIfNotNull(this.Directory); | ||
34 | |||
35 | commandLineBuilder.AppendSwitchIfNotNull("-cg ", this.ComponentGroupName); | ||
36 | commandLineBuilder.AppendSwitchIfNotNull("-dr ", this.DirectoryRefId); | ||
37 | commandLineBuilder.AppendIfTrue("-ke", this.KeepEmptyDirectories); | ||
38 | commandLineBuilder.AppendIfTrue("-scom", this.SuppressCom); | ||
39 | commandLineBuilder.AppendIfTrue("-sreg", this.SuppressRegistry); | ||
40 | commandLineBuilder.AppendIfTrue("-srd", this.SuppressRootDirectory); | ||
41 | commandLineBuilder.AppendSwitchIfNotNull("-template ", this.Template); | ||
42 | commandLineBuilder.AppendSwitchIfNotNull("-var ", this.PreprocessorVariable); | ||
43 | |||
44 | base.BuildCommandLine(commandLineBuilder); | ||
45 | } | ||
46 | } | ||
47 | } | ||
diff --git a/src/tools/WixToolset.HeatTasks/HeatFile.cs b/src/tools/WixToolset.HeatTasks/HeatFile.cs new file mode 100644 index 00000000..83cbc4d1 --- /dev/null +++ b/src/tools/WixToolset.HeatTasks/HeatFile.cs | |||
@@ -0,0 +1,44 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.HeatTasks | ||
4 | { | ||
5 | using Microsoft.Build.Framework; | ||
6 | |||
7 | public sealed class HeatFile : HeatTask | ||
8 | { | ||
9 | public string ComponentGroupName { get; set; } | ||
10 | |||
11 | public string DirectoryRefId { get; set; } | ||
12 | |||
13 | [Required] | ||
14 | public string File { get; set; } | ||
15 | |||
16 | public string PreprocessorVariable { get; set; } | ||
17 | |||
18 | public bool SuppressCom { get; set; } | ||
19 | |||
20 | public bool SuppressRegistry { get; set; } | ||
21 | |||
22 | public bool SuppressRootDirectory { get; set; } | ||
23 | |||
24 | public string Template { get; set; } | ||
25 | |||
26 | protected override string OperationName => "file"; | ||
27 | |||
28 | protected override void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) | ||
29 | { | ||
30 | commandLineBuilder.AppendSwitch(this.OperationName); | ||
31 | commandLineBuilder.AppendFileNameIfNotNull(this.File); | ||
32 | |||
33 | commandLineBuilder.AppendSwitchIfNotNull("-cg ", this.ComponentGroupName); | ||
34 | commandLineBuilder.AppendSwitchIfNotNull("-dr ", this.DirectoryRefId); | ||
35 | commandLineBuilder.AppendIfTrue("-scom", this.SuppressCom); | ||
36 | commandLineBuilder.AppendIfTrue("-srd", this.SuppressRootDirectory); | ||
37 | commandLineBuilder.AppendIfTrue("-sreg", this.SuppressRegistry); | ||
38 | commandLineBuilder.AppendSwitchIfNotNull("-template ", this.Template); | ||
39 | commandLineBuilder.AppendSwitchIfNotNull("-var ", this.PreprocessorVariable); | ||
40 | |||
41 | base.BuildCommandLine(commandLineBuilder); | ||
42 | } | ||
43 | } | ||
44 | } | ||
diff --git a/src/wix/WixToolset.BuildTasks/HeatProject.cs b/src/tools/WixToolset.HeatTasks/HeatProject.cs index 3833a754..d54f6ad1 100644 --- a/src/wix/WixToolset.BuildTasks/HeatProject.cs +++ b/src/tools/WixToolset.HeatTasks/HeatProject.cs | |||
@@ -1,64 +1,29 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
2 | 2 | ||
3 | namespace WixToolset.BuildTasks | 3 | namespace WixToolset.HeatTasks |
4 | { | 4 | { |
5 | using Microsoft.Build.Framework; | 5 | using Microsoft.Build.Framework; |
6 | 6 | ||
7 | public sealed class HeatProject : HeatTask | 7 | public sealed class HeatProject : HeatTask |
8 | { | 8 | { |
9 | private string configuration; | ||
10 | private string directoryIds; | ||
11 | private string generateType; | ||
12 | private bool generateWixVariables; | ||
13 | private string platform; | ||
14 | private string project; | ||
15 | private string projectName; | ||
16 | private string[] projectOutputGroups; | 9 | private string[] projectOutputGroups; |
17 | 10 | ||
18 | public string Configuration | 11 | public string Configuration { get; set; } |
19 | { | ||
20 | get { return this.configuration; } | ||
21 | set { this.configuration = value; } | ||
22 | } | ||
23 | 12 | ||
24 | public string DirectoryIds | 13 | public string DirectoryIds { get; set; } |
25 | { | ||
26 | get { return this.directoryIds; } | ||
27 | set { this.directoryIds = value; } | ||
28 | } | ||
29 | 14 | ||
30 | public bool GenerateWixVariables | 15 | public bool GenerateWixVariables { get; set; } |
31 | { | ||
32 | get { return this.generateWixVariables; } | ||
33 | set { this.generateWixVariables = value; } | ||
34 | } | ||
35 | 16 | ||
36 | public string GenerateType | 17 | public string GenerateType { get; set; } |
37 | { | ||
38 | get { return this.generateType; } | ||
39 | set { this.generateType = value; } | ||
40 | } | ||
41 | 18 | ||
42 | public string MsbuildBinPath { get; set; } | 19 | public string MsbuildBinPath { get; set; } |
43 | 20 | ||
44 | public string Platform | 21 | public string Platform { get; set; } |
45 | { | ||
46 | get { return this.platform; } | ||
47 | set { this.platform = value; } | ||
48 | } | ||
49 | 22 | ||
50 | [Required] | 23 | [Required] |
51 | public string Project | 24 | public string Project { get; set; } |
52 | { | ||
53 | get { return this.project; } | ||
54 | set { this.project = value; } | ||
55 | } | ||
56 | 25 | ||
57 | public string ProjectName | 26 | public string ProjectName { get; set; } |
58 | { | ||
59 | get { return this.projectName; } | ||
60 | set { this.projectName = value; } | ||
61 | } | ||
62 | 27 | ||
63 | public string[] ProjectOutputGroups | 28 | public string[] ProjectOutputGroups |
64 | { | 29 | { |
@@ -81,10 +46,7 @@ namespace WixToolset.BuildTasks | |||
81 | 46 | ||
82 | public bool UseToolsVersion { get; set; } | 47 | public bool UseToolsVersion { get; set; } |
83 | 48 | ||
84 | protected override string OperationName | 49 | protected override string OperationName => "project"; |
85 | { | ||
86 | get { return "project"; } | ||
87 | } | ||
88 | 50 | ||
89 | protected override void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) | 51 | protected override void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) |
90 | { | 52 | { |
diff --git a/src/tools/WixToolset.HeatTasks/HeatTask.cs b/src/tools/WixToolset.HeatTasks/HeatTask.cs new file mode 100644 index 00000000..8942a7e1 --- /dev/null +++ b/src/tools/WixToolset.HeatTasks/HeatTask.cs | |||
@@ -0,0 +1,176 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.HeatTasks | ||
4 | { | ||
5 | using System; | ||
6 | using System.IO; | ||
7 | using System.Runtime.InteropServices; | ||
8 | using Microsoft.Build.Framework; | ||
9 | using Microsoft.Build.Utilities; | ||
10 | |||
11 | /// <summary> | ||
12 | /// A base MSBuild task to run the WiX harvester. | ||
13 | /// Specific harvester tasks should extend this class. | ||
14 | /// </summary> | ||
15 | public abstract partial class HeatTask : ToolTask | ||
16 | { | ||
17 | private static readonly string ThisDllPath = new Uri(typeof(HeatTask).Assembly.CodeBase).AbsolutePath; | ||
18 | |||
19 | /// <summary> | ||
20 | /// Gets or sets additional options that are appended the the tool command-line. | ||
21 | /// </summary> | ||
22 | /// <remarks> | ||
23 | /// This allows the task to support extended options in the tool which are not | ||
24 | /// explicitly implemented as properties on the task. | ||
25 | /// </remarks> | ||
26 | public string AdditionalOptions { get; set; } | ||
27 | |||
28 | /// <summary> | ||
29 | /// Gets or sets whether to display the logo. | ||
30 | /// </summary> | ||
31 | public bool NoLogo { get; set; } | ||
32 | |||
33 | /// <summary> | ||
34 | /// Gets or sets whether all warnings should be suppressed. | ||
35 | /// </summary> | ||
36 | public bool SuppressAllWarnings { get; set; } | ||
37 | |||
38 | /// <summary> | ||
39 | /// Gets or sets a list of specific warnings to be suppressed. | ||
40 | /// </summary> | ||
41 | public string[] SuppressSpecificWarnings { get; set; } | ||
42 | |||
43 | /// <summary> | ||
44 | /// Gets or sets whether all warnings should be treated as errors. | ||
45 | /// </summary> | ||
46 | public bool TreatWarningsAsErrors { get; set; } | ||
47 | |||
48 | /// <summary> | ||
49 | /// Gets or sets a list of specific warnings to treat as errors. | ||
50 | /// </summary> | ||
51 | public string[] TreatSpecificWarningsAsErrors { get; set; } | ||
52 | |||
53 | /// <summary> | ||
54 | /// Gets or sets whether to display verbose output. | ||
55 | /// </summary> | ||
56 | public bool VerboseOutput { get; set; } | ||
57 | |||
58 | public bool AutogenerateGuids { get; set; } | ||
59 | |||
60 | public bool GenerateGuidsNow { get; set; } | ||
61 | |||
62 | [Required] | ||
63 | [Output] | ||
64 | public ITaskItem OutputFile { get; set; } | ||
65 | |||
66 | public bool SuppressFragments { get; set; } | ||
67 | |||
68 | public bool SuppressUniqueIds { get; set; } | ||
69 | |||
70 | public string[] Transforms { get; set; } | ||
71 | |||
72 | protected sealed override string ToolName => "heat.exe"; | ||
73 | |||
74 | /// <summary> | ||
75 | /// Gets the name of the heat operation performed by the task. | ||
76 | /// </summary> | ||
77 | /// <remarks>This is the first parameter passed on the heat.exe command-line.</remarks> | ||
78 | /// <value>The name of the heat operation performed by the task.</value> | ||
79 | protected abstract string OperationName { get; } | ||
80 | |||
81 | private string ToolFullPath | ||
82 | { | ||
83 | get | ||
84 | { | ||
85 | if (String.IsNullOrEmpty(this.ToolPath)) | ||
86 | { | ||
87 | return Path.Combine(Path.GetDirectoryName(ThisDllPath), this.ToolExe); | ||
88 | } | ||
89 | |||
90 | return Path.Combine(this.ToolPath, this.ToolExe); | ||
91 | } | ||
92 | } | ||
93 | |||
94 | /// <summary> | ||
95 | /// Get the path to the executable. | ||
96 | /// </summary> | ||
97 | /// <remarks> | ||
98 | /// ToolTask only calls GenerateFullPathToTool when the ToolPath property is not set. | ||
99 | /// WiX never sets the ToolPath property, but the user can through $(HeatToolDir). | ||
100 | /// If we return only a file name, ToolTask will search the system paths for it. | ||
101 | /// </remarks> | ||
102 | protected sealed override string GenerateFullPathToTool() | ||
103 | { | ||
104 | #if NETCOREAPP | ||
105 | // If we're not using heat.exe, use dotnet.exe to exec heat.dll. | ||
106 | // See this.GenerateCommandLine() where "exec heat.dll" is added. | ||
107 | if (!IsSelfExecutable(this.ToolFullPath, out var toolFullPath)) | ||
108 | { | ||
109 | return DotnetFullPath; | ||
110 | } | ||
111 | |||
112 | return toolFullPath; | ||
113 | #else | ||
114 | return this.ToolFullPath; | ||
115 | #endif | ||
116 | } | ||
117 | |||
118 | protected sealed override string GenerateCommandLineCommands() | ||
119 | { | ||
120 | var commandLineBuilder = new WixCommandLineBuilder(); | ||
121 | |||
122 | #if NETCOREAPP | ||
123 | // If we're using dotnet.exe as the target executable, see this.GenerateFullPathToTool(), | ||
124 | // then add "exec heat.dll" to the beginning of the command-line. | ||
125 | if (!IsSelfExecutable(this.ToolFullPath, out var toolFullPath)) | ||
126 | { | ||
127 | //commandLineBuilder.AppendSwitchIfNotNull("exec ", toolFullPath); | ||
128 | commandLineBuilder.AppendSwitch($"exec \"{toolFullPath}\""); | ||
129 | } | ||
130 | #endif | ||
131 | |||
132 | this.BuildCommandLine(commandLineBuilder); | ||
133 | return commandLineBuilder.ToString(); | ||
134 | } | ||
135 | |||
136 | /// <summary> | ||
137 | /// Builds a command line from options in this task. | ||
138 | /// </summary> | ||
139 | protected virtual void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) | ||
140 | { | ||
141 | commandLineBuilder.AppendIfTrue("-nologo", this.NoLogo); | ||
142 | commandLineBuilder.AppendArrayIfNotNull("-sw", this.SuppressSpecificWarnings); | ||
143 | commandLineBuilder.AppendIfTrue("-sw", this.SuppressAllWarnings); | ||
144 | commandLineBuilder.AppendIfTrue("-v", this.VerboseOutput); | ||
145 | commandLineBuilder.AppendArrayIfNotNull("-wx", this.TreatSpecificWarningsAsErrors); | ||
146 | commandLineBuilder.AppendIfTrue("-wx", this.TreatWarningsAsErrors); | ||
147 | |||
148 | commandLineBuilder.AppendIfTrue("-ag", this.AutogenerateGuids); | ||
149 | commandLineBuilder.AppendIfTrue("-gg", this.GenerateGuidsNow); | ||
150 | commandLineBuilder.AppendIfTrue("-sfrag", this.SuppressFragments); | ||
151 | commandLineBuilder.AppendIfTrue("-suid", this.SuppressUniqueIds); | ||
152 | commandLineBuilder.AppendArrayIfNotNull("-t ", this.Transforms); | ||
153 | commandLineBuilder.AppendTextIfNotNull(this.AdditionalOptions); | ||
154 | commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile); | ||
155 | } | ||
156 | |||
157 | #if NETCOREAPP | ||
158 | private static readonly string DotnetFullPath = Environment.GetEnvironmentVariable("DOTNET_HOST_PATH") ?? "dotnet"; | ||
159 | |||
160 | private static bool IsSelfExecutable(string proposedToolFullPath, out string toolFullPath) | ||
161 | { | ||
162 | var toolFullPathWithoutExtension = Path.Combine(Path.GetDirectoryName(proposedToolFullPath), Path.GetFileNameWithoutExtension(proposedToolFullPath)); | ||
163 | var exeExtension = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : String.Empty; | ||
164 | var exeToolFullPath = $"{toolFullPathWithoutExtension}{exeExtension}"; | ||
165 | if (File.Exists(exeToolFullPath)) | ||
166 | { | ||
167 | toolFullPath = exeToolFullPath; | ||
168 | return true; | ||
169 | } | ||
170 | |||
171 | toolFullPath = $"{toolFullPathWithoutExtension}.dll"; | ||
172 | return false; | ||
173 | } | ||
174 | #endif | ||
175 | } | ||
176 | } | ||
diff --git a/src/wix/WixToolset.BuildTasks/RefreshBundleGeneratedFile.cs b/src/tools/WixToolset.HeatTasks/RefreshBundleGeneratedFile.cs index 983695c9..8f1ad167 100644 --- a/src/wix/WixToolset.BuildTasks/RefreshBundleGeneratedFile.cs +++ b/src/tools/WixToolset.HeatTasks/RefreshBundleGeneratedFile.cs | |||
@@ -1,6 +1,6 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
2 | 2 | ||
3 | namespace WixToolset.BuildTasks | 3 | namespace WixToolset.HeatTasks |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Collections; | 6 | using System.Collections; |
@@ -8,48 +8,35 @@ namespace WixToolset.BuildTasks | |||
8 | using System.IO; | 8 | using System.IO; |
9 | using System.Xml; | 9 | using System.Xml; |
10 | using Microsoft.Build.Framework; | 10 | using Microsoft.Build.Framework; |
11 | using Microsoft.Build.Utilities; | ||
12 | 11 | ||
13 | /// <summary> | 12 | /// <summary> |
14 | /// This task refreshes the generated file for bundle projects. | 13 | /// This task refreshes the generated file for bundle projects. |
15 | /// </summary> | 14 | /// </summary> |
16 | public class RefreshBundleGeneratedFile : Task | 15 | public class RefreshBundleGeneratedFile : RefreshTask |
17 | { | 16 | { |
18 | /// <summary> | 17 | /// <summary> |
19 | /// The list of files to generate. | ||
20 | /// </summary> | ||
21 | [Required] | ||
22 | public ITaskItem[] GeneratedFiles { get; set; } | ||
23 | |||
24 | /// <summary> | ||
25 | /// All the project references in the project. | ||
26 | /// </summary> | ||
27 | [Required] | ||
28 | public ITaskItem[] ProjectReferencePaths { get; set; } | ||
29 | |||
30 | /// <summary> | ||
31 | /// Gets a complete list of external cabs referenced by the given installer database file. | 18 | /// Gets a complete list of external cabs referenced by the given installer database file. |
32 | /// </summary> | 19 | /// </summary> |
33 | /// <returns>True upon completion of the task execution.</returns> | 20 | /// <returns>True upon completion of the task execution.</returns> |
34 | public override bool Execute() | 21 | public override bool Execute() |
35 | { | 22 | { |
36 | ArrayList payloadGroupRefs = new ArrayList(); | 23 | var payloadGroupRefs = new ArrayList(); |
37 | ArrayList packageGroupRefs = new ArrayList(); | 24 | var packageGroupRefs = new ArrayList(); |
38 | for (int i = 0; i < this.ProjectReferencePaths.Length; i++) | 25 | for (var i = 0; i < this.ProjectReferencePaths.Length; i++) |
39 | { | 26 | { |
40 | ITaskItem item = this.ProjectReferencePaths[i]; | 27 | var item = this.ProjectReferencePaths[i]; |
41 | 28 | ||
42 | if (!String.IsNullOrEmpty(item.GetMetadata(ToolsCommon.DoNotHarvest))) | 29 | if (!String.IsNullOrEmpty(item.GetMetadata(DoNotHarvest))) |
43 | { | 30 | { |
44 | continue; | 31 | continue; |
45 | } | 32 | } |
46 | 33 | ||
47 | string projectPath = item.GetMetadata("MSBuildSourceProjectFile"); | 34 | var projectPath = item.GetMetadata("MSBuildSourceProjectFile"); |
48 | string projectName = Path.GetFileNameWithoutExtension(projectPath); | 35 | var projectName = Path.GetFileNameWithoutExtension(projectPath); |
49 | string referenceName = ToolsCommon.GetIdentifierFromName(ToolsCommon.GetMetadataOrDefault(item, "Name", projectName)); | 36 | var referenceName = GetIdentifierFromName(GetMetadataOrDefault(item, "Name", projectName)); |
50 | 37 | ||
51 | string[] pogs = item.GetMetadata("RefProjectOutputGroups").Split(';'); | 38 | var pogs = item.GetMetadata("RefProjectOutputGroups").Split(';'); |
52 | foreach (string pog in pogs) | 39 | foreach (var pog in pogs) |
53 | { | 40 | { |
54 | if (!String.IsNullOrEmpty(pog)) | 41 | if (!String.IsNullOrEmpty(pog)) |
55 | { | 42 | { |
@@ -60,43 +47,43 @@ namespace WixToolset.BuildTasks | |||
60 | } | 47 | } |
61 | } | 48 | } |
62 | 49 | ||
63 | XmlDocument doc = new XmlDocument(); | 50 | var doc = new XmlDocument(); |
64 | 51 | ||
65 | XmlProcessingInstruction head = doc.CreateProcessingInstruction("xml", "version='1.0' encoding='UTF-8'"); | 52 | var head = doc.CreateProcessingInstruction("xml", "version='1.0' encoding='UTF-8'"); |
66 | doc.AppendChild(head); | 53 | doc.AppendChild(head); |
67 | 54 | ||
68 | XmlElement rootElement = doc.CreateElement("Wix"); | 55 | var rootElement = doc.CreateElement("Wix"); |
69 | rootElement.SetAttribute("xmlns", "http://wixtoolset.org/schemas/v4/wxs"); | 56 | rootElement.SetAttribute("xmlns", "http://wixtoolset.org/schemas/v4/wxs"); |
70 | doc.AppendChild(rootElement); | 57 | doc.AppendChild(rootElement); |
71 | 58 | ||
72 | XmlElement fragment = doc.CreateElement("Fragment"); | 59 | var fragment = doc.CreateElement("Fragment"); |
73 | rootElement.AppendChild(fragment); | 60 | rootElement.AppendChild(fragment); |
74 | 61 | ||
75 | XmlElement payloadGroup = doc.CreateElement("PayloadGroup"); | 62 | var payloadGroup = doc.CreateElement("PayloadGroup"); |
76 | payloadGroup.SetAttribute("Id", "Bundle.Generated.Payloads"); | 63 | payloadGroup.SetAttribute("Id", "Bundle.Generated.Payloads"); |
77 | fragment.AppendChild(payloadGroup); | 64 | fragment.AppendChild(payloadGroup); |
78 | 65 | ||
79 | XmlElement packageGroup = doc.CreateElement("PackageGroup"); | 66 | var packageGroup = doc.CreateElement("PackageGroup"); |
80 | packageGroup.SetAttribute("Id", "Bundle.Generated.Packages"); | 67 | packageGroup.SetAttribute("Id", "Bundle.Generated.Packages"); |
81 | fragment.AppendChild(packageGroup); | 68 | fragment.AppendChild(packageGroup); |
82 | 69 | ||
83 | foreach (string payloadGroupRef in payloadGroupRefs) | 70 | foreach (string payloadGroupRef in payloadGroupRefs) |
84 | { | 71 | { |
85 | XmlElement payloadGroupRefElement = doc.CreateElement("PayloadGroupRef"); | 72 | var payloadGroupRefElement = doc.CreateElement("PayloadGroupRef"); |
86 | payloadGroupRefElement.SetAttribute("Id", payloadGroupRef); | 73 | payloadGroupRefElement.SetAttribute("Id", payloadGroupRef); |
87 | payloadGroup.AppendChild(payloadGroupRefElement); | 74 | payloadGroup.AppendChild(payloadGroupRefElement); |
88 | } | 75 | } |
89 | 76 | ||
90 | foreach (string packageGroupRef in packageGroupRefs) | 77 | foreach (string packageGroupRef in packageGroupRefs) |
91 | { | 78 | { |
92 | XmlElement packageGroupRefElement = doc.CreateElement("PackageGroupRef"); | 79 | var packageGroupRefElement = doc.CreateElement("PackageGroupRef"); |
93 | packageGroupRefElement.SetAttribute("Id", packageGroupRef); | 80 | packageGroupRefElement.SetAttribute("Id", packageGroupRef); |
94 | packageGroup.AppendChild(packageGroupRefElement); | 81 | packageGroup.AppendChild(packageGroupRefElement); |
95 | } | 82 | } |
96 | 83 | ||
97 | foreach (ITaskItem item in this.GeneratedFiles) | 84 | foreach (var item in this.GeneratedFiles) |
98 | { | 85 | { |
99 | string fullPath = item.GetMetadata("FullPath"); | 86 | var fullPath = item.GetMetadata("FullPath"); |
100 | 87 | ||
101 | payloadGroup.SetAttribute("Id", Path.GetFileNameWithoutExtension(fullPath) + ".Payloads"); | 88 | payloadGroup.SetAttribute("Id", Path.GetFileNameWithoutExtension(fullPath) + ".Payloads"); |
102 | packageGroup.SetAttribute("Id", Path.GetFileNameWithoutExtension(fullPath) + ".Packages"); | 89 | packageGroup.SetAttribute("Id", Path.GetFileNameWithoutExtension(fullPath) + ".Packages"); |
diff --git a/src/wix/WixToolset.BuildTasks/RefreshGeneratedFile.cs b/src/tools/WixToolset.HeatTasks/RefreshGeneratedFile.cs index e18ae222..1e43cc1f 100644 --- a/src/wix/WixToolset.BuildTasks/RefreshGeneratedFile.cs +++ b/src/tools/WixToolset.HeatTasks/RefreshGeneratedFile.cs | |||
@@ -1,6 +1,6 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
2 | 2 | ||
3 | namespace WixToolset.BuildTasks | 3 | namespace WixToolset.HeatTasks |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Collections; | 6 | using System.Collections; |
@@ -8,48 +8,36 @@ namespace WixToolset.BuildTasks | |||
8 | using System.IO; | 8 | using System.IO; |
9 | using System.Xml; | 9 | using System.Xml; |
10 | using Microsoft.Build.Framework; | 10 | using Microsoft.Build.Framework; |
11 | using Microsoft.Build.Utilities; | ||
12 | 11 | ||
13 | /// <summary> | 12 | /// <summary> |
14 | /// This task refreshes the generated file that contains ComponentGroupRefs | 13 | /// This task refreshes the generated file that contains ComponentGroupRefs |
15 | /// to harvested output. | 14 | /// to harvested output. |
16 | /// </summary> | 15 | /// </summary> |
17 | public class RefreshGeneratedFile : Task | 16 | public class RefreshGeneratedFile : RefreshTask |
18 | { | 17 | { |
19 | /// <summary> | 18 | /// <summary> |
20 | /// The list of files to generate. | ||
21 | /// </summary> | ||
22 | [Required] | ||
23 | public ITaskItem[] GeneratedFiles { get; set; } | ||
24 | |||
25 | /// <summary> | ||
26 | /// All the project references in the project. | ||
27 | /// </summary> | ||
28 | [Required] | ||
29 | public ITaskItem[] ProjectReferencePaths { get; set; } | ||
30 | |||
31 | /// <summary> | ||
32 | /// Gets a complete list of external cabs referenced by the given installer database file. | 19 | /// Gets a complete list of external cabs referenced by the given installer database file. |
33 | /// </summary> | 20 | /// </summary> |
34 | /// <returns>True upon completion of the task execution.</returns> | 21 | /// <returns>True upon completion of the task execution.</returns> |
35 | public override bool Execute() | 22 | public override bool Execute() |
36 | { | 23 | { |
37 | ArrayList componentGroupRefs = new ArrayList(); | 24 | var componentGroupRefs = new ArrayList(); |
38 | for (int i = 0; i < this.ProjectReferencePaths.Length; i++) | 25 | |
26 | for (var i = 0; i < this.ProjectReferencePaths.Length; i++) | ||
39 | { | 27 | { |
40 | ITaskItem item = this.ProjectReferencePaths[i]; | 28 | var item = this.ProjectReferencePaths[i]; |
41 | 29 | ||
42 | if (!String.IsNullOrEmpty(item.GetMetadata(ToolsCommon.DoNotHarvest))) | 30 | if (!String.IsNullOrEmpty(item.GetMetadata(DoNotHarvest))) |
43 | { | 31 | { |
44 | continue; | 32 | continue; |
45 | } | 33 | } |
46 | 34 | ||
47 | string projectPath = item.GetMetadata("MSBuildSourceProjectFile"); | 35 | var projectPath = item.GetMetadata("MSBuildSourceProjectFile"); |
48 | string projectName = Path.GetFileNameWithoutExtension(projectPath); | 36 | var projectName = Path.GetFileNameWithoutExtension(projectPath); |
49 | string referenceName = ToolsCommon.GetIdentifierFromName(ToolsCommon.GetMetadataOrDefault(item, "Name", projectName)); | 37 | var referenceName = GetIdentifierFromName(GetMetadataOrDefault(item, "Name", projectName)); |
50 | 38 | ||
51 | string[] pogs = item.GetMetadata("RefProjectOutputGroups").Split(';'); | 39 | var pogs = item.GetMetadata("RefProjectOutputGroups").Split(';'); |
52 | foreach (string pog in pogs) | 40 | foreach (var pog in pogs) |
53 | { | 41 | { |
54 | if (!String.IsNullOrEmpty(pog)) | 42 | if (!String.IsNullOrEmpty(pog)) |
55 | { | 43 | { |
@@ -58,32 +46,32 @@ namespace WixToolset.BuildTasks | |||
58 | } | 46 | } |
59 | } | 47 | } |
60 | 48 | ||
61 | XmlDocument doc = new XmlDocument(); | 49 | var doc = new XmlDocument(); |
62 | 50 | ||
63 | XmlProcessingInstruction head = doc.CreateProcessingInstruction("xml", "version='1.0' encoding='UTF-8'"); | 51 | var head = doc.CreateProcessingInstruction("xml", "version='1.0' encoding='UTF-8'"); |
64 | doc.AppendChild(head); | 52 | doc.AppendChild(head); |
65 | 53 | ||
66 | XmlElement rootElement = doc.CreateElement("Wix"); | 54 | var rootElement = doc.CreateElement("Wix"); |
67 | rootElement.SetAttribute("xmlns", "http://wixtoolset.org/schemas/v4/wxs"); | 55 | rootElement.SetAttribute("xmlns", "http://wixtoolset.org/schemas/v4/wxs"); |
68 | doc.AppendChild(rootElement); | 56 | doc.AppendChild(rootElement); |
69 | 57 | ||
70 | XmlElement fragment = doc.CreateElement("Fragment"); | 58 | var fragment = doc.CreateElement("Fragment"); |
71 | rootElement.AppendChild(fragment); | 59 | rootElement.AppendChild(fragment); |
72 | 60 | ||
73 | XmlElement componentGroup = doc.CreateElement("ComponentGroup"); | 61 | var componentGroup = doc.CreateElement("ComponentGroup"); |
74 | componentGroup.SetAttribute("Id", "Product.Generated"); | 62 | componentGroup.SetAttribute("Id", "Product.Generated"); |
75 | fragment.AppendChild(componentGroup); | 63 | fragment.AppendChild(componentGroup); |
76 | 64 | ||
77 | foreach (string componentGroupRef in componentGroupRefs) | 65 | foreach (string componentGroupRef in componentGroupRefs) |
78 | { | 66 | { |
79 | XmlElement componentGroupRefElement = doc.CreateElement("ComponentGroupRef"); | 67 | var componentGroupRefElement = doc.CreateElement("ComponentGroupRef"); |
80 | componentGroupRefElement.SetAttribute("Id", componentGroupRef); | 68 | componentGroupRefElement.SetAttribute("Id", componentGroupRef); |
81 | componentGroup.AppendChild(componentGroupRefElement); | 69 | componentGroup.AppendChild(componentGroupRefElement); |
82 | } | 70 | } |
83 | 71 | ||
84 | foreach (ITaskItem item in this.GeneratedFiles) | 72 | foreach (var item in this.GeneratedFiles) |
85 | { | 73 | { |
86 | string fullPath = item.GetMetadata("FullPath"); | 74 | var fullPath = item.GetMetadata("FullPath"); |
87 | 75 | ||
88 | componentGroup.SetAttribute("Id", Path.GetFileNameWithoutExtension(fullPath)); | 76 | componentGroup.SetAttribute("Id", Path.GetFileNameWithoutExtension(fullPath)); |
89 | try | 77 | try |
diff --git a/src/tools/WixToolset.HeatTasks/RefreshTask.cs b/src/tools/WixToolset.HeatTasks/RefreshTask.cs new file mode 100644 index 00000000..0b378272 --- /dev/null +++ b/src/tools/WixToolset.HeatTasks/RefreshTask.cs | |||
@@ -0,0 +1,59 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.HeatTasks | ||
4 | { | ||
5 | using System; | ||
6 | using System.Text.RegularExpressions; | ||
7 | using Microsoft.Build.Framework; | ||
8 | using Microsoft.Build.Utilities; | ||
9 | |||
10 | /// <summary> | ||
11 | /// A base MSBuild task to refresh generated files. | ||
12 | /// </summary> | ||
13 | public abstract class RefreshTask : Task | ||
14 | { | ||
15 | private static readonly Regex AddPrefix = new Regex(@"^[^a-zA-Z_]"); | ||
16 | private static readonly Regex IllegalIdentifierCharacters = new Regex(@"[^A-Za-z0-9_\.]|\.{2,}"); // non 'words' and assorted valid characters | ||
17 | |||
18 | /// <summary>Metadata key name to turn off harvesting of project references.</summary> | ||
19 | protected const string DoNotHarvest = "DoNotHarvest"; | ||
20 | |||
21 | /// <summary> | ||
22 | /// The list of files to generate. | ||
23 | /// </summary> | ||
24 | [Required] | ||
25 | public ITaskItem[] GeneratedFiles { get; set; } | ||
26 | |||
27 | /// <summary> | ||
28 | /// All the project references in the project. | ||
29 | /// </summary> | ||
30 | [Required] | ||
31 | public ITaskItem[] ProjectReferencePaths { get; set; } | ||
32 | |||
33 | /// <summary> | ||
34 | /// Return an identifier based on passed file/directory name | ||
35 | /// </summary> | ||
36 | /// <param name="name">File/directory name to generate identifer from</param> | ||
37 | /// <returns>A version of the name that is a legal identifier.</returns> | ||
38 | /// <remarks>This is duplicated from WiX's Common class.</remarks> | ||
39 | protected static string GetIdentifierFromName(string name) | ||
40 | { | ||
41 | var result = IllegalIdentifierCharacters.Replace(name, "_"); // replace illegal characters with "_". | ||
42 | |||
43 | // MSI identifiers must begin with an alphabetic character or an | ||
44 | // underscore. Prefix all other values with an underscore. | ||
45 | if (AddPrefix.IsMatch(name)) | ||
46 | { | ||
47 | result = String.Concat("_", result); | ||
48 | } | ||
49 | |||
50 | return result; | ||
51 | } | ||
52 | |||
53 | protected static string GetMetadataOrDefault(ITaskItem item, string metadataName, string defaultValue) | ||
54 | { | ||
55 | var value = item.GetMetadata(metadataName); | ||
56 | return String.IsNullOrWhiteSpace(value) ? defaultValue : value; | ||
57 | } | ||
58 | } | ||
59 | } | ||
diff --git a/src/tools/WixToolset.HeatTasks/WixCommandLineBuilder.cs b/src/tools/WixToolset.HeatTasks/WixCommandLineBuilder.cs new file mode 100644 index 00000000..c3989902 --- /dev/null +++ b/src/tools/WixToolset.HeatTasks/WixCommandLineBuilder.cs | |||
@@ -0,0 +1,56 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.HeatTasks | ||
4 | { | ||
5 | using System; | ||
6 | using System.Collections.Generic; | ||
7 | using Microsoft.Build.Utilities; | ||
8 | |||
9 | /// <summary> | ||
10 | /// Helper class for appending the command line arguments. | ||
11 | /// </summary> | ||
12 | public class WixCommandLineBuilder : CommandLineBuilder | ||
13 | { | ||
14 | /// <summary> | ||
15 | /// Append a switch to the command line if the condition is true. | ||
16 | /// </summary> | ||
17 | /// <param name="switchName">Switch to append.</param> | ||
18 | /// <param name="condition">Condition specified by the user.</param> | ||
19 | public void AppendIfTrue(string switchName, bool condition) | ||
20 | { | ||
21 | if (condition) | ||
22 | { | ||
23 | this.AppendSwitch(switchName); | ||
24 | } | ||
25 | } | ||
26 | |||
27 | /// <summary> | ||
28 | /// Append a switch to the command line if any values in the array have been specified. | ||
29 | /// </summary> | ||
30 | /// <param name="switchName">Switch to append.</param> | ||
31 | /// <param name="values">Values specified by the user.</param> | ||
32 | public void AppendArrayIfNotNull(string switchName, IEnumerable<string> values) | ||
33 | { | ||
34 | if (values != null) | ||
35 | { | ||
36 | foreach (var value in values) | ||
37 | { | ||
38 | this.AppendSwitchIfNotNull(switchName, value); | ||
39 | } | ||
40 | } | ||
41 | } | ||
42 | |||
43 | /// <summary> | ||
44 | /// Append arbitrary text to the command-line if specified. | ||
45 | /// </summary> | ||
46 | /// <param name="textToAppend">Text to append.</param> | ||
47 | public void AppendTextIfNotNull(string textToAppend) | ||
48 | { | ||
49 | if (!String.IsNullOrWhiteSpace(textToAppend)) | ||
50 | { | ||
51 | this.AppendSpaceIfNotEmpty(); | ||
52 | this.AppendTextUnquoted(textToAppend); | ||
53 | } | ||
54 | } | ||
55 | } | ||
56 | } | ||
diff --git a/src/tools/WixToolset.HeatTasks/WixToolset.HeatTasks.csproj b/src/tools/WixToolset.HeatTasks/WixToolset.HeatTasks.csproj new file mode 100644 index 00000000..ea52bdfa --- /dev/null +++ b/src/tools/WixToolset.HeatTasks/WixToolset.HeatTasks.csproj | |||
@@ -0,0 +1,17 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.NET.Sdk"> | ||
5 | <PropertyGroup> | ||
6 | <TargetFrameworks>netcoreapp3.1;net472</TargetFrameworks> | ||
7 | <Title>WiX Toolset Heat MSBuild Tasks</Title> | ||
8 | <DebugType>embedded</DebugType> | ||
9 | <PublishRepositoryUrl>true</PublishRepositoryUrl> | ||
10 | <!-- https://github.com/Microsoft/msbuild/issues/2360 --> | ||
11 | <PlatformTarget>AnyCPU</PlatformTarget> | ||
12 | </PropertyGroup> | ||
13 | |||
14 | <ItemGroup> | ||
15 | <PackageReference Include="Microsoft.Build.Tasks.Core" /> | ||
16 | </ItemGroup> | ||
17 | </Project> | ||
diff --git a/src/wix/heat/AssemblyHarvester.cs b/src/tools/heat/AssemblyHarvester.cs index 2304d827..2304d827 100644 --- a/src/wix/heat/AssemblyHarvester.cs +++ b/src/tools/heat/AssemblyHarvester.cs | |||
diff --git a/src/tools/heat/ConsoleMessageListener.cs b/src/tools/heat/ConsoleMessageListener.cs new file mode 100644 index 00000000..ebf1622b --- /dev/null +++ b/src/tools/heat/ConsoleMessageListener.cs | |||
@@ -0,0 +1,90 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.Tools.Core | ||
4 | { | ||
5 | using System; | ||
6 | using System.Collections.Generic; | ||
7 | using System.Globalization; | ||
8 | using System.Text; | ||
9 | using System.Threading; | ||
10 | using WixToolset.Data; | ||
11 | using WixToolset.Extensibility; | ||
12 | using WixToolset.Extensibility.Services; | ||
13 | |||
14 | public sealed class ConsoleMessageListener : IMessageListener | ||
15 | { | ||
16 | public ConsoleMessageListener(string prefix, string appName) | ||
17 | { | ||
18 | this.Prefix = prefix; | ||
19 | this.AppName = appName; | ||
20 | |||
21 | PrepareConsoleForLocalization(); | ||
22 | } | ||
23 | |||
24 | public string AppName { get; } | ||
25 | |||
26 | public string Prefix { get; } | ||
27 | |||
28 | public void Write(Message message) | ||
29 | { | ||
30 | var filename = message.SourceLineNumbers?.FileName ?? this.AppName; | ||
31 | var type = message.Level.ToString().ToLowerInvariant(); | ||
32 | var output = message.Level >= MessageLevel.Warning ? Console.Out : Console.Error; | ||
33 | |||
34 | if (message.SourceLineNumbers?.LineNumber.HasValue == true) | ||
35 | { | ||
36 | filename = String.Concat(filename, "(", message.SourceLineNumbers?.LineNumber.Value, ")"); | ||
37 | } | ||
38 | |||
39 | output.WriteLine("{0} : {1} {2}{3:0000}: {4}", filename, type, this.Prefix, message.Id, message.ToString()); | ||
40 | |||
41 | var fileNames = GetFileNames(message.SourceLineNumbers); | ||
42 | if (fileNames.Count > 1) | ||
43 | { | ||
44 | foreach (var fileName in fileNames) | ||
45 | { | ||
46 | output.WriteLine("Source trace: {0}", fileName); | ||
47 | } | ||
48 | } | ||
49 | } | ||
50 | |||
51 | public void Write(string message) => Console.Out.WriteLine(message); | ||
52 | |||
53 | public MessageLevel CalculateMessageLevel(IMessaging messaging, Message message, MessageLevel defaultMessageLevel) => defaultMessageLevel; | ||
54 | |||
55 | private static IList<string> GetFileNames(SourceLineNumber sourceLineNumbers) | ||
56 | { | ||
57 | var fileNames = new List<string>(); | ||
58 | |||
59 | for (var sln = sourceLineNumbers; null != sln; sln = sln.Parent) | ||
60 | { | ||
61 | if (String.IsNullOrEmpty(sln.FileName)) | ||
62 | { | ||
63 | continue; | ||
64 | } | ||
65 | else if (sln.LineNumber.HasValue) | ||
66 | { | ||
67 | fileNames.Add(String.Format(CultureInfo.CurrentUICulture, "{0}: line {1}", sln.FileName, sln.LineNumber)); | ||
68 | } | ||
69 | else | ||
70 | { | ||
71 | fileNames.Add(sln.FileName); | ||
72 | } | ||
73 | } | ||
74 | |||
75 | return fileNames; | ||
76 | } | ||
77 | |||
78 | private static void PrepareConsoleForLocalization() | ||
79 | { | ||
80 | Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture.GetConsoleFallbackUICulture(); | ||
81 | |||
82 | if (Console.OutputEncoding.CodePage != Encoding.UTF8.CodePage && | ||
83 | Console.OutputEncoding.CodePage != Thread.CurrentThread.CurrentUICulture.TextInfo.OEMCodePage && | ||
84 | Console.OutputEncoding.CodePage != Thread.CurrentThread.CurrentUICulture.TextInfo.ANSICodePage) | ||
85 | { | ||
86 | Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); | ||
87 | } | ||
88 | } | ||
89 | } | ||
90 | } | ||
diff --git a/src/wix/heat/Data/HarvesterErrors.cs b/src/tools/heat/Data/HarvesterErrors.cs index a8a3055a..a8a3055a 100644 --- a/src/wix/heat/Data/HarvesterErrors.cs +++ b/src/tools/heat/Data/HarvesterErrors.cs | |||
diff --git a/src/wix/heat/Data/HarvesterVerboses.cs b/src/tools/heat/Data/HarvesterVerboses.cs index 72de2351..72de2351 100644 --- a/src/wix/heat/Data/HarvesterVerboses.cs +++ b/src/tools/heat/Data/HarvesterVerboses.cs | |||
diff --git a/src/wix/heat/Data/HarvesterWarnings.cs b/src/tools/heat/Data/HarvesterWarnings.cs index 80ee5c31..80ee5c31 100644 --- a/src/wix/heat/Data/HarvesterWarnings.cs +++ b/src/tools/heat/Data/HarvesterWarnings.cs | |||
diff --git a/src/wix/heat/Data/HeatCommandLineOption.cs b/src/tools/heat/Data/HeatCommandLineOption.cs index 5815abf0..5815abf0 100644 --- a/src/wix/heat/Data/HeatCommandLineOption.cs +++ b/src/tools/heat/Data/HeatCommandLineOption.cs | |||
diff --git a/src/wix/heat/Data/IHeatCommandLine.cs b/src/tools/heat/Data/IHeatCommandLine.cs index 9198468d..9198468d 100644 --- a/src/wix/heat/Data/IHeatCommandLine.cs +++ b/src/tools/heat/Data/IHeatCommandLine.cs | |||
diff --git a/src/wix/heat/DirectoryHarvester.cs b/src/tools/heat/DirectoryHarvester.cs index c1cc3edb..c1cc3edb 100644 --- a/src/wix/heat/DirectoryHarvester.cs +++ b/src/tools/heat/DirectoryHarvester.cs | |||
diff --git a/src/wix/heat/DllHarvester.cs b/src/tools/heat/DllHarvester.cs index e8c5ae40..e8c5ae40 100644 --- a/src/wix/heat/DllHarvester.cs +++ b/src/tools/heat/DllHarvester.cs | |||
diff --git a/src/wix/heat/Extensibility/BaseHarvesterExtension.cs b/src/tools/heat/Extensibility/BaseHarvesterExtension.cs index 02696d5b..02696d5b 100644 --- a/src/wix/heat/Extensibility/BaseHarvesterExtension.cs +++ b/src/tools/heat/Extensibility/BaseHarvesterExtension.cs | |||
diff --git a/src/wix/heat/Extensibility/BaseHeatExtension.cs b/src/tools/heat/Extensibility/BaseHeatExtension.cs index b76aaf62..b76aaf62 100644 --- a/src/wix/heat/Extensibility/BaseHeatExtension.cs +++ b/src/tools/heat/Extensibility/BaseHeatExtension.cs | |||
diff --git a/src/wix/heat/Extensibility/BaseMutatorExtension.cs b/src/tools/heat/Extensibility/BaseMutatorExtension.cs index c36a8ed1..c36a8ed1 100644 --- a/src/wix/heat/Extensibility/BaseMutatorExtension.cs +++ b/src/tools/heat/Extensibility/BaseMutatorExtension.cs | |||
diff --git a/src/wix/heat/Extensibility/IHarvester.cs b/src/tools/heat/Extensibility/IHarvester.cs index 6d363b50..6d363b50 100644 --- a/src/wix/heat/Extensibility/IHarvester.cs +++ b/src/tools/heat/Extensibility/IHarvester.cs | |||
diff --git a/src/wix/heat/Extensibility/IHarvesterCore.cs b/src/tools/heat/Extensibility/IHarvesterCore.cs index 3c34b8a1..3c34b8a1 100644 --- a/src/wix/heat/Extensibility/IHarvesterCore.cs +++ b/src/tools/heat/Extensibility/IHarvesterCore.cs | |||
diff --git a/src/wix/heat/Extensibility/IHarvesterExtension.cs b/src/tools/heat/Extensibility/IHarvesterExtension.cs index 5125ea32..5125ea32 100644 --- a/src/wix/heat/Extensibility/IHarvesterExtension.cs +++ b/src/tools/heat/Extensibility/IHarvesterExtension.cs | |||
diff --git a/src/wix/heat/Extensibility/IHeatCore.cs b/src/tools/heat/Extensibility/IHeatCore.cs index 0aa01b62..0aa01b62 100644 --- a/src/wix/heat/Extensibility/IHeatCore.cs +++ b/src/tools/heat/Extensibility/IHeatCore.cs | |||
diff --git a/src/wix/heat/Extensibility/IHeatExtension.cs b/src/tools/heat/Extensibility/IHeatExtension.cs index 8a00da37..8a00da37 100644 --- a/src/wix/heat/Extensibility/IHeatExtension.cs +++ b/src/tools/heat/Extensibility/IHeatExtension.cs | |||
diff --git a/src/wix/heat/Extensibility/IMutator.cs b/src/tools/heat/Extensibility/IMutator.cs index c936339e..c936339e 100644 --- a/src/wix/heat/Extensibility/IMutator.cs +++ b/src/tools/heat/Extensibility/IMutator.cs | |||
diff --git a/src/wix/heat/Extensibility/IMutatorExtension.cs b/src/tools/heat/Extensibility/IMutatorExtension.cs index b81f586e..b81f586e 100644 --- a/src/wix/heat/Extensibility/IMutatorExtension.cs +++ b/src/tools/heat/Extensibility/IMutatorExtension.cs | |||
diff --git a/src/wix/heat/FileHarvester.cs b/src/tools/heat/FileHarvester.cs index 886b942a..886b942a 100644 --- a/src/wix/heat/FileHarvester.cs +++ b/src/tools/heat/FileHarvester.cs | |||
diff --git a/src/wix/heat/Harvester.cs b/src/tools/heat/Harvester.cs index 791c1cb2..791c1cb2 100644 --- a/src/wix/heat/Harvester.cs +++ b/src/tools/heat/Harvester.cs | |||
diff --git a/src/wix/heat/HarvesterCore.cs b/src/tools/heat/HarvesterCore.cs index 92b34ab0..92b34ab0 100644 --- a/src/wix/heat/HarvesterCore.cs +++ b/src/tools/heat/HarvesterCore.cs | |||
diff --git a/src/wix/heat/HeatCommand.cs b/src/tools/heat/HeatCommand.cs index 56277004..56277004 100644 --- a/src/wix/heat/HeatCommand.cs +++ b/src/tools/heat/HeatCommand.cs | |||
diff --git a/src/wix/heat/HeatCommandLine.cs b/src/tools/heat/HeatCommandLine.cs index b11dda4e..b11dda4e 100644 --- a/src/wix/heat/HeatCommandLine.cs +++ b/src/tools/heat/HeatCommandLine.cs | |||
diff --git a/src/wix/heat/HeatCommandLineFactory.cs b/src/tools/heat/HeatCommandLineFactory.cs index 44291e48..44291e48 100644 --- a/src/wix/heat/HeatCommandLineFactory.cs +++ b/src/tools/heat/HeatCommandLineFactory.cs | |||
diff --git a/src/wix/heat/HeatCore.cs b/src/tools/heat/HeatCore.cs index 578c4aab..578c4aab 100644 --- a/src/wix/heat/HeatCore.cs +++ b/src/tools/heat/HeatCore.cs | |||
diff --git a/src/wix/heat/HelpCommand.cs b/src/tools/heat/HelpCommand.cs index d991b4fa..d991b4fa 100644 --- a/src/wix/heat/HelpCommand.cs +++ b/src/tools/heat/HelpCommand.cs | |||
diff --git a/src/wix/heat/IIsFinalizeHarvesterMutator.cs b/src/tools/heat/IIsFinalizeHarvesterMutator.cs index cfe90272..cfe90272 100644 --- a/src/wix/heat/IIsFinalizeHarvesterMutator.cs +++ b/src/tools/heat/IIsFinalizeHarvesterMutator.cs | |||
diff --git a/src/wix/heat/IIsHarvesterMutator.cs b/src/tools/heat/IIsHarvesterMutator.cs index a0147d0f..a0147d0f 100644 --- a/src/wix/heat/IIsHarvesterMutator.cs +++ b/src/tools/heat/IIsHarvesterMutator.cs | |||
diff --git a/src/wix/heat/IIsHeatExtension.cs b/src/tools/heat/IIsHeatExtension.cs index be998370..be998370 100644 --- a/src/wix/heat/IIsHeatExtension.cs +++ b/src/tools/heat/IIsHeatExtension.cs | |||
diff --git a/src/wix/heat/IIsWebSiteHarvester.cs b/src/tools/heat/IIsWebSiteHarvester.cs index 6e5e29c7..6e5e29c7 100644 --- a/src/wix/heat/IIsWebSiteHarvester.cs +++ b/src/tools/heat/IIsWebSiteHarvester.cs | |||
diff --git a/src/wix/heat/Mutator.cs b/src/tools/heat/Mutator.cs index 8c63882d..8c63882d 100644 --- a/src/wix/heat/Mutator.cs +++ b/src/tools/heat/Mutator.cs | |||
diff --git a/src/wix/heat/PerformanceCategoryHarvester.cs b/src/tools/heat/PerformanceCategoryHarvester.cs index 6be3401b..6be3401b 100644 --- a/src/wix/heat/PerformanceCategoryHarvester.cs +++ b/src/tools/heat/PerformanceCategoryHarvester.cs | |||
diff --git a/src/wix/heat/Program.cs b/src/tools/heat/Program.cs index 0b602f76..f74def8f 100644 --- a/src/wix/heat/Program.cs +++ b/src/tools/heat/Program.cs | |||
@@ -7,7 +7,6 @@ namespace WixToolset.Tools.Heat | |||
7 | using System.Threading; | 7 | using System.Threading; |
8 | using System.Threading.Tasks; | 8 | using System.Threading.Tasks; |
9 | using WixToolset.Core; | 9 | using WixToolset.Core; |
10 | using WixToolset.Core.Burn; | ||
11 | using WixToolset.Data; | 10 | using WixToolset.Data; |
12 | using WixToolset.Extensibility; | 11 | using WixToolset.Extensibility; |
13 | using WixToolset.Extensibility.Data; | 12 | using WixToolset.Extensibility.Data; |
@@ -29,8 +28,7 @@ namespace WixToolset.Tools.Heat | |||
29 | [MTAThread] | 28 | [MTAThread] |
30 | public static async Task<int> Main(string[] args) | 29 | public static async Task<int> Main(string[] args) |
31 | { | 30 | { |
32 | var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider() | 31 | var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider(); |
33 | .AddBundleBackend(); | ||
34 | var listener = new ConsoleMessageListener("HEAT", "heat.exe"); | 32 | var listener = new ConsoleMessageListener("HEAT", "heat.exe"); |
35 | 33 | ||
36 | try | 34 | try |
diff --git a/src/wix/heat/RegFileHarvester.cs b/src/tools/heat/RegFileHarvester.cs index b7ad8c7b..b7ad8c7b 100644 --- a/src/wix/heat/RegFileHarvester.cs +++ b/src/tools/heat/RegFileHarvester.cs | |||
diff --git a/src/wix/heat/RegistryHarvester.cs b/src/tools/heat/RegistryHarvester.cs index 0dfd3a29..0dfd3a29 100644 --- a/src/wix/heat/RegistryHarvester.cs +++ b/src/tools/heat/RegistryHarvester.cs | |||
diff --git a/src/wix/heat/Serialize/CodeDomInterfaces.cs b/src/tools/heat/Serialize/CodeDomInterfaces.cs index bd674db6..bd674db6 100644 --- a/src/wix/heat/Serialize/CodeDomInterfaces.cs +++ b/src/tools/heat/Serialize/CodeDomInterfaces.cs | |||
diff --git a/src/wix/heat/Serialize/CodeDomReader.cs b/src/tools/heat/Serialize/CodeDomReader.cs index 0741bf68..0741bf68 100644 --- a/src/wix/heat/Serialize/CodeDomReader.cs +++ b/src/tools/heat/Serialize/CodeDomReader.cs | |||
diff --git a/src/wix/heat/Serialize/ElementCollection.cs b/src/tools/heat/Serialize/ElementCollection.cs index bacbafbd..bacbafbd 100644 --- a/src/wix/heat/Serialize/ElementCollection.cs +++ b/src/tools/heat/Serialize/ElementCollection.cs | |||
diff --git a/src/wix/heat/Serialize/WixHarvesterStrings.Designer.cs b/src/tools/heat/Serialize/WixHarvesterStrings.Designer.cs index cc16e57a..cc16e57a 100644 --- a/src/wix/heat/Serialize/WixHarvesterStrings.Designer.cs +++ b/src/tools/heat/Serialize/WixHarvesterStrings.Designer.cs | |||
diff --git a/src/wix/heat/Serialize/WixHarvesterStrings.resx b/src/tools/heat/Serialize/WixHarvesterStrings.resx index 5894a190..5894a190 100644 --- a/src/wix/heat/Serialize/WixHarvesterStrings.resx +++ b/src/tools/heat/Serialize/WixHarvesterStrings.resx | |||
diff --git a/src/wix/heat/Serialize/iis.cs b/src/tools/heat/Serialize/iis.cs index 3f2943f8..3f2943f8 100644 --- a/src/wix/heat/Serialize/iis.cs +++ b/src/tools/heat/Serialize/iis.cs | |||
diff --git a/src/wix/heat/Serialize/util.cs b/src/tools/heat/Serialize/util.cs index 84f56eb0..84f56eb0 100644 --- a/src/wix/heat/Serialize/util.cs +++ b/src/tools/heat/Serialize/util.cs | |||
diff --git a/src/wix/heat/Serialize/vs.cs b/src/tools/heat/Serialize/vs.cs index 8f926efc..8f926efc 100644 --- a/src/wix/heat/Serialize/vs.cs +++ b/src/tools/heat/Serialize/vs.cs | |||
diff --git a/src/wix/heat/Serialize/wix.cs b/src/tools/heat/Serialize/wix.cs index b881fb92..b881fb92 100644 --- a/src/wix/heat/Serialize/wix.cs +++ b/src/tools/heat/Serialize/wix.cs | |||
diff --git a/src/wix/heat/TypeLibraryHarvester.cs b/src/tools/heat/TypeLibraryHarvester.cs index b5c1cba6..b5c1cba6 100644 --- a/src/wix/heat/TypeLibraryHarvester.cs +++ b/src/tools/heat/TypeLibraryHarvester.cs | |||
diff --git a/src/wix/heat/UtilFinalizeHarvesterMutator.cs b/src/tools/heat/UtilFinalizeHarvesterMutator.cs index 5af56e89..5af56e89 100644 --- a/src/wix/heat/UtilFinalizeHarvesterMutator.cs +++ b/src/tools/heat/UtilFinalizeHarvesterMutator.cs | |||
diff --git a/src/wix/heat/UtilHarvesterMutator.cs b/src/tools/heat/UtilHarvesterMutator.cs index af2584e3..af2584e3 100644 --- a/src/wix/heat/UtilHarvesterMutator.cs +++ b/src/tools/heat/UtilHarvesterMutator.cs | |||
diff --git a/src/wix/heat/UtilHeatExtension.cs b/src/tools/heat/UtilHeatExtension.cs index 5ad5ef8a..469e38b5 100644 --- a/src/wix/heat/UtilHeatExtension.cs +++ b/src/tools/heat/UtilHeatExtension.cs | |||
@@ -5,10 +5,7 @@ namespace WixToolset.Harvesters | |||
5 | using System; | 5 | using System; |
6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
7 | using System.IO; | 7 | using System.IO; |
8 | using WixToolset.Core.Burn.Interfaces; | ||
9 | using WixToolset.Data; | 8 | using WixToolset.Data; |
10 | using WixToolset.Data.Symbols; | ||
11 | using WixToolset.Extensibility.Services; | ||
12 | using WixToolset.Harvesters.Data; | 9 | using WixToolset.Harvesters.Data; |
13 | using WixToolset.Harvesters.Extensibility; | 10 | using WixToolset.Harvesters.Extensibility; |
14 | 11 | ||
@@ -19,11 +16,8 @@ namespace WixToolset.Harvesters | |||
19 | { | 16 | { |
20 | public UtilHeatExtension(IServiceProvider serviceProvider) | 17 | public UtilHeatExtension(IServiceProvider serviceProvider) |
21 | { | 18 | { |
22 | this.PayloadHarvester = serviceProvider.GetService<IPayloadHarvester>(); | ||
23 | } | 19 | } |
24 | 20 | ||
25 | private IPayloadHarvester PayloadHarvester { get; } | ||
26 | |||
27 | /// <summary> | 21 | /// <summary> |
28 | /// Gets the supported command line types for this extension. | 22 | /// Gets the supported command line types for this extension. |
29 | /// </summary> | 23 | /// </summary> |
@@ -36,8 +30,6 @@ namespace WixToolset.Harvesters | |||
36 | { | 30 | { |
37 | new HeatCommandLineOption("dir", "harvest a directory"), | 31 | new HeatCommandLineOption("dir", "harvest a directory"), |
38 | new HeatCommandLineOption("file", "harvest a file"), | 32 | new HeatCommandLineOption("file", "harvest a file"), |
39 | new HeatCommandLineOption("exepackagepayload", "harvest a bundle payload as ExePackagePayload"), | ||
40 | new HeatCommandLineOption("msupackagepayload", "harvest a bundle payload as MsuPackagePayload"), | ||
41 | new HeatCommandLineOption("perf", "harvest performance counters"), | 33 | new HeatCommandLineOption("perf", "harvest performance counters"), |
42 | new HeatCommandLineOption("reg", "harvest a .reg file"), | 34 | new HeatCommandLineOption("reg", "harvest a .reg file"), |
43 | new HeatCommandLineOption("-ag", "autogenerate component guids at compile time"), | 35 | new HeatCommandLineOption("-ag", "autogenerate component guids at compile time"), |
diff --git a/src/wix/heat/UtilMutator.cs b/src/tools/heat/UtilMutator.cs index 0bc15cd6..0bc15cd6 100644 --- a/src/wix/heat/UtilMutator.cs +++ b/src/tools/heat/UtilMutator.cs | |||
diff --git a/src/wix/heat/UtilTransformMutator.cs b/src/tools/heat/UtilTransformMutator.cs index 2d3f2bb0..2d3f2bb0 100644 --- a/src/wix/heat/UtilTransformMutator.cs +++ b/src/tools/heat/UtilTransformMutator.cs | |||
diff --git a/src/wix/heat/VSHeatExtension.cs b/src/tools/heat/VSHeatExtension.cs index d31cd25a..d31cd25a 100644 --- a/src/wix/heat/VSHeatExtension.cs +++ b/src/tools/heat/VSHeatExtension.cs | |||
diff --git a/src/wix/heat/VSProjectHarvester.cs b/src/tools/heat/VSProjectHarvester.cs index 93b20cd8..93b20cd8 100644 --- a/src/wix/heat/VSProjectHarvester.cs +++ b/src/tools/heat/VSProjectHarvester.cs | |||
diff --git a/src/wix/heat/app.config b/src/tools/heat/app.config index 65d3d6c3..65d3d6c3 100644 --- a/src/wix/heat/app.config +++ b/src/tools/heat/app.config | |||
diff --git a/src/wix/heat/heat.csproj b/src/tools/heat/heat.csproj index 88fd2eb0..b3d38098 100644 --- a/src/wix/heat/heat.csproj +++ b/src/tools/heat/heat.csproj | |||
@@ -6,10 +6,9 @@ | |||
6 | <TargetFrameworks>netcoreapp3.1;net472</TargetFrameworks> | 6 | <TargetFrameworks>netcoreapp3.1;net472</TargetFrameworks> |
7 | <OutputType>Exe</OutputType> | 7 | <OutputType>Exe</OutputType> |
8 | <Description>Harvester</Description> | 8 | <Description>Harvester</Description> |
9 | <Title>WiX Harvester</Title> | 9 | <Title>WiX Toolset Harvester</Title> |
10 | <DebugType>embedded</DebugType> | 10 | <DebugType>embedded</DebugType> |
11 | <PublishRepositoryUrl>true</PublishRepositoryUrl> | 11 | <PublishRepositoryUrl>true</PublishRepositoryUrl> |
12 | <!-- <PackAsTool>true</PackAsTool> --> | ||
13 | <RuntimeIdentifiers Condition=" '$(RuntimeIdentifier)'=='' and '$(TargetFramework)'!='netcoreapp3.1' ">win-x86;win-x64</RuntimeIdentifiers> | 12 | <RuntimeIdentifiers Condition=" '$(RuntimeIdentifier)'=='' and '$(TargetFramework)'!='netcoreapp3.1' ">win-x86;win-x64</RuntimeIdentifiers> |
14 | <AppConfig>app.config</AppConfig> | 13 | <AppConfig>app.config</AppConfig> |
15 | <ApplicationManifest>heat.exe.manifest</ApplicationManifest> | 14 | <ApplicationManifest>heat.exe.manifest</ApplicationManifest> |
@@ -17,10 +16,6 @@ | |||
17 | </PropertyGroup> | 16 | </PropertyGroup> |
18 | 17 | ||
19 | <ItemGroup> | 18 | <ItemGroup> |
20 | <Compile Include="..\wix\ConsoleMessageListener.cs" Link="ConsoleMessageListener.cs" /> | ||
21 | </ItemGroup> | ||
22 | |||
23 | <ItemGroup> | ||
24 | <Compile Update="Serialize\WixHarvesterStrings.Designer.cs"> | 19 | <Compile Update="Serialize\WixHarvesterStrings.Designer.cs"> |
25 | <DesignTime>True</DesignTime> | 20 | <DesignTime>True</DesignTime> |
26 | <AutoGen>True</AutoGen> | 21 | <AutoGen>True</AutoGen> |
@@ -36,8 +31,8 @@ | |||
36 | </ItemGroup> | 31 | </ItemGroup> |
37 | 32 | ||
38 | <ItemGroup> | 33 | <ItemGroup> |
39 | <ProjectReference Include="..\WixToolset.Core\WixToolset.Core.csproj" /> | 34 | <PackageReference Include="WixToolset.Core" /> |
40 | <ProjectReference Include="..\WixToolset.Core.Burn\WixToolset.Core.Burn.csproj" /> | 35 | <PackageReference Include="WixToolset.Core.Burn" /> |
41 | </ItemGroup> | 36 | </ItemGroup> |
42 | 37 | ||
43 | <ItemGroup> | 38 | <ItemGroup> |
diff --git a/src/wix/heat/heat.exe.manifest b/src/tools/heat/heat.exe.manifest index b4adfbb7..b4adfbb7 100644 --- a/src/wix/heat/heat.exe.manifest +++ b/src/tools/heat/heat.exe.manifest | |||
diff --git a/src/wix/heat/heat.net461.v3.ncrunchproject b/src/tools/heat/heat.net461.v3.ncrunchproject index cf22dfa9..cf22dfa9 100644 --- a/src/wix/heat/heat.net461.v3.ncrunchproject +++ b/src/tools/heat/heat.net461.v3.ncrunchproject | |||
diff --git a/src/wix/heat/heat.netcoreapp2.1.v3.ncrunchproject b/src/tools/heat/heat.netcoreapp2.1.v3.ncrunchproject index cf22dfa9..cf22dfa9 100644 --- a/src/wix/heat/heat.netcoreapp2.1.v3.ncrunchproject +++ b/src/tools/heat/heat.netcoreapp2.1.v3.ncrunchproject | |||
diff --git a/src/tools/publish_t.proj b/src/tools/publish_t.proj new file mode 100644 index 00000000..b23c3d84 --- /dev/null +++ b/src/tools/publish_t.proj | |||
@@ -0,0 +1,36 @@ | |||
1 | <Project Sdk="Microsoft.Build.Traversal"> | ||
2 | <PropertyGroup> | ||
3 | <StagePublishX86>$(BaseIntermediateOutputPath)$(Configuration)\net472\x86\</StagePublishX86> | ||
4 | <StagePublishX64>$(BaseIntermediateOutputPath)$(Configuration)\net472\x64\</StagePublishX64> | ||
5 | <StagePublishDnc>$(BaseIntermediateOutputPath)$(Configuration)\netcoreapp3.1\</StagePublishDnc> | ||
6 | |||
7 | <PublishBuildFolder>$(PublishRoot)WixToolset.Heat\build\</PublishBuildFolder> | ||
8 | <PublishHere>$(PublishRoot)WixToolset.Heat\tools\net472\</PublishHere> | ||
9 | <PublishX86>$(PublishRoot)WixToolset.Heat\tools\net472\x86\</PublishX86> | ||
10 | <PublishX64>$(PublishRoot)WixToolset.Heat\tools\net472\x64\</PublishX64> | ||
11 | <PublishDnc>$(PublishRoot)WixToolset.Heat\tools\netcoreapp3.1\</PublishDnc> | ||
12 | </PropertyGroup> | ||
13 | |||
14 | <ItemGroup> | ||
15 | <ProjectReference Include="WixToolset.HeatTasks\WixToolset.HeatTasks.csproj" Properties="TargetFramework=net472;PublishDir=$(StagePublishX86)WixToolset.HeatTasks" Targets="Publish" /> | ||
16 | <ProjectReference Include="WixToolset.HeatTasks\WixToolset.HeatTasks.csproj" Properties="TargetFramework=netcoreapp3.1;UseAppHost=false;PublishDir=$(StagePublishDnc)WixToolset.HeatTasks" Targets="Publish" /> | ||
17 | |||
18 | <!-- heat.exe doesn't need to filter any files so publish it straight into its final location --> | ||
19 | <ProjectReference Include="heat\heat.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x86;PublishDir=$(PublishX86)" Targets="Publish" /> | ||
20 | <ProjectReference Include="heat\heat.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x64;PublishDir=$(PublishX64)" Targets="Publish" /> | ||
21 | <ProjectReference Include="heat\heat.csproj" Properties="TargetFramework=netcoreapp3.1;UseAppHost=false;PublishDir=$(PublishDnc)" Targets="Publish" /> | ||
22 | </ItemGroup> | ||
23 | |||
24 | <Target Name="CopyToFinalPublishFolder" AfterTargets="Build"> | ||
25 | <ItemGroup> | ||
26 | <From Include="WixToolset.Heat\WixToolset.Heat.targets" To="$(PublishBuildFolder)" /> | ||
27 | <From Include="$(StagePublishX86)\WixToolset.HeatTasks\*.*" Exclude="$(StagePublishx86)\WixToolset.HeatTasks\Microsoft.Build.*.dll" To="$(PublishHere)" /> | ||
28 | <From Include="$(StagePublishDnc)\WixToolset.HeatTasks\*.*" Exclude="$(StagePublishDnc)\WixToolset.HeatTasks\Microsoft.Build.*.dll" To="$(PublishDnc)" /> | ||
29 | </ItemGroup> | ||
30 | |||
31 | <Copy SourceFiles="@(From)" | ||
32 | DestinationFiles="%(To)%(RecursiveDir)%(Filename)%(Extension)" | ||
33 | SkipUnchangedFiles="true" | ||
34 | UseHardlinksIfPossible="true" /> | ||
35 | </Target> | ||
36 | </Project> | ||
diff --git a/src/tools/test/Directory.Build.props b/src/tools/test/Directory.Build.props new file mode 100644 index 00000000..a0c9a659 --- /dev/null +++ b/src/tools/test/Directory.Build.props | |||
@@ -0,0 +1,10 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project> | ||
5 | <Import Project="..\Directory.Build.props" /> | ||
6 | |||
7 | <PropertyGroup> | ||
8 | <OutputPath>$(OutputPath)test\$(ProjectName)</OutputPath> | ||
9 | </PropertyGroup> | ||
10 | </Project> | ||
diff --git a/src/wix/test/WixToolsetTest.Heat/HeatRunner.cs b/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs index 287698a9..287698a9 100644 --- a/src/wix/test/WixToolsetTest.Heat/HeatRunner.cs +++ b/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs | |||
diff --git a/src/wix/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj b/src/tools/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj index 1ba62393..73eb078c 100644 --- a/src/wix/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj +++ b/src/tools/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj | |||
@@ -9,11 +9,6 @@ | |||
9 | </PropertyGroup> | 9 | </PropertyGroup> |
10 | 10 | ||
11 | <ItemGroup> | 11 | <ItemGroup> |
12 | <ProjectReference Include="..\..\heat\heat.csproj" /> | ||
13 | <ProjectReference Include="..\..\WixToolset.Core.TestPackage\WixToolset.Core.TestPackage.csproj" /> | ||
14 | </ItemGroup> | ||
15 | |||
16 | <ItemGroup> | ||
17 | <PackageReference Include="WixBuildTools.TestSupport" /> | 12 | <PackageReference Include="WixBuildTools.TestSupport" /> |
18 | </ItemGroup> | 13 | </ItemGroup> |
19 | 14 | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildHeatFixture.cs b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs index f1fa2453..d54da457 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildHeatFixture.cs +++ b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs | |||
@@ -3,7 +3,6 @@ | |||
3 | namespace WixToolsetTest.Sdk | 3 | namespace WixToolsetTest.Sdk |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Collections.Generic; | ||
7 | using System.IO; | 6 | using System.IO; |
8 | using System.Linq; | 7 | using System.Linq; |
9 | using WixBuildTools.TestSupport; | 8 | using WixBuildTools.TestSupport; |
@@ -14,23 +13,34 @@ namespace WixToolsetTest.Sdk | |||
14 | 13 | ||
15 | public class MsbuildHeatFixture | 14 | public class MsbuildHeatFixture |
16 | { | 15 | { |
16 | public static readonly string HeatTargetsPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildHeatFixture).Assembly.CodeBase).AbsolutePath), "..", "..", "..", "publish", "WixToolset.Heat", "build", "WixToolset.Heat.targets"); | ||
17 | |||
18 | public MsbuildHeatFixture() | ||
19 | { | ||
20 | EnsureWixSdkCached(); | ||
21 | } | ||
22 | |||
17 | [Theory] | 23 | [Theory] |
18 | [InlineData(BuildSystem.DotNetCoreSdk)] | 24 | [InlineData(BuildSystem.DotNetCoreSdk)] |
19 | [InlineData(BuildSystem.MSBuild)] | 25 | [InlineData(BuildSystem.MSBuild)] |
20 | [InlineData(BuildSystem.MSBuild64)] | 26 | [InlineData(BuildSystem.MSBuild64)] |
21 | public void CanBuildHeatFilePackage(BuildSystem buildSystem) | 27 | public void CanBuildHeatFilePackage(BuildSystem buildSystem) |
22 | { | 28 | { |
23 | var sourceFolder = TestData.Get(@"TestData\HeatFilePackage"); | 29 | var sourceFolder = TestData.Get("TestData", "HeatFilePackage"); |
24 | 30 | ||
25 | using (var fs = new TestDataFolderFileSystem()) | 31 | using (var fs = new DisposableFileSystem()) |
26 | { | 32 | { |
27 | fs.Initialize(sourceFolder); | 33 | var baseFolder = fs.GetFolder(); |
28 | var baseFolder = fs.BaseFolder; | 34 | var binFolder = Path.Combine(baseFolder, @"bin"); |
29 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
30 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); | 35 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); |
31 | var projectPath = Path.Combine(baseFolder, "HeatFilePackage.wixproj"); | 36 | var projectPath = Path.Combine(sourceFolder, "HeatFilePackage.wixproj"); |
32 | 37 | ||
33 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); | 38 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { |
39 | "-Restore", | ||
40 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath), | ||
41 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "BaseIntermediateOutputPath", intermediateFolder), | ||
42 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "OutputPath", binFolder), | ||
43 | }); | ||
34 | result.AssertSuccess(); | 44 | result.AssertSuccess(); |
35 | 45 | ||
36 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem, true); | 46 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem, true); |
@@ -39,9 +49,7 @@ namespace WixToolsetTest.Sdk | |||
39 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 49 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
40 | WixAssert.StringCollectionEmpty(warnings); | 50 | WixAssert.StringCollectionEmpty(warnings); |
41 | 51 | ||
42 | var generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs"); | 52 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs"); |
43 | Assert.True(File.Exists(generatedFilePath)); | ||
44 | |||
45 | var generatedContents = File.ReadAllText(generatedFilePath); | 53 | var generatedContents = File.ReadAllText(generatedFilePath); |
46 | var testXml = generatedContents.GetTestXml(); | 54 | var testXml = generatedContents.GetTestXml(); |
47 | WixAssert.StringEqual(@"<Wix>" + | 55 | WixAssert.StringEqual(@"<Wix>" + |
@@ -59,9 +67,7 @@ namespace WixToolsetTest.Sdk | |||
59 | "</Fragment>" + | 67 | "</Fragment>" + |
60 | "</Wix>", testXml); | 68 | "</Wix>", testXml); |
61 | 69 | ||
62 | var pdbPath = Path.Combine(binFolder, "x86", "Release", "HeatFilePackage.wixpdb"); | 70 | var pdbPath = Path.Combine(binFolder, "HeatFilePackage.wixpdb"); |
63 | Assert.True(File.Exists(pdbPath)); | ||
64 | |||
65 | var intermediate = Intermediate.Load(pdbPath); | 71 | var intermediate = Intermediate.Load(pdbPath); |
66 | var section = intermediate.Sections.Single(); | 72 | var section = intermediate.Sections.Single(); |
67 | 73 | ||
@@ -76,17 +82,21 @@ namespace WixToolsetTest.Sdk | |||
76 | [InlineData(BuildSystem.MSBuild64)] | 82 | [InlineData(BuildSystem.MSBuild64)] |
77 | public void CanBuildHeatFileWithMultipleFilesPackage(BuildSystem buildSystem) | 83 | public void CanBuildHeatFileWithMultipleFilesPackage(BuildSystem buildSystem) |
78 | { | 84 | { |
79 | var sourceFolder = TestData.Get(@"TestData\HeatFileMultipleFilesSameFileName"); | 85 | var sourceFolder = TestData.Get(@"TestData", "HeatFileMultipleFilesSameFileName"); |
80 | 86 | ||
81 | using (var fs = new TestDataFolderFileSystem()) | 87 | using (var fs = new DisposableFileSystem()) |
82 | { | 88 | { |
83 | fs.Initialize(sourceFolder); | 89 | var baseFolder = fs.GetFolder(); |
84 | var baseFolder = fs.BaseFolder; | ||
85 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 90 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
86 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); | 91 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); |
87 | var projectPath = Path.Combine(baseFolder, "HeatFileMultipleFilesSameFileName.wixproj"); | 92 | var projectPath = Path.Combine(sourceFolder, "HeatFileMultipleFilesSameFileName.wixproj"); |
88 | 93 | ||
89 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); | 94 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { |
95 | "-Restore", | ||
96 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath), | ||
97 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "BaseIntermediateOutputPath", intermediateFolder), | ||
98 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "OutputPath", binFolder), | ||
99 | }); | ||
90 | result.AssertSuccess(); | 100 | result.AssertSuccess(); |
91 | 101 | ||
92 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem, true); | 102 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem, true); |
@@ -95,7 +105,7 @@ namespace WixToolsetTest.Sdk | |||
95 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 105 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
96 | WixAssert.StringCollectionEmpty(warnings); | 106 | WixAssert.StringCollectionEmpty(warnings); |
97 | 107 | ||
98 | var generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs"); | 108 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs"); |
99 | Assert.True(File.Exists(generatedFilePath)); | 109 | Assert.True(File.Exists(generatedFilePath)); |
100 | 110 | ||
101 | var generatedContents = File.ReadAllText(generatedFilePath); | 111 | var generatedContents = File.ReadAllText(generatedFilePath); |
@@ -115,7 +125,7 @@ namespace WixToolsetTest.Sdk | |||
115 | "</Fragment>" + | 125 | "</Fragment>" + |
116 | "</Wix>", testXml); | 126 | "</Wix>", testXml); |
117 | 127 | ||
118 | generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_JsonProductComponents_INSTALLFOLDER_MyProgram.json_file.wxs"); | 128 | generatedFilePath = Path.Combine(intermediateFolder, "Release", "_JsonProductComponents_INSTALLFOLDER_MyProgram.json_file.wxs"); |
119 | Assert.True(File.Exists(generatedFilePath)); | 129 | Assert.True(File.Exists(generatedFilePath)); |
120 | 130 | ||
121 | generatedContents = File.ReadAllText(generatedFilePath); | 131 | generatedContents = File.ReadAllText(generatedFilePath); |
@@ -135,7 +145,7 @@ namespace WixToolsetTest.Sdk | |||
135 | "</Fragment>" + | 145 | "</Fragment>" + |
136 | "</Wix>", testXml); | 146 | "</Wix>", testXml); |
137 | 147 | ||
138 | var pdbPath = Path.Combine(binFolder, "x86", "Release", "HeatFileMultipleFilesSameFileName.wixpdb"); | 148 | var pdbPath = Path.Combine(binFolder, "HeatFileMultipleFilesSameFileName.wixpdb"); |
139 | Assert.True(File.Exists(pdbPath)); | 149 | Assert.True(File.Exists(pdbPath)); |
140 | 150 | ||
141 | var intermediate = Intermediate.Load(pdbPath); | 151 | var intermediate = Intermediate.Load(pdbPath); |
@@ -156,11 +166,13 @@ namespace WixToolsetTest.Sdk | |||
156 | [InlineData(BuildSystem.MSBuild64, false)] | 166 | [InlineData(BuildSystem.MSBuild64, false)] |
157 | public void CanBuildHeatProjectPreSdkStyle(BuildSystem buildSystem, bool useToolsVersion) | 167 | public void CanBuildHeatProjectPreSdkStyle(BuildSystem buildSystem, bool useToolsVersion) |
158 | { | 168 | { |
159 | var sourceFolder = TestData.Get(@"TestData\HeatProject"); | 169 | var sourceFolder = TestData.Get(@"TestData", "HeatProject"); |
160 | 170 | ||
161 | using (var fs = new TestDataFolderFileSystem()) | 171 | using (var fs = new TestDataFolderFileSystem()) |
162 | { | 172 | { |
163 | fs.Initialize(sourceFolder); | 173 | fs.Initialize(sourceFolder); |
174 | File.Copy("global.json", Path.Combine(fs.BaseFolder, "global.json")); | ||
175 | |||
164 | var baseFolder = Path.Combine(fs.BaseFolder, "HeatProjectPreSdkStyle"); | 176 | var baseFolder = Path.Combine(fs.BaseFolder, "HeatProjectPreSdkStyle"); |
165 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 177 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
166 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); | 178 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); |
@@ -168,8 +180,9 @@ namespace WixToolsetTest.Sdk | |||
168 | 180 | ||
169 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 181 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
170 | { | 182 | { |
171 | useToolsVersion ? $"-p:HarvestProjectsUseToolsVersion=true" : String.Empty, | 183 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath), |
172 | }); | 184 | useToolsVersion ? $"-p:HarvestProjectsUseToolsVersion=true" : String.Empty, |
185 | }); | ||
173 | result.AssertSuccess(); | 186 | result.AssertSuccess(); |
174 | 187 | ||
175 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem, true); | 188 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem, true); |
@@ -187,7 +200,7 @@ namespace WixToolsetTest.Sdk | |||
187 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 200 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
188 | WixAssert.StringCollectionEmpty(warnings); | 201 | WixAssert.StringCollectionEmpty(warnings); |
189 | 202 | ||
190 | var generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_ToolsVersion4Cs.wxs"); | 203 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_ToolsVersion4Cs.wxs"); |
191 | Assert.True(File.Exists(generatedFilePath)); | 204 | Assert.True(File.Exists(generatedFilePath)); |
192 | 205 | ||
193 | var generatedContents = File.ReadAllText(generatedFilePath); | 206 | var generatedContents = File.ReadAllText(generatedFilePath); |
@@ -246,7 +259,7 @@ namespace WixToolsetTest.Sdk | |||
246 | "</Fragment>" + | 259 | "</Fragment>" + |
247 | "</Wix>", testXml); | 260 | "</Wix>", testXml); |
248 | 261 | ||
249 | var pdbPath = Path.Combine(binFolder, "x86", "Release", "HeatProjectPreSdkStyle.wixpdb"); | 262 | var pdbPath = Path.Combine(binFolder, "Release", "HeatProjectPreSdkStyle.wixpdb"); |
250 | Assert.True(File.Exists(pdbPath)); | 263 | Assert.True(File.Exists(pdbPath)); |
251 | 264 | ||
252 | var intermediate = Intermediate.Load(pdbPath); | 265 | var intermediate = Intermediate.Load(pdbPath); |
@@ -271,22 +284,26 @@ namespace WixToolsetTest.Sdk | |||
271 | using (var fs = new TestDataFolderFileSystem()) | 284 | using (var fs = new TestDataFolderFileSystem()) |
272 | { | 285 | { |
273 | fs.Initialize(sourceFolder); | 286 | fs.Initialize(sourceFolder); |
287 | File.Copy("global.json", Path.Combine(fs.BaseFolder, "global.json")); | ||
288 | |||
274 | var baseFolder = Path.Combine(fs.BaseFolder, "HeatProjectSdkStyle"); | 289 | var baseFolder = Path.Combine(fs.BaseFolder, "HeatProjectSdkStyle"); |
275 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 290 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
276 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); | 291 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); |
277 | var projectPath = Path.Combine(baseFolder, "HeatProjectSdkStyle.wixproj"); | 292 | var projectPath = Path.Combine(fs.BaseFolder, "HeatProjectSdkStyle", "HeatProjectSdkStyle.wixproj"); |
278 | var referencedProjectPath = Path.Combine(fs.BaseFolder, "SdkStyleCs", "SdkStyleCs.csproj"); | 293 | var referencedProjectPath = Path.Combine(fs.BaseFolder, "SdkStyleCs", "SdkStyleCs.csproj"); |
279 | 294 | ||
280 | var result = MsbuildUtilities.BuildProject(buildSystem, referencedProjectPath, new[] | 295 | var result = MsbuildUtilities.BuildProject(buildSystem, referencedProjectPath, new[] |
281 | { | 296 | { |
282 | "-t:restore", | 297 | "-t:restore", |
283 | }); | 298 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath), |
299 | }); | ||
284 | result.AssertSuccess(); | 300 | result.AssertSuccess(); |
285 | 301 | ||
286 | result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 302 | result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
287 | { | 303 | { |
288 | useToolsVersion ? $"-p:HarvestProjectsUseToolsVersion=true" : String.Empty, | 304 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath), |
289 | }); | 305 | useToolsVersion ? $"-p:HarvestProjectsUseToolsVersion=true" : String.Empty, |
306 | }); | ||
290 | result.AssertSuccess(); | 307 | result.AssertSuccess(); |
291 | 308 | ||
292 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem, true); | 309 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem, true); |
@@ -304,7 +321,7 @@ namespace WixToolsetTest.Sdk | |||
304 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 321 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
305 | WixAssert.StringCollectionEmpty(warnings); | 322 | WixAssert.StringCollectionEmpty(warnings); |
306 | 323 | ||
307 | var generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_SdkStyleCs.wxs"); | 324 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_SdkStyleCs.wxs"); |
308 | Assert.True(File.Exists(generatedFilePath)); | 325 | Assert.True(File.Exists(generatedFilePath)); |
309 | 326 | ||
310 | var generatedContents = File.ReadAllText(generatedFilePath); | 327 | var generatedContents = File.ReadAllText(generatedFilePath); |
@@ -361,7 +378,7 @@ namespace WixToolsetTest.Sdk | |||
361 | "</Fragment>" + | 378 | "</Fragment>" + |
362 | "</Wix>", testXml); | 379 | "</Wix>", testXml); |
363 | 380 | ||
364 | var pdbPath = Path.Combine(binFolder, "x86", "Release", "HeatProjectSdkStyle.wixpdb"); | 381 | var pdbPath = Path.Combine(binFolder, "Release", "HeatProjectSdkStyle.wixpdb"); |
365 | Assert.True(File.Exists(pdbPath)); | 382 | Assert.True(File.Exists(pdbPath)); |
366 | 383 | ||
367 | var intermediate = Intermediate.Load(pdbPath); | 384 | var intermediate = Intermediate.Load(pdbPath); |
@@ -371,5 +388,23 @@ namespace WixToolsetTest.Sdk | |||
371 | WixAssert.StringEqual(Path.Combine(fs.BaseFolder, "SdkStyleCs", "bin", "Release", "netstandard2.0\\\\SdkStyleCs.dll"), fileSymbol[FileSymbolFields.Source].AsPath()?.Path); | 388 | WixAssert.StringEqual(Path.Combine(fs.BaseFolder, "SdkStyleCs", "bin", "Release", "netstandard2.0\\\\SdkStyleCs.dll"), fileSymbol[FileSymbolFields.Source].AsPath()?.Path); |
372 | } | 389 | } |
373 | } | 390 | } |
391 | |||
392 | /// <summary> | ||
393 | /// This method exists to get the WixToolset.Sdk.nupkg into the NuGet package cache using the global.json | ||
394 | /// and nuget.config in the root of the repository. By pre-caching the WiX SDK, the rest of the tests will | ||
395 | /// pull the binaries out of the cache instead of needing to find the original .nupkg in the build artifacts | ||
396 | /// folder (which requires use of nuget.config found in the root of the repo) | ||
397 | /// </summary> | ||
398 | private static void EnsureWixSdkCached() | ||
399 | { | ||
400 | // This EnsureWixSdkCached project exists only to pre-cache the WixToolset.Sdk for use by later projects. | ||
401 | var sourceFolder = TestData.Get("TestData", "EnsureWixSdkCached"); | ||
402 | |||
403 | var result = MsbuildUtilities.BuildProject(BuildSystem.DotNetCoreSdk, Path.Combine(sourceFolder, "EnsureWixSdkCached.wixproj"), new[] | ||
404 | { | ||
405 | "-t:restore", | ||
406 | }); | ||
407 | result.AssertSuccess(); | ||
408 | } | ||
374 | } | 409 | } |
375 | } | 410 | } |
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/EnsureWixSdkCached/EnsureWixSdkCached.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/EnsureWixSdkCached/EnsureWixSdkCached.wixproj new file mode 100644 index 00000000..7730425f --- /dev/null +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/EnsureWixSdkCached/EnsureWixSdkCached.wixproj | |||
@@ -0,0 +1,4 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project Sdk="WixToolset.Sdk"> | ||
3 | <!-- This project exists only to pre-cache the WixToolset.Sdk for use by the other test data projects. --> | ||
4 | </Project> | ||
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj new file mode 100644 index 00000000..2aaf5c01 --- /dev/null +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj | |||
@@ -0,0 +1,26 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project Sdk="WixToolset.Sdk"> | ||
3 | |||
4 | <ItemGroup> | ||
5 | <BindInputPaths Include="." /> | ||
6 | </ItemGroup> | ||
7 | |||
8 | <PropertyGroup> | ||
9 | <HarvestFileSuppressUniqueIds>true</HarvestFileSuppressUniqueIds> | ||
10 | </PropertyGroup> | ||
11 | |||
12 | <ItemGroup> | ||
13 | <HarvestFile Include="MyProgram.txt"> | ||
14 | <ComponentGroupName>TxtProductComponents</ComponentGroupName> | ||
15 | <DirectoryRefId>INSTALLFOLDER</DirectoryRefId> | ||
16 | <SuppressRootDirectory>true</SuppressRootDirectory> | ||
17 | </HarvestFile> | ||
18 | <HarvestFile Include="MyProgram.json"> | ||
19 | <ComponentGroupName>JsonProductComponents</ComponentGroupName> | ||
20 | <DirectoryRefId>INSTALLFOLDER</DirectoryRefId> | ||
21 | <SuppressRootDirectory>true</SuppressRootDirectory> | ||
22 | </HarvestFile> | ||
23 | </ItemGroup> | ||
24 | |||
25 | <Import Project="$(HeatTargetsPath)" /> | ||
26 | </Project> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json index 5f282702..5f282702 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json | |||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt index 5f282702..5f282702 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt | |||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/Package.wxs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/Package.wxs index 5abcee9f..5abcee9f 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/Package.wxs +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/Package.wxs | |||
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/HeatFilePackage.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/HeatFilePackage.wixproj new file mode 100644 index 00000000..345832cf --- /dev/null +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/HeatFilePackage.wixproj | |||
@@ -0,0 +1,21 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project Sdk="WixToolset.Sdk"> | ||
3 | |||
4 | <ItemGroup> | ||
5 | <BindInputPaths Include="." /> | ||
6 | </ItemGroup> | ||
7 | |||
8 | <PropertyGroup> | ||
9 | <HarvestFileSuppressUniqueIds>true</HarvestFileSuppressUniqueIds> | ||
10 | </PropertyGroup> | ||
11 | |||
12 | <ItemGroup> | ||
13 | <HarvestFile Include="HeatFilePackage.wixproj"> | ||
14 | <ComponentGroupName>ProductComponents</ComponentGroupName> | ||
15 | <DirectoryRefId>INSTALLFOLDER</DirectoryRefId> | ||
16 | <SuppressRootDirectory>true</SuppressRootDirectory> | ||
17 | </HarvestFile> | ||
18 | </ItemGroup> | ||
19 | |||
20 | <Import Project="$(HeatTargetsPath)" /> | ||
21 | </Project> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/Package.wxs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/Package.wxs index f5fa8cf6..f5fa8cf6 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/Package.wxs +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/Package.wxs | |||
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj new file mode 100644 index 00000000..a05348a5 --- /dev/null +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj | |||
@@ -0,0 +1,18 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project Sdk="WixToolset.Sdk"> | ||
3 | |||
4 | <ItemGroup> | ||
5 | <BindInputPaths Include="." /> | ||
6 | </ItemGroup> | ||
7 | |||
8 | <PropertyGroup> | ||
9 | <EnableProjectHarvesting>true</EnableProjectHarvesting> | ||
10 | <HarvestProjectsSuppressUniqueIds>true</HarvestProjectsSuppressUniqueIds> | ||
11 | </PropertyGroup> | ||
12 | |||
13 | <ItemGroup> | ||
14 | <ProjectReference Include="..\ToolsVersion4Cs\ToolsVersion4Cs.csproj" /> | ||
15 | </ItemGroup> | ||
16 | |||
17 | <Import Project="$(HeatTargetsPath)" /> | ||
18 | </Project> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectPreSdkStyle/Package.wxs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/Package.wxs index 6c12861b..6c12861b 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectPreSdkStyle/Package.wxs +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/Package.wxs | |||
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj new file mode 100644 index 00000000..202921fe --- /dev/null +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj | |||
@@ -0,0 +1,18 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project Sdk="WixToolset.Sdk"> | ||
3 | |||
4 | <ItemGroup> | ||
5 | <BindInputPaths Include="." /> | ||
6 | </ItemGroup> | ||
7 | |||
8 | <PropertyGroup> | ||
9 | <EnableProjectHarvesting>true</EnableProjectHarvesting> | ||
10 | <HarvestProjectsSuppressUniqueIds>true</HarvestProjectsSuppressUniqueIds> | ||
11 | </PropertyGroup> | ||
12 | |||
13 | <ItemGroup> | ||
14 | <ProjectReference Include="..\SdkStyleCs\SdkStyleCs.csproj" /> | ||
15 | </ItemGroup> | ||
16 | |||
17 | <Import Project="$(HeatTargetsPath)" /> | ||
18 | </Project> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectSdkStyle/Package.wxs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/Package.wxs index d30218f3..d30218f3 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectSdkStyle/Package.wxs +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/Package.wxs | |||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/SdkStyleCs/SdkStyleCs.cs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.cs index 2b2c5be2..2b2c5be2 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/SdkStyleCs/SdkStyleCs.cs +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.cs | |||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/SdkStyleCs/SdkStyleCs.csproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.csproj index 755976bc..755976bc 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/SdkStyleCs/SdkStyleCs.csproj +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.csproj | |||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/ToolsVersion4Cs/Properties/AssemblyInfo.cs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/ToolsVersion4Cs/Properties/AssemblyInfo.cs index c29a2303..c29a2303 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/ToolsVersion4Cs/Properties/AssemblyInfo.cs +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/ToolsVersion4Cs/Properties/AssemblyInfo.cs | |||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/ToolsVersion4Cs/ToolsVersion4Cs.csproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/ToolsVersion4Cs/ToolsVersion4Cs.csproj index e5723ea2..e5723ea2 100644 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/ToolsVersion4Cs/ToolsVersion4Cs.csproj +++ b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/ToolsVersion4Cs/ToolsVersion4Cs.csproj | |||
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.csproj b/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.csproj new file mode 100644 index 00000000..c0c7c903 --- /dev/null +++ b/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.csproj | |||
@@ -0,0 +1,28 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.NET.Sdk"> | ||
5 | <PropertyGroup> | ||
6 | <TargetFramework>net472</TargetFramework> | ||
7 | <IsPackable>false</IsPackable> | ||
8 | <DebugType>embedded</DebugType> | ||
9 | <DefaultItemExcludes>TestData\**;$(DefaultItemExcludes)</DefaultItemExcludes> | ||
10 | <SignOutput>false</SignOutput> | ||
11 | </PropertyGroup> | ||
12 | |||
13 | <ItemGroup> | ||
14 | <Content Include="TestData\**" CopyToOutputDirectory="PreserveNewest" /> | ||
15 | <Content Include="..\..\..\..\global.json" CopyToOutputDirectory="PreserveNewest" /> | ||
16 | </ItemGroup> | ||
17 | |||
18 | <ItemGroup> | ||
19 | <PackageReference Include="WixBuildTools.TestSupport" /> | ||
20 | <PackageReference Include="WixToolset.Core.TestPackage" /> | ||
21 | </ItemGroup> | ||
22 | |||
23 | <ItemGroup> | ||
24 | <PackageReference Include="Microsoft.NET.Test.Sdk" /> | ||
25 | <PackageReference Include="xunit" /> | ||
26 | <PackageReference Include="xunit.runner.visualstudio" PrivateAssets="All" /> | ||
27 | </ItemGroup> | ||
28 | </Project> | ||
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.v3.ncrunchproject b/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.v3.ncrunchproject new file mode 100644 index 00000000..319cd523 --- /dev/null +++ b/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.v3.ncrunchproject | |||
@@ -0,0 +1,5 @@ | |||
1 | <ProjectConfiguration> | ||
2 | <Settings> | ||
3 | <IgnoreThisComponentCompletely>True</IgnoreThisComponentCompletely> | ||
4 | </Settings> | ||
5 | </ProjectConfiguration> \ No newline at end of file | ||
diff --git a/src/tools/thmviewer/thmviewer.v3.ncrunchproject b/src/tools/thmviewer/thmviewer.v3.ncrunchproject index 3cffd6ce..1d0a6a6c 100644 --- a/src/tools/thmviewer/thmviewer.v3.ncrunchproject +++ b/src/tools/thmviewer/thmviewer.v3.ncrunchproject | |||
@@ -3,5 +3,6 @@ | |||
3 | <AdditionalFilesToIncludeForProject> | 3 | <AdditionalFilesToIncludeForProject> |
4 | <Value>thmviewer.manifest</Value> | 4 | <Value>thmviewer.manifest</Value> |
5 | </AdditionalFilesToIncludeForProject> | 5 | </AdditionalFilesToIncludeForProject> |
6 | <IgnoreThisComponentCompletely>True</IgnoreThisComponentCompletely> | ||
6 | </Settings> | 7 | </Settings> |
7 | </ProjectConfiguration> \ No newline at end of file | 8 | </ProjectConfiguration> \ No newline at end of file |
diff --git a/src/tools/tools.cmd b/src/tools/tools.cmd index 4764a8fe..125bf298 100644 --- a/src/tools/tools.cmd +++ b/src/tools/tools.cmd | |||
@@ -2,17 +2,40 @@ | |||
2 | @pushd %~dp0 | 2 | @pushd %~dp0 |
3 | 3 | ||
4 | @set _C=Debug | 4 | @set _C=Debug |
5 | @set _L=%~dp0..\..\build\logs | ||
6 | |||
5 | :parse_args | 7 | :parse_args |
6 | @if /i "%1"=="release" set _C=Release | 8 | @if /i "%1"=="release" set _C=Release |
9 | @if /i "%1"=="inc" set _INCREMENTAL=1 | ||
10 | @if /i "%1"=="clean" set _INCREMENTAL= & set _CLEAN=1 | ||
7 | @if not "%1"=="" shift & goto parse_args | 11 | @if not "%1"=="" shift & goto parse_args |
8 | 12 | ||
13 | :: Clean | ||
14 | @if NOT "%_INCREMENTAL%"=="" call :clean | ||
15 | @if NOT "%_CLEAN%"=="" goto :end | ||
16 | |||
9 | @echo Building tools %_C% | 17 | @echo Building tools %_C% |
10 | 18 | ||
11 | :: tools | 19 | :: Build |
20 | msbuild -Restore tools.sln -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\tools_build.binlog || exit /b | ||
21 | |||
22 | :: Publish | ||
23 | msbuild publish_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\tools_publish.binlog || exit /b | ||
24 | |||
25 | :: Test | ||
26 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.HeatTasks -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.HeatTasks.trx" || exit /b | ||
27 | |||
28 | :: Pack | ||
29 | msbuild -t:Pack WixToolset.Heat -p:Configuration=%_C% -p:NoBuild=true -nologo -m -warnaserror -bl:..\..\build\logs\tools_pack.binlog || exit /b | ||
12 | 30 | ||
13 | nuget restore || exit /b | 31 | @goto :end |
14 | 32 | ||
15 | msbuild -t:Build -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\tools_build.binlog || exit /b | 33 | :clean |
34 | @rd /s/q "..\..\build\tools" 2> nul | ||
35 | @del "..\..\build\artifacts\WixToolset.Heat.*.nupkg" 2> nul | ||
36 | @rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.heat" 2> nul | ||
37 | @exit /b | ||
16 | 38 | ||
39 | :end | ||
17 | @popd | 40 | @popd |
18 | @endlocal | 41 | @endlocal |
diff --git a/src/tools/tools.sln b/src/tools/tools.sln index 4da1e8fd..4df8367e 100644 --- a/src/tools/tools.sln +++ b/src/tools/tools.sln | |||
@@ -1,11 +1,20 @@ | |||
1 | |||
2 | Microsoft Visual Studio Solution File, Format Version 12.00 | 1 | Microsoft Visual Studio Solution File, Format Version 12.00 |
3 | # Visual Studio Version 16 | 2 | # Visual Studio Version 17 |
4 | VisualStudioVersion = 16.0.30711.63 | 3 | VisualStudioVersion = 17.2.32616.157 |
5 | MinimumVisualStudioVersion = 15.0.26124.0 | 4 | MinimumVisualStudioVersion = 15.0.26124.0 |
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thmviewer", "thmviewer\thmviewer.vcxproj", "{95228C13-97F5-484A-B4A2-ECF4618B0881}" | 5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thmviewer", "thmviewer\thmviewer.vcxproj", "{95228C13-97F5-484A-B4A2-ECF4618B0881}" |
7 | EndProject | 6 | EndProject |
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixToolset.Templates", "WixToolset.Templates\WixToolset.Templates.csproj", "{D1385232-CA10-4092-BAB5-4E5499FE144C}" | 7 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Templates", "WixToolset.Templates\WixToolset.Templates.csproj", "{D1385232-CA10-4092-BAB5-4E5499FE144C}" |
8 | EndProject | ||
9 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Heat", "WixToolset.Heat\WixToolset.Heat.csproj", "{4B301D2D-43D3-4000-8132-36C5A1E9F8F0}" | ||
10 | EndProject | ||
11 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "heat", "heat\heat.csproj", "{6C747707-29DE-429E-87A4-F6F81DD146C6}" | ||
12 | EndProject | ||
13 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{F7A815A5-37AE-4EC4-A6D6-B29565055668}" | ||
14 | EndProject | ||
15 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.HeatTasks", "WixToolset.HeatTasks\WixToolset.HeatTasks.csproj", "{EBDCA232-17CD-40CE-B592-CD7230388BEF}" | ||
16 | EndProject | ||
17 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.HeatTasks", "test\WixToolsetTest.HeatTasks\WixToolsetTest.HeatTasks.csproj", "{3FB7F972-31A6-4929-B6BF-EACEC659A7D3}" | ||
9 | EndProject | 18 | EndProject |
10 | Global | 19 | Global |
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution | 20 | GlobalSection(SolutionConfigurationPlatforms) = preSolution |
@@ -30,10 +39,45 @@ Global | |||
30 | {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|Any CPU.Build.0 = Release|Any CPU | 39 | {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|Any CPU.Build.0 = Release|Any CPU |
31 | {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|x86.ActiveCfg = Release|Any CPU | 40 | {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|x86.ActiveCfg = Release|Any CPU |
32 | {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|x86.Build.0 = Release|Any CPU | 41 | {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|x86.Build.0 = Release|Any CPU |
42 | {4B301D2D-43D3-4000-8132-36C5A1E9F8F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
43 | {4B301D2D-43D3-4000-8132-36C5A1E9F8F0}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
44 | {4B301D2D-43D3-4000-8132-36C5A1E9F8F0}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
45 | {4B301D2D-43D3-4000-8132-36C5A1E9F8F0}.Debug|x86.Build.0 = Debug|Any CPU | ||
46 | {4B301D2D-43D3-4000-8132-36C5A1E9F8F0}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
47 | {4B301D2D-43D3-4000-8132-36C5A1E9F8F0}.Release|Any CPU.Build.0 = Release|Any CPU | ||
48 | {4B301D2D-43D3-4000-8132-36C5A1E9F8F0}.Release|x86.ActiveCfg = Release|Any CPU | ||
49 | {4B301D2D-43D3-4000-8132-36C5A1E9F8F0}.Release|x86.Build.0 = Release|Any CPU | ||
50 | {6C747707-29DE-429E-87A4-F6F81DD146C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
51 | {6C747707-29DE-429E-87A4-F6F81DD146C6}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
52 | {6C747707-29DE-429E-87A4-F6F81DD146C6}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
53 | {6C747707-29DE-429E-87A4-F6F81DD146C6}.Debug|x86.Build.0 = Debug|Any CPU | ||
54 | {6C747707-29DE-429E-87A4-F6F81DD146C6}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
55 | {6C747707-29DE-429E-87A4-F6F81DD146C6}.Release|Any CPU.Build.0 = Release|Any CPU | ||
56 | {6C747707-29DE-429E-87A4-F6F81DD146C6}.Release|x86.ActiveCfg = Release|Any CPU | ||
57 | {6C747707-29DE-429E-87A4-F6F81DD146C6}.Release|x86.Build.0 = Release|Any CPU | ||
58 | {EBDCA232-17CD-40CE-B592-CD7230388BEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
59 | {EBDCA232-17CD-40CE-B592-CD7230388BEF}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
60 | {EBDCA232-17CD-40CE-B592-CD7230388BEF}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
61 | {EBDCA232-17CD-40CE-B592-CD7230388BEF}.Debug|x86.Build.0 = Debug|Any CPU | ||
62 | {EBDCA232-17CD-40CE-B592-CD7230388BEF}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
63 | {EBDCA232-17CD-40CE-B592-CD7230388BEF}.Release|Any CPU.Build.0 = Release|Any CPU | ||
64 | {EBDCA232-17CD-40CE-B592-CD7230388BEF}.Release|x86.ActiveCfg = Release|Any CPU | ||
65 | {EBDCA232-17CD-40CE-B592-CD7230388BEF}.Release|x86.Build.0 = Release|Any CPU | ||
66 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
67 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
68 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
69 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Debug|x86.Build.0 = Debug|Any CPU | ||
70 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
71 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Release|Any CPU.Build.0 = Release|Any CPU | ||
72 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Release|x86.ActiveCfg = Release|Any CPU | ||
73 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Release|x86.Build.0 = Release|Any CPU | ||
33 | EndGlobalSection | 74 | EndGlobalSection |
34 | GlobalSection(SolutionProperties) = preSolution | 75 | GlobalSection(SolutionProperties) = preSolution |
35 | HideSolutionNode = FALSE | 76 | HideSolutionNode = FALSE |
36 | EndGlobalSection | 77 | EndGlobalSection |
78 | GlobalSection(NestedProjects) = preSolution | ||
79 | {3FB7F972-31A6-4929-B6BF-EACEC659A7D3} = {F7A815A5-37AE-4EC4-A6D6-B29565055668} | ||
80 | EndGlobalSection | ||
37 | GlobalSection(ExtensibilityGlobals) = postSolution | 81 | GlobalSection(ExtensibilityGlobals) = postSolution |
38 | SolutionGuid = {537F1116-39FE-4AED-A9A2-35030E5750D5} | 82 | SolutionGuid = {537F1116-39FE-4AED-A9A2-35030E5750D5} |
39 | EndGlobalSection | 83 | EndGlobalSection |
diff --git a/src/tools/tools.v3.ncrunchsolution b/src/tools/tools.v3.ncrunchsolution new file mode 100644 index 00000000..10420ac9 --- /dev/null +++ b/src/tools/tools.v3.ncrunchsolution | |||
@@ -0,0 +1,6 @@ | |||
1 | <SolutionConfiguration> | ||
2 | <Settings> | ||
3 | <AllowParallelTestExecution>True</AllowParallelTestExecution> | ||
4 | <SolutionConfigured>True</SolutionConfigured> | ||
5 | </Settings> | ||
6 | </SolutionConfiguration> \ No newline at end of file | ||
diff --git a/src/wix/WixToolset.BuildTasks/HeatDirectory.cs b/src/wix/WixToolset.BuildTasks/HeatDirectory.cs deleted file mode 100644 index 79da303a..00000000 --- a/src/wix/WixToolset.BuildTasks/HeatDirectory.cs +++ /dev/null | |||
@@ -1,96 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.BuildTasks | ||
4 | { | ||
5 | using Microsoft.Build.Framework; | ||
6 | |||
7 | public sealed class HeatDirectory : HeatTask | ||
8 | { | ||
9 | private string directory; | ||
10 | private bool keepEmptyDirectories; | ||
11 | private bool suppressCom; | ||
12 | private bool suppressRootDirectory; | ||
13 | private bool suppressRegistry; | ||
14 | private string template; | ||
15 | private string componentGroupName; | ||
16 | private string directoryRefId; | ||
17 | private string preprocessorVariable; | ||
18 | |||
19 | public string ComponentGroupName | ||
20 | { | ||
21 | get { return this.componentGroupName; } | ||
22 | set { this.componentGroupName = value; } | ||
23 | } | ||
24 | |||
25 | [Required] | ||
26 | public string Directory | ||
27 | { | ||
28 | get { return this.directory; } | ||
29 | set { this.directory = value; } | ||
30 | } | ||
31 | |||
32 | public string DirectoryRefId | ||
33 | { | ||
34 | get { return this.directoryRefId; } | ||
35 | set { this.directoryRefId = value; } | ||
36 | } | ||
37 | |||
38 | public bool KeepEmptyDirectories | ||
39 | { | ||
40 | get { return this.keepEmptyDirectories; } | ||
41 | set { this.keepEmptyDirectories = value; } | ||
42 | } | ||
43 | |||
44 | public string PreprocessorVariable | ||
45 | { | ||
46 | get { return this.preprocessorVariable; } | ||
47 | set { this.preprocessorVariable = value; } | ||
48 | } | ||
49 | |||
50 | public bool SuppressCom | ||
51 | { | ||
52 | get { return this.suppressCom; } | ||
53 | set { this.suppressCom = value; } | ||
54 | } | ||
55 | |||
56 | public bool SuppressRootDirectory | ||
57 | { | ||
58 | get { return this.suppressRootDirectory; } | ||
59 | set { this.suppressRootDirectory = value; } | ||
60 | } | ||
61 | |||
62 | public bool SuppressRegistry | ||
63 | { | ||
64 | get { return this.suppressRegistry; } | ||
65 | set { this.suppressRegistry = value; } | ||
66 | } | ||
67 | |||
68 | public string Template | ||
69 | { | ||
70 | get { return this.template; } | ||
71 | set { this.template = value; } | ||
72 | } | ||
73 | |||
74 | protected override string OperationName | ||
75 | { | ||
76 | get { return "dir"; } | ||
77 | } | ||
78 | |||
79 | protected override void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) | ||
80 | { | ||
81 | commandLineBuilder.AppendSwitch(this.OperationName); | ||
82 | commandLineBuilder.AppendFileNameIfNotNull(this.Directory); | ||
83 | |||
84 | commandLineBuilder.AppendSwitchIfNotNull("-cg ", this.ComponentGroupName); | ||
85 | commandLineBuilder.AppendSwitchIfNotNull("-dr ", this.DirectoryRefId); | ||
86 | commandLineBuilder.AppendIfTrue("-ke", this.KeepEmptyDirectories); | ||
87 | commandLineBuilder.AppendIfTrue("-scom", this.SuppressCom); | ||
88 | commandLineBuilder.AppendIfTrue("-sreg", this.SuppressRegistry); | ||
89 | commandLineBuilder.AppendIfTrue("-srd", this.SuppressRootDirectory); | ||
90 | commandLineBuilder.AppendSwitchIfNotNull("-template ", this.Template); | ||
91 | commandLineBuilder.AppendSwitchIfNotNull("-var ", this.PreprocessorVariable); | ||
92 | |||
93 | base.BuildCommandLine(commandLineBuilder); | ||
94 | } | ||
95 | } | ||
96 | } | ||
diff --git a/src/wix/WixToolset.BuildTasks/HeatFile.cs b/src/wix/WixToolset.BuildTasks/HeatFile.cs deleted file mode 100644 index 57fe579d..00000000 --- a/src/wix/WixToolset.BuildTasks/HeatFile.cs +++ /dev/null | |||
@@ -1,88 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.BuildTasks | ||
4 | { | ||
5 | using Microsoft.Build.Framework; | ||
6 | |||
7 | public sealed class HeatFile : HeatTask | ||
8 | { | ||
9 | private string file; | ||
10 | private bool suppressCom; | ||
11 | private bool suppressRegistry; | ||
12 | private bool suppressRootDirectory; | ||
13 | private string template; | ||
14 | private string componentGroupName; | ||
15 | private string directoryRefId; | ||
16 | private string preprocessorVariable; | ||
17 | |||
18 | public string ComponentGroupName | ||
19 | { | ||
20 | get { return this.componentGroupName; } | ||
21 | set { this.componentGroupName = value; } | ||
22 | } | ||
23 | |||
24 | public string DirectoryRefId | ||
25 | { | ||
26 | get { return this.directoryRefId; } | ||
27 | set { this.directoryRefId = value; } | ||
28 | } | ||
29 | |||
30 | [Required] | ||
31 | public string File | ||
32 | { | ||
33 | get { return this.file; } | ||
34 | set { this.file = value; } | ||
35 | } | ||
36 | |||
37 | public string PreprocessorVariable | ||
38 | { | ||
39 | get { return this.preprocessorVariable; } | ||
40 | set { this.preprocessorVariable = value; } | ||
41 | } | ||
42 | |||
43 | public bool SuppressCom | ||
44 | { | ||
45 | get { return this.suppressCom; } | ||
46 | set { this.suppressCom = value; } | ||
47 | } | ||
48 | |||
49 | public bool SuppressRegistry | ||
50 | { | ||
51 | get { return this.suppressRegistry; } | ||
52 | set { this.suppressRegistry = value; } | ||
53 | } | ||
54 | |||
55 | public bool SuppressRootDirectory | ||
56 | { | ||
57 | get { return this.suppressRootDirectory; } | ||
58 | set { this.suppressRootDirectory = value; } | ||
59 | } | ||
60 | |||
61 | public string Template | ||
62 | { | ||
63 | get { return this.template; } | ||
64 | set { this.template = value; } | ||
65 | } | ||
66 | |||
67 | protected override string OperationName | ||
68 | { | ||
69 | get { return "file"; } | ||
70 | } | ||
71 | |||
72 | protected override void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) | ||
73 | { | ||
74 | commandLineBuilder.AppendSwitch(this.OperationName); | ||
75 | commandLineBuilder.AppendFileNameIfNotNull(this.File); | ||
76 | |||
77 | commandLineBuilder.AppendSwitchIfNotNull("-cg ", this.ComponentGroupName); | ||
78 | commandLineBuilder.AppendSwitchIfNotNull("-dr ", this.DirectoryRefId); | ||
79 | commandLineBuilder.AppendIfTrue("-scom", this.SuppressCom); | ||
80 | commandLineBuilder.AppendIfTrue("-srd", this.SuppressRootDirectory); | ||
81 | commandLineBuilder.AppendIfTrue("-sreg", this.SuppressRegistry); | ||
82 | commandLineBuilder.AppendSwitchIfNotNull("-template ", this.Template); | ||
83 | commandLineBuilder.AppendSwitchIfNotNull("-var ", this.PreprocessorVariable); | ||
84 | |||
85 | base.BuildCommandLine(commandLineBuilder); | ||
86 | } | ||
87 | } | ||
88 | } | ||
diff --git a/src/wix/WixToolset.BuildTasks/HeatTask.cs b/src/wix/WixToolset.BuildTasks/HeatTask.cs deleted file mode 100644 index 18c08342..00000000 --- a/src/wix/WixToolset.BuildTasks/HeatTask.cs +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.BuildTasks | ||
4 | { | ||
5 | using Microsoft.Build.Framework; | ||
6 | |||
7 | /// <summary> | ||
8 | /// A base MSBuild task to run the WiX harvester. | ||
9 | /// Specific harvester tasks should extend this class. | ||
10 | /// </summary> | ||
11 | public abstract partial class HeatTask : ToolsetTask | ||
12 | { | ||
13 | private bool autogenerageGuids; | ||
14 | private bool generateGuidsNow; | ||
15 | private ITaskItem outputFile; | ||
16 | private bool suppressFragments; | ||
17 | private bool suppressUniqueIds; | ||
18 | private string[] transforms; | ||
19 | |||
20 | public HeatTask() | ||
21 | { | ||
22 | this.RunAsSeparateProcess = true; | ||
23 | } | ||
24 | |||
25 | public bool AutogenerateGuids | ||
26 | { | ||
27 | get { return this.autogenerageGuids; } | ||
28 | set { this.autogenerageGuids = value; } | ||
29 | } | ||
30 | |||
31 | public bool GenerateGuidsNow | ||
32 | { | ||
33 | get { return this.generateGuidsNow; } | ||
34 | set { this.generateGuidsNow = value; } | ||
35 | } | ||
36 | |||
37 | [Required] | ||
38 | [Output] | ||
39 | public ITaskItem OutputFile | ||
40 | { | ||
41 | get { return this.outputFile; } | ||
42 | set { this.outputFile = value; } | ||
43 | } | ||
44 | |||
45 | public bool SuppressFragments | ||
46 | { | ||
47 | get { return this.suppressFragments; } | ||
48 | set { this.suppressFragments = value; } | ||
49 | } | ||
50 | |||
51 | public bool SuppressUniqueIds | ||
52 | { | ||
53 | get { return this.suppressUniqueIds; } | ||
54 | set { this.suppressUniqueIds = value; } | ||
55 | } | ||
56 | |||
57 | public string[] Transforms | ||
58 | { | ||
59 | get { return this.transforms; } | ||
60 | set { this.transforms = value; } | ||
61 | } | ||
62 | |||
63 | protected sealed override string ToolName => "heat.exe"; | ||
64 | |||
65 | /// <summary> | ||
66 | /// Gets the name of the heat operation performed by the task. | ||
67 | /// </summary> | ||
68 | /// <remarks>This is the first parameter passed on the heat.exe command-line.</remarks> | ||
69 | /// <value>The name of the heat operation performed by the task.</value> | ||
70 | protected abstract string OperationName | ||
71 | { | ||
72 | get; | ||
73 | } | ||
74 | |||
75 | /// <summary> | ||
76 | /// Builds a command line from options in this task. | ||
77 | /// </summary> | ||
78 | protected override void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) | ||
79 | { | ||
80 | base.BuildCommandLine(commandLineBuilder); | ||
81 | |||
82 | commandLineBuilder.AppendIfTrue("-ag", this.AutogenerateGuids); | ||
83 | commandLineBuilder.AppendIfTrue("-gg", this.GenerateGuidsNow); | ||
84 | commandLineBuilder.AppendIfTrue("-sfrag", this.SuppressFragments); | ||
85 | commandLineBuilder.AppendIfTrue("-suid", this.SuppressUniqueIds); | ||
86 | commandLineBuilder.AppendArrayIfNotNull("-t ", this.Transforms); | ||
87 | commandLineBuilder.AppendTextIfNotNull(this.AdditionalOptions); | ||
88 | commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile); | ||
89 | } | ||
90 | } | ||
91 | } | ||
diff --git a/src/wix/WixToolset.BuildTasks/HeatTask_InProc.cs b/src/wix/WixToolset.BuildTasks/HeatTask_InProc.cs deleted file mode 100644 index 48ee9e02..00000000 --- a/src/wix/WixToolset.BuildTasks/HeatTask_InProc.cs +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | #if !NETCOREAPP | ||
4 | namespace WixToolset.BuildTasks | ||
5 | { | ||
6 | using System; | ||
7 | using System.Threading; | ||
8 | using System.Threading.Tasks; | ||
9 | using WixToolset.Extensibility.Services; | ||
10 | |||
11 | public partial class HeatTask | ||
12 | { | ||
13 | public override bool RunAsSeparateProcess { get => true; } | ||
14 | |||
15 | protected sealed override string TaskShortName => "HEAT"; | ||
16 | |||
17 | protected sealed override Task<int> ExecuteCoreAsync(IWixToolsetCoreServiceProvider coreProvider, string commandLineString, CancellationToken cancellationToken) => throw new NotImplementedException(); | ||
18 | } | ||
19 | } | ||
20 | #endif | ||
diff --git a/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj b/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj index b6751ed9..4af6c522 100644 --- a/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj +++ b/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj | |||
@@ -13,7 +13,6 @@ | |||
13 | <ItemGroup> | 13 | <ItemGroup> |
14 | <Content Include="build\$(MSBuildThisFileName).props" CopyToOutputDirectory="PreserveNewest" /> | 14 | <Content Include="build\$(MSBuildThisFileName).props" CopyToOutputDirectory="PreserveNewest" /> |
15 | <Content Include="build\$(MSBuildThisFileName).targets" CopyToOutputDirectory="PreserveNewest" /> | 15 | <Content Include="build\$(MSBuildThisFileName).targets" CopyToOutputDirectory="PreserveNewest" /> |
16 | <Content Include="tools\wix.harvest.targets" CopyToOutputDirectory="PreserveNewest" /> | ||
17 | <Content Include="tools\WixToolset.Signing.targets" CopyToOutputDirectory="PreserveNewest" /> | 16 | <Content Include="tools\WixToolset.Signing.targets" CopyToOutputDirectory="PreserveNewest" /> |
18 | <Content Include="tools\wix.props" CopyToOutputDirectory="PreserveNewest" /> | 17 | <Content Include="tools\wix.props" CopyToOutputDirectory="PreserveNewest" /> |
19 | <Content Include="tools\wix.targets" CopyToOutputDirectory="PreserveNewest" /> | 18 | <Content Include="tools\wix.targets" CopyToOutputDirectory="PreserveNewest" /> |
diff --git a/src/wix/WixToolset.Sdk/tools/wix.targets b/src/wix/WixToolset.Sdk/tools/wix.targets index 87dfab33..752753b6 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.targets +++ b/src/wix/WixToolset.Sdk/tools/wix.targets | |||
@@ -34,7 +34,6 @@ | |||
34 | </PropertyGroup> | 34 | </PropertyGroup> |
35 | 35 | ||
36 | <PropertyGroup> | 36 | <PropertyGroup> |
37 | <WixHarvestTargetsPath Condition=" '$(WixHarvestTargetsPath)' == '' ">$(MSBuildThisFileDirectory)wix.harvest.targets</WixHarvestTargetsPath> | ||
38 | <WixSigningTargetsPath Condition=" '$(WixSigningTargetsPath)' == '' ">$(MSBuildThisFileDirectory)WixToolset.Signing.targets</WixSigningTargetsPath> | 37 | <WixSigningTargetsPath Condition=" '$(WixSigningTargetsPath)' == '' ">$(MSBuildThisFileDirectory)WixToolset.Signing.targets</WixSigningTargetsPath> |
39 | </PropertyGroup> | 38 | </PropertyGroup> |
40 | 39 | ||
@@ -966,7 +965,6 @@ | |||
966 | --> | 965 | --> |
967 | </Target> | 966 | </Target> |
968 | 967 | ||
969 | <Import Project="$(WixHarvestTargetsPath)" Condition=" '$(WixHarvestTargetsPath)' != '' and Exists('$(WixHarvestTargetsPath)')" /> | ||
970 | <Import Project="$(WixSigningTargetsPath)" /> | 968 | <Import Project="$(WixSigningTargetsPath)" /> |
971 | 969 | ||
972 | <!-- Extension point: Define CustomAfterWixTargets to a .targets file that you want to include after this file. --> | 970 | <!-- Extension point: Define CustomAfterWixTargets to a .targets file that you want to include after this file. --> |
diff --git a/src/wix/publish_t.proj b/src/wix/publish_t.proj index 55b5216c..160cba83 100644 --- a/src/wix/publish_t.proj +++ b/src/wix/publish_t.proj | |||
@@ -3,15 +3,12 @@ | |||
3 | <ProjectReference Include="wix\wix.csproj" Properties="TargetFramework=netcoreapp3.1;PublishDir=$(BaseOutputPath)$(Configuration)\publish\wix\" Targets="Publish" /> | 3 | <ProjectReference Include="wix\wix.csproj" Properties="TargetFramework=netcoreapp3.1;PublishDir=$(BaseOutputPath)$(Configuration)\publish\wix\" Targets="Publish" /> |
4 | 4 | ||
5 | <ProjectReference Include="WixToolset.BuildTasks\WixToolset.BuildTasks.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x86;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x86\buildtasks\" Targets="Publish" /> | 5 | <ProjectReference Include="WixToolset.BuildTasks\WixToolset.BuildTasks.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x86;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x86\buildtasks\" Targets="Publish" /> |
6 | <ProjectReference Include="heat\heat.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x86;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x86\heat\" Targets="Publish" /> | ||
7 | <ProjectReference Include="wix\wix.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x86;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x86\wix\" Targets="Publish" /> | 6 | <ProjectReference Include="wix\wix.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x86;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x86\wix\" Targets="Publish" /> |
8 | 7 | ||
9 | <ProjectReference Include="WixToolset.BuildTasks\WixToolset.BuildTasks.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x64;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x64\buildtasks\" Targets="Publish" /> | 8 | <ProjectReference Include="WixToolset.BuildTasks\WixToolset.BuildTasks.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x64;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x64\buildtasks\" Targets="Publish" /> |
10 | <ProjectReference Include="heat\heat.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x64;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x64\heat\" Targets="Publish" /> | ||
11 | <ProjectReference Include="wix\wix.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x64;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x64\wix\" Targets="Publish" /> | 9 | <ProjectReference Include="wix\wix.csproj" Properties="TargetFramework=net472;RuntimeIdentifier=win-x64;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\net472\x64\wix\" Targets="Publish" /> |
12 | 10 | ||
13 | <ProjectReference Include="WixToolset.BuildTasks\WixToolset.BuildTasks.csproj" Properties="TargetFramework=netcoreapp3.1;UseAppHost=false;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\netcoreapp3.1\buildtasks\" Targets="Publish" /> | 11 | <ProjectReference Include="WixToolset.BuildTasks\WixToolset.BuildTasks.csproj" Properties="TargetFramework=netcoreapp3.1;UseAppHost=false;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\netcoreapp3.1\buildtasks\" Targets="Publish" /> |
14 | <ProjectReference Include="heat\heat.csproj" Properties="TargetFramework=netcoreapp3.1;UseAppHost=false;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\netcoreapp3.1\heat\" Targets="Publish" /> | ||
15 | <ProjectReference Include="wix\wix.csproj" Properties="TargetFramework=netcoreapp3.1;UseAppHost=false;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\netcoreapp3.1\wix\" Targets="Publish" /> | 12 | <ProjectReference Include="wix\wix.csproj" Properties="TargetFramework=netcoreapp3.1;UseAppHost=false;PublishDir=$(BaseIntermediateOutputPath)$(Configuration)\WixToolset.Sdk\separate\netcoreapp3.1\wix\" Targets="Publish" /> |
16 | </ItemGroup> | 13 | </ItemGroup> |
17 | </Project> | 14 | </Project> |
diff --git a/src/wix/test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj b/src/wix/test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj index 4ae0f4a8..fe8a78e9 100644 --- a/src/wix/test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj +++ b/src/wix/test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj | |||
@@ -32,7 +32,5 @@ | |||
32 | <PackageReference Include="Microsoft.NET.Test.Sdk" /> | 32 | <PackageReference Include="Microsoft.NET.Test.Sdk" /> |
33 | <PackageReference Include="xunit" /> | 33 | <PackageReference Include="xunit" /> |
34 | <PackageReference Include="xunit.runner.visualstudio" PrivateAssets="All" /> | 34 | <PackageReference Include="xunit.runner.visualstudio" PrivateAssets="All" /> |
35 | <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" /> | ||
36 | <PackageReference Include="GitInfo" PrivateAssets="All" /> | ||
37 | </ItemGroup> | 35 | </ItemGroup> |
38 | </Project> | 36 | </Project> |
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs index f9a13312..40ebad5b 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs +++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | |||
@@ -11,6 +11,9 @@ namespace WixToolsetTest.Sdk | |||
11 | 11 | ||
12 | public class MsbuildFixture | 12 | public class MsbuildFixture |
13 | { | 13 | { |
14 | public static readonly string WixMsbuildPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildFixture).Assembly.CodeBase).AbsolutePath), "..", "..", "..", "publish", "WixToolset.Sdk"); | ||
15 | public static readonly string WixPropsPath = Path.Combine(WixMsbuildPath, "build", "WixToolset.Sdk.props"); | ||
16 | |||
14 | [Theory] | 17 | [Theory] |
15 | [InlineData(BuildSystem.DotNetCoreSdk)] | 18 | [InlineData(BuildSystem.DotNetCoreSdk)] |
16 | [InlineData(BuildSystem.MSBuild)] | 19 | [InlineData(BuildSystem.MSBuild)] |
@@ -26,7 +29,10 @@ namespace WixToolsetTest.Sdk | |||
26 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 29 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
27 | var projectPath = Path.Combine(baseFolder, "SimpleBundle.wixproj"); | 30 | var projectPath = Path.Combine(baseFolder, "SimpleBundle.wixproj"); |
28 | 31 | ||
29 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { "-p:SignOutput=true" }); | 32 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { |
33 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
34 | "-p:SignOutput=true", | ||
35 | }); | ||
30 | result.AssertSuccess(); | 36 | result.AssertSuccess(); |
31 | 37 | ||
32 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 38 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
@@ -66,7 +72,10 @@ namespace WixToolsetTest.Sdk | |||
66 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 72 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
67 | var projectPath = Path.Combine(baseFolder, "UncompressedBundle.wixproj"); | 73 | var projectPath = Path.Combine(baseFolder, "UncompressedBundle.wixproj"); |
68 | 74 | ||
69 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { "-p:SignOutput=true" }); | 75 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { |
76 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
77 | "-p:SignOutput=true" | ||
78 | }); | ||
70 | result.AssertSuccess(); | 79 | result.AssertSuccess(); |
71 | 80 | ||
72 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 81 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
@@ -106,7 +115,9 @@ namespace WixToolsetTest.Sdk | |||
106 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 115 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
107 | var projectPath = Path.Combine(baseFolder, "SimpleMergeModule.wixproj"); | 116 | var projectPath = Path.Combine(baseFolder, "SimpleMergeModule.wixproj"); |
108 | 117 | ||
109 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); | 118 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { |
119 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath) | ||
120 | }); | ||
110 | result.AssertSuccess(); | 121 | result.AssertSuccess(); |
111 | 122 | ||
112 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 123 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
@@ -142,7 +153,10 @@ namespace WixToolsetTest.Sdk | |||
142 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 153 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
143 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 154 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
144 | 155 | ||
145 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { "-p:SignOutput=true" }); | 156 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { |
157 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
158 | "-p:SignOutput=true" | ||
159 | }); | ||
146 | result.AssertSuccess(); | 160 | result.AssertSuccess(); |
147 | 161 | ||
148 | var platformSwitches = result.Output.Where(line => line.Contains("-platform x86")); | 162 | var platformSwitches = result.Output.Where(line => line.Contains("-platform x86")); |
@@ -208,7 +222,9 @@ namespace WixToolsetTest.Sdk | |||
208 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 222 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
209 | var projectPath = Path.Combine(baseFolder, "MergeMsiPackage.wixproj"); | 223 | var projectPath = Path.Combine(baseFolder, "MergeMsiPackage.wixproj"); |
210 | 224 | ||
211 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); | 225 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { |
226 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath) | ||
227 | }); | ||
212 | result.AssertSuccess(); | 228 | result.AssertSuccess(); |
213 | 229 | ||
214 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 230 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
@@ -270,6 +286,7 @@ namespace WixToolsetTest.Sdk | |||
270 | 286 | ||
271 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 287 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
272 | { | 288 | { |
289 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
273 | wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", | 290 | wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", |
274 | "-p:SuppressValidation=true" | 291 | "-p:SuppressValidation=true" |
275 | }); | 292 | }); |
@@ -300,6 +317,7 @@ namespace WixToolsetTest.Sdk | |||
300 | 317 | ||
301 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 318 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
302 | { | 319 | { |
320 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
303 | $"-p:Platform=x64", | 321 | $"-p:Platform=x64", |
304 | }); | 322 | }); |
305 | result.AssertSuccess(); | 323 | result.AssertSuccess(); |
@@ -337,6 +355,7 @@ namespace WixToolsetTest.Sdk | |||
337 | 355 | ||
338 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 356 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
339 | { | 357 | { |
358 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
340 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressIces", "ICE12"), | 359 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressIces", "ICE12"), |
341 | }, suppressValidation: false); | 360 | }, suppressValidation: false); |
342 | result.AssertSuccess(); | 361 | result.AssertSuccess(); |
@@ -360,6 +379,7 @@ namespace WixToolsetTest.Sdk | |||
360 | 379 | ||
361 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 380 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
362 | { | 381 | { |
382 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
363 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressSpecificWarnings", "1118;1102"), | 383 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressSpecificWarnings", "1118;1102"), |
364 | }); | 384 | }); |
365 | result.AssertSuccess(); | 385 | result.AssertSuccess(); |
@@ -389,6 +409,7 @@ namespace WixToolsetTest.Sdk | |||
389 | 409 | ||
390 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 410 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
391 | { | 411 | { |
412 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
392 | "-p:OutputType=IntermediatePostLink", | 413 | "-p:OutputType=IntermediatePostLink", |
393 | }, outOfProc: outOfProc); | 414 | }, outOfProc: outOfProc); |
394 | result.AssertSuccess(); | 415 | result.AssertSuccess(); |
@@ -418,7 +439,9 @@ namespace WixToolsetTest.Sdk | |||
418 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 439 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
419 | 440 | ||
420 | // Build | 441 | // Build |
421 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, verbosityLevel: "diag"); | 442 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { |
443 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath) | ||
444 | }, verbosityLevel: "diag"); | ||
422 | result.AssertSuccess(); | 445 | result.AssertSuccess(); |
423 | 446 | ||
424 | var buildOutput = String.Join("\r\n", result.Output); | 447 | var buildOutput = String.Join("\r\n", result.Output); |
@@ -432,6 +455,7 @@ namespace WixToolsetTest.Sdk | |||
432 | // Clean | 455 | // Clean |
433 | result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 456 | result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
434 | { | 457 | { |
458 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
435 | "-t:Clean", | 459 | "-t:Clean", |
436 | }, verbosityLevel: "diag"); | 460 | }, verbosityLevel: "diag"); |
437 | result.AssertSuccess(); | 461 | result.AssertSuccess(); |
@@ -477,7 +501,7 @@ namespace WixToolsetTest.Sdk | |||
477 | 501 | ||
478 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 502 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
479 | { | 503 | { |
480 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixToolDir", Path.Combine(MsbuildUtilities.WixMsbuildPath, "broken", "net461")), | 504 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixToolDir", Path.Combine(MsbuildFixture.WixMsbuildPath, "broken", "net461")), |
481 | }, outOfProc: true); | 505 | }, outOfProc: true); |
482 | Assert.Equal(1, result.ExitCode); | 506 | Assert.Equal(1, result.ExitCode); |
483 | 507 | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj deleted file mode 100644 index 7d751319..00000000 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj +++ /dev/null | |||
@@ -1,58 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
3 | <Import Project="$(WixMSBuildProps)" /> | ||
4 | <PropertyGroup> | ||
5 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
6 | <Platform Condition=" '$(Platform)' == '' ">x86</Platform> | ||
7 | </PropertyGroup> | ||
8 | |||
9 | <PropertyGroup> | ||
10 | <ProjectGuid>7fb77005-c6e0-454f-8c2d-0a4a79c918ba</ProjectGuid> | ||
11 | </PropertyGroup> | ||
12 | |||
13 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> | ||
14 | <PlatformName>$(Platform)</PlatformName> | ||
15 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
16 | <DefineConstants>Debug</DefineConstants> | ||
17 | </PropertyGroup> | ||
18 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> | ||
19 | <PlatformName>$(Platform)</PlatformName> | ||
20 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
21 | </PropertyGroup> | ||
22 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> | ||
23 | <PlatformName>$(Platform)</PlatformName> | ||
24 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
25 | <DefineConstants>Debug</DefineConstants> | ||
26 | </PropertyGroup> | ||
27 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> | ||
28 | <PlatformName>$(Platform)</PlatformName> | ||
29 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
30 | </PropertyGroup> | ||
31 | |||
32 | <ItemGroup> | ||
33 | <Compile Include="Package.wxs" /> | ||
34 | </ItemGroup> | ||
35 | |||
36 | <ItemGroup> | ||
37 | <BindInputPaths Include="." /> | ||
38 | </ItemGroup> | ||
39 | |||
40 | <PropertyGroup> | ||
41 | <HarvestFileSuppressUniqueIds>true</HarvestFileSuppressUniqueIds> | ||
42 | </PropertyGroup> | ||
43 | |||
44 | <ItemGroup> | ||
45 | <HarvestFile Include="MyProgram.txt"> | ||
46 | <ComponentGroupName>TxtProductComponents</ComponentGroupName> | ||
47 | <DirectoryRefId>INSTALLFOLDER</DirectoryRefId> | ||
48 | <SuppressRootDirectory>true</SuppressRootDirectory> | ||
49 | </HarvestFile> | ||
50 | <HarvestFile Include="MyProgram.json"> | ||
51 | <ComponentGroupName>JsonProductComponents</ComponentGroupName> | ||
52 | <DirectoryRefId>INSTALLFOLDER</DirectoryRefId> | ||
53 | <SuppressRootDirectory>true</SuppressRootDirectory> | ||
54 | </HarvestFile> | ||
55 | </ItemGroup> | ||
56 | |||
57 | <Import Project="$(WixTargetsPath)" /> | ||
58 | </Project> \ No newline at end of file | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/HeatFilePackage.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/HeatFilePackage.wixproj deleted file mode 100644 index 3988acaf..00000000 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/HeatFilePackage.wixproj +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
3 | <Import Project="$(WixMSBuildProps)" /> | ||
4 | <PropertyGroup> | ||
5 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
6 | <Platform Condition=" '$(Platform)' == '' ">x86</Platform> | ||
7 | </PropertyGroup> | ||
8 | |||
9 | <PropertyGroup> | ||
10 | <ProjectGuid>7fb77005-c6e0-454f-8c2d-0a4a79c918ba</ProjectGuid> | ||
11 | </PropertyGroup> | ||
12 | |||
13 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> | ||
14 | <PlatformName>$(Platform)</PlatformName> | ||
15 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
16 | <DefineConstants>Debug</DefineConstants> | ||
17 | </PropertyGroup> | ||
18 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> | ||
19 | <PlatformName>$(Platform)</PlatformName> | ||
20 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
21 | </PropertyGroup> | ||
22 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> | ||
23 | <PlatformName>$(Platform)</PlatformName> | ||
24 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
25 | <DefineConstants>Debug</DefineConstants> | ||
26 | </PropertyGroup> | ||
27 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> | ||
28 | <PlatformName>$(Platform)</PlatformName> | ||
29 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
30 | </PropertyGroup> | ||
31 | |||
32 | <ItemGroup> | ||
33 | <Compile Include="Package.wxs" /> | ||
34 | </ItemGroup> | ||
35 | |||
36 | <ItemGroup> | ||
37 | <BindInputPaths Include="." /> | ||
38 | </ItemGroup> | ||
39 | |||
40 | <PropertyGroup> | ||
41 | <HarvestFileSuppressUniqueIds>true</HarvestFileSuppressUniqueIds> | ||
42 | </PropertyGroup> | ||
43 | |||
44 | <ItemGroup> | ||
45 | <HarvestFile Include="HeatFilePackage.wixproj"> | ||
46 | <ComponentGroupName>ProductComponents</ComponentGroupName> | ||
47 | <DirectoryRefId>INSTALLFOLDER</DirectoryRefId> | ||
48 | <SuppressRootDirectory>true</SuppressRootDirectory> | ||
49 | </HarvestFile> | ||
50 | </ItemGroup> | ||
51 | |||
52 | <Import Project="$(WixTargetsPath)" /> | ||
53 | </Project> \ No newline at end of file | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj deleted file mode 100644 index c569e8ac..00000000 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
3 | <Import Project="$(WixMSBuildProps)" /> | ||
4 | <PropertyGroup> | ||
5 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
6 | <Platform Condition=" '$(Platform)' == '' ">x86</Platform> | ||
7 | </PropertyGroup> | ||
8 | |||
9 | <PropertyGroup> | ||
10 | <ProjectGuid>BB919765-DD69-41E7-91C5-415A69BE923E</ProjectGuid> | ||
11 | </PropertyGroup> | ||
12 | |||
13 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> | ||
14 | <PlatformName>$(Platform)</PlatformName> | ||
15 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
16 | <DefineConstants>Debug</DefineConstants> | ||
17 | </PropertyGroup> | ||
18 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> | ||
19 | <PlatformName>$(Platform)</PlatformName> | ||
20 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
21 | </PropertyGroup> | ||
22 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> | ||
23 | <PlatformName>$(Platform)</PlatformName> | ||
24 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
25 | <DefineConstants>Debug</DefineConstants> | ||
26 | </PropertyGroup> | ||
27 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> | ||
28 | <PlatformName>$(Platform)</PlatformName> | ||
29 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
30 | </PropertyGroup> | ||
31 | |||
32 | <ItemGroup> | ||
33 | <Compile Include="Package.wxs" /> | ||
34 | </ItemGroup> | ||
35 | |||
36 | <ItemGroup> | ||
37 | <BindInputPaths Include="." /> | ||
38 | </ItemGroup> | ||
39 | |||
40 | <PropertyGroup> | ||
41 | <EnableProjectHarvesting>true</EnableProjectHarvesting> | ||
42 | <HarvestProjectsSuppressUniqueIds>true</HarvestProjectsSuppressUniqueIds> | ||
43 | </PropertyGroup> | ||
44 | |||
45 | <ItemGroup> | ||
46 | <ProjectReference Include="..\ToolsVersion4Cs\ToolsVersion4Cs.csproj" /> | ||
47 | </ItemGroup> | ||
48 | |||
49 | <Import Project="$(WixTargetsPath)" /> | ||
50 | </Project> \ No newline at end of file | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj deleted file mode 100644 index 907f0bb0..00000000 --- a/src/wix/test/WixToolsetTest.Sdk/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
3 | <Import Project="$(WixMSBuildProps)" /> | ||
4 | <PropertyGroup> | ||
5 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
6 | <Platform Condition=" '$(Platform)' == '' ">x86</Platform> | ||
7 | </PropertyGroup> | ||
8 | |||
9 | <PropertyGroup> | ||
10 | <ProjectGuid>CE998A54-9BEC-4268-BFA2-8E3DAE5831C8</ProjectGuid> | ||
11 | </PropertyGroup> | ||
12 | |||
13 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> | ||
14 | <PlatformName>$(Platform)</PlatformName> | ||
15 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
16 | <DefineConstants>Debug</DefineConstants> | ||
17 | </PropertyGroup> | ||
18 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> | ||
19 | <PlatformName>$(Platform)</PlatformName> | ||
20 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
21 | </PropertyGroup> | ||
22 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> | ||
23 | <PlatformName>$(Platform)</PlatformName> | ||
24 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
25 | <DefineConstants>Debug</DefineConstants> | ||
26 | </PropertyGroup> | ||
27 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> | ||
28 | <PlatformName>$(Platform)</PlatformName> | ||
29 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
30 | </PropertyGroup> | ||
31 | |||
32 | <ItemGroup> | ||
33 | <Compile Include="Package.wxs" /> | ||
34 | </ItemGroup> | ||
35 | |||
36 | <ItemGroup> | ||
37 | <BindInputPaths Include="." /> | ||
38 | </ItemGroup> | ||
39 | |||
40 | <PropertyGroup> | ||
41 | <EnableProjectHarvesting>true</EnableProjectHarvesting> | ||
42 | <HarvestProjectsSuppressUniqueIds>true</HarvestProjectsSuppressUniqueIds> | ||
43 | </PropertyGroup> | ||
44 | |||
45 | <ItemGroup> | ||
46 | <ProjectReference Include="..\SdkStyleCs\SdkStyleCs.csproj" /> | ||
47 | </ItemGroup> | ||
48 | |||
49 | <Import Project="$(WixTargetsPath)" /> | ||
50 | </Project> \ No newline at end of file | ||
diff --git a/src/wix/wix.cmd b/src/wix/wix.cmd index 281f7f68..17c1ab6f 100644 --- a/src/wix/wix.cmd +++ b/src/wix/wix.cmd | |||
@@ -30,22 +30,18 @@ dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core -l "trx;LogFile | |||
30 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core.Burn -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Core.Burn.trx" || exit /b | 30 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core.Burn -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Core.Burn.trx" || exit /b |
31 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core.Native -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Core.Native.trx" || exit /b | 31 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core.Native -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Core.Native.trx" || exit /b |
32 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.CoreIntegration -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.CoreIntegration.trx" || exit /b | 32 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.CoreIntegration -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.CoreIntegration.trx" || exit /b |
33 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Heat -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Heat.trx" || exit /b | ||
34 | 33 | ||
35 | 34 | ||
36 | :: Publish | 35 | :: Publish |
37 | msbuild publish_t.proj -p:Configuration=%_C% -nologo -warnaserror -bl:%_L%\wix_publish.binlog || exit /b | 36 | msbuild publish_t.proj -p:Configuration=%_C% -nologo -warnaserror -bl:%_L%\wix_publish.binlog || exit /b |
38 | 37 | ||
39 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x86\buildtasks %_P%\WixToolset.Sdk\tools\net472\x86 %_RCO% /XF Microsoft.Build.*.dll | 38 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x86\buildtasks %_P%\WixToolset.Sdk\tools\net472\x86 %_RCO% /XF Microsoft.Build.*.dll |
40 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x86\heat %_P%\WixToolset.Sdk\tools\net472\x86 %_RCO% | ||
41 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x86\wix %_P%\WixToolset.Sdk\tools\net472\x86 %_RCO% | 39 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x86\wix %_P%\WixToolset.Sdk\tools\net472\x86 %_RCO% |
42 | 40 | ||
43 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x64\buildtasks %_P%\WixToolset.Sdk\tools\net472\x64 %_RCO% /XF Microsoft.Build.*.dll | 41 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x64\buildtasks %_P%\WixToolset.Sdk\tools\net472\x64 %_RCO% /XF Microsoft.Build.*.dll |
44 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x64\heat %_P%\WixToolset.Sdk\tools\net472\x64 %_RCO% | ||
45 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x64\wix %_P%\WixToolset.Sdk\tools\net472\x64 %_RCO% | 42 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x64\wix %_P%\WixToolset.Sdk\tools\net472\x64 %_RCO% |
46 | 43 | ||
47 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\netcoreapp3.1\buildtasks %_P%\WixToolset.Sdk\tools\netcoreapp3.1 %_RCO% /XF Microsoft.Build.*.dll | 44 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\netcoreapp3.1\buildtasks %_P%\WixToolset.Sdk\tools\netcoreapp3.1 %_RCO% /XF Microsoft.Build.*.dll |
48 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\netcoreapp3.1\heat %_P%\WixToolset.Sdk\tools\netcoreapp3.1 %_RCO% | ||
49 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\netcoreapp3.1\wix %_P%\WixToolset.Sdk\tools\netcoreapp3.1 %_RCO% | 45 | robocopy %_P_OBJ%\WixToolset.Sdk\separate\netcoreapp3.1\wix %_P%\WixToolset.Sdk\tools\netcoreapp3.1 %_RCO% |
50 | 46 | ||
51 | msbuild -t:Publish -p:Configuration=%_C% -nologo -warnaserror WixToolset.Sdk\WixToolset.Sdk.csproj -bl:%_L%\wix_sdk_publish.binlog || exit /b | 47 | msbuild -t:Publish -p:Configuration=%_C% -nologo -warnaserror WixToolset.Sdk\WixToolset.Sdk.csproj -bl:%_L%\wix_sdk_publish.binlog || exit /b |
@@ -59,7 +55,7 @@ dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.BuildTasks -l "trx;L | |||
59 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Sdk -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Sdk.trx" || exit /b | 55 | dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Sdk -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Sdk.trx" || exit /b |
60 | 56 | ||
61 | :: Pack | 57 | :: Pack |
62 | msbuild pack_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\wix_pack.binlog || exit /b | 58 | msbuild pack_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\wix_pack.binlog || exit /b |
63 | 59 | ||
64 | @popd | 60 | @popd |
65 | @endlocal | 61 | @endlocal |
diff --git a/src/wix/wix.sln b/src/wix/wix.sln index 81faf8be..13ca8785 100644 --- a/src/wix/wix.sln +++ b/src/wix/wix.sln | |||
@@ -34,8 +34,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wixnative", "wixnative\wixn | |||
34 | EndProject | 34 | EndProject |
35 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Core.Native", "WixToolset.Core.Native\WixToolset.Core.Native.csproj", "{81533C6A-E145-4EB5-9658-3ACA8A2A6323}" | 35 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Core.Native", "WixToolset.Core.Native\WixToolset.Core.Native.csproj", "{81533C6A-E145-4EB5-9658-3ACA8A2A6323}" |
36 | EndProject | 36 | EndProject |
37 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "heat", "heat\heat.csproj", "{E08BCE70-7D77-4B70-83F1-F08A7B58FC16}" | ||
38 | EndProject | ||
39 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "wix", "wix\wix.csproj", "{C933FB6B-074C-4ED2-B961-7639A7877B3A}" | 37 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "wix", "wix\wix.csproj", "{C933FB6B-074C-4ED2-B961-7639A7877B3A}" |
40 | EndProject | 38 | EndProject |
41 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.BuildTasks", "WixToolset.BuildTasks\WixToolset.BuildTasks.csproj", "{D04EE8DF-85E5-42E5-B7B4-D064818F32C5}" | 39 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.BuildTasks", "WixToolset.BuildTasks\WixToolset.BuildTasks.csproj", "{D04EE8DF-85E5-42E5-B7B4-D064818F32C5}" |
@@ -44,8 +42,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Sdk", "WixToolse | |||
44 | EndProject | 42 | EndProject |
45 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Sdk", "test\WixToolsetTest.Sdk\WixToolsetTest.Sdk.csproj", "{C44BB95F-5020-4876-933C-B73A24C488FD}" | 43 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Sdk", "test\WixToolsetTest.Sdk\WixToolsetTest.Sdk.csproj", "{C44BB95F-5020-4876-933C-B73A24C488FD}" |
46 | EndProject | 44 | EndProject |
47 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Heat", "test\WixToolsetTest.Heat\WixToolsetTest.Heat.csproj", "{9D788104-2636-4E4C-891C-08FF05FEC31E}" | ||
48 | EndProject | ||
49 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Core.Native", "test\WixToolsetTest.Core.Native\WixToolsetTest.Core.Native.csproj", "{93645356-5D5F-45DE-AC7F-252D35E1ACE5}" | 45 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Core.Native", "test\WixToolsetTest.Core.Native\WixToolsetTest.Core.Native.csproj", "{93645356-5D5F-45DE-AC7F-252D35E1ACE5}" |
50 | EndProject | 46 | EndProject |
51 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.BuildTasks", "test\WixToolsetTest.BuildTasks\WixToolsetTest.BuildTasks.csproj", "{A05698E0-30D9-4B36-8F3B-585A99D67118}" | 47 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.BuildTasks", "test\WixToolsetTest.BuildTasks\WixToolsetTest.BuildTasks.csproj", "{A05698E0-30D9-4B36-8F3B-585A99D67118}" |
@@ -306,22 +302,6 @@ Global | |||
306 | {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x64.Build.0 = Release|Any CPU | 302 | {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x64.Build.0 = Release|Any CPU |
307 | {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x86.ActiveCfg = Release|Any CPU | 303 | {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x86.ActiveCfg = Release|Any CPU |
308 | {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x86.Build.0 = Release|Any CPU | 304 | {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x86.Build.0 = Release|Any CPU |
309 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
310 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
311 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Debug|ARM64.ActiveCfg = Debug|Any CPU | ||
312 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Debug|ARM64.Build.0 = Debug|Any CPU | ||
313 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Debug|x64.ActiveCfg = Debug|Any CPU | ||
314 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Debug|x64.Build.0 = Debug|Any CPU | ||
315 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
316 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Debug|x86.Build.0 = Debug|Any CPU | ||
317 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
318 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Release|Any CPU.Build.0 = Release|Any CPU | ||
319 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Release|ARM64.ActiveCfg = Release|Any CPU | ||
320 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Release|ARM64.Build.0 = Release|Any CPU | ||
321 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Release|x64.ActiveCfg = Release|Any CPU | ||
322 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Release|x64.Build.0 = Release|Any CPU | ||
323 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Release|x86.ActiveCfg = Release|Any CPU | ||
324 | {E08BCE70-7D77-4B70-83F1-F08A7B58FC16}.Release|x86.Build.0 = Release|Any CPU | ||
325 | {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 305 | {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
326 | {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|Any CPU.Build.0 = Debug|Any CPU | 306 | {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|Any CPU.Build.0 = Debug|Any CPU |
327 | {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|ARM64.ActiveCfg = Debug|Any CPU | 307 | {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|ARM64.ActiveCfg = Debug|Any CPU |
@@ -386,22 +366,6 @@ Global | |||
386 | {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x64.Build.0 = Release|Any CPU | 366 | {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x64.Build.0 = Release|Any CPU |
387 | {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x86.ActiveCfg = Release|Any CPU | 367 | {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x86.ActiveCfg = Release|Any CPU |
388 | {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x86.Build.0 = Release|Any CPU | 368 | {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x86.Build.0 = Release|Any CPU |
389 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
390 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
391 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Debug|ARM64.ActiveCfg = Debug|Any CPU | ||
392 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Debug|ARM64.Build.0 = Debug|Any CPU | ||
393 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Debug|x64.ActiveCfg = Debug|Any CPU | ||
394 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Debug|x64.Build.0 = Debug|Any CPU | ||
395 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
396 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Debug|x86.Build.0 = Debug|Any CPU | ||
397 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
398 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Release|Any CPU.Build.0 = Release|Any CPU | ||
399 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Release|ARM64.ActiveCfg = Release|Any CPU | ||
400 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Release|ARM64.Build.0 = Release|Any CPU | ||
401 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Release|x64.ActiveCfg = Release|Any CPU | ||
402 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Release|x64.Build.0 = Release|Any CPU | ||
403 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Release|x86.ActiveCfg = Release|Any CPU | ||
404 | {9D788104-2636-4E4C-891C-08FF05FEC31E}.Release|x86.Build.0 = Release|Any CPU | ||
405 | {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 369 | {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
406 | {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|Any CPU.Build.0 = Debug|Any CPU | 370 | {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|Any CPU.Build.0 = Debug|Any CPU |
407 | {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|ARM64.ActiveCfg = Debug|Any CPU | 371 | {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|ARM64.ActiveCfg = Debug|Any CPU |
@@ -478,7 +442,6 @@ Global | |||
478 | {DF63F589-028E-45A1-A212-948FACF1FDCD} = {1284331E-BC6C-426D-AAAF-140C0174F875} | 442 | {DF63F589-028E-45A1-A212-948FACF1FDCD} = {1284331E-BC6C-426D-AAAF-140C0174F875} |
479 | {23FC60D7-B101-42F8-9786-DB7A9CD964A2} = {1284331E-BC6C-426D-AAAF-140C0174F875} | 443 | {23FC60D7-B101-42F8-9786-DB7A9CD964A2} = {1284331E-BC6C-426D-AAAF-140C0174F875} |
480 | {C44BB95F-5020-4876-933C-B73A24C488FD} = {1284331E-BC6C-426D-AAAF-140C0174F875} | 444 | {C44BB95F-5020-4876-933C-B73A24C488FD} = {1284331E-BC6C-426D-AAAF-140C0174F875} |
481 | {9D788104-2636-4E4C-891C-08FF05FEC31E} = {1284331E-BC6C-426D-AAAF-140C0174F875} | ||
482 | {93645356-5D5F-45DE-AC7F-252D35E1ACE5} = {1284331E-BC6C-426D-AAAF-140C0174F875} | 445 | {93645356-5D5F-45DE-AC7F-252D35E1ACE5} = {1284331E-BC6C-426D-AAAF-140C0174F875} |
483 | {A05698E0-30D9-4B36-8F3B-585A99D67118} = {1284331E-BC6C-426D-AAAF-140C0174F875} | 446 | {A05698E0-30D9-4B36-8F3B-585A99D67118} = {1284331E-BC6C-426D-AAAF-140C0174F875} |
484 | {392817AE-4493-4BED-A7FD-2399379E1B1C} = {1284331E-BC6C-426D-AAAF-140C0174F875} | 447 | {392817AE-4493-4BED-A7FD-2399379E1B1C} = {1284331E-BC6C-426D-AAAF-140C0174F875} |