diff options
author | Rob Mensching <rob@firegiant.com> | 2022-07-26 17:20:39 -0700 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2022-08-01 20:25:19 -0700 |
commit | a627ca9b720047e633a8fe72003ab9bee31006c5 (patch) | |
tree | 2bc8a924bb4141ab718e74d08f6459a0ffe8d573 | |
parent | 521eb3c9cf38823a2c4019abb85dc0b3200b92cb (diff) | |
download | wix-a627ca9b720047e633a8fe72003ab9bee31006c5.tar.gz wix-a627ca9b720047e633a8fe72003ab9bee31006c5.tar.bz2 wix-a627ca9b720047e633a8fe72003ab9bee31006c5.zip |
Create WixToolset.Heat.nupkg to distribute heat.exe and Heat targets
Moves Heat functionality to the "tools" layer and packages it all
up in WixToolset.Heat.nupkg for distribution in WiX v4.
Completes 6838
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} |