diff options
Diffstat (limited to 'src')
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} |
