aboutsummaryrefslogtreecommitdiff
path: root/src/tools/WixToolset.Heat
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/WixToolset.Heat')
-rw-r--r--src/tools/WixToolset.Heat/WixToolset.Heat.csproj12
-rw-r--r--src/tools/WixToolset.Heat/WixToolset.Heat.nuspec24
-rw-r--r--src/tools/WixToolset.Heat/WixToolset.Heat.targets526
3 files changed, 0 insertions, 562 deletions
diff --git a/src/tools/WixToolset.Heat/WixToolset.Heat.csproj b/src/tools/WixToolset.Heat/WixToolset.Heat.csproj
deleted file mode 100644
index 2166028a..00000000
--- a/src/tools/WixToolset.Heat/WixToolset.Heat.csproj
+++ /dev/null
@@ -1,12 +0,0 @@
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>net6.0</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
deleted file mode 100644
index 48e94797..00000000
--- a/src/tools/WixToolset.Heat/WixToolset.Heat.nuspec
+++ /dev/null
@@ -1,24 +0,0 @@
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 <icon>icon.png</icon>
10 <license type="file">OSMFEULA.txt</license>
11 <requireLicenseAcceptance>true</requireLicenseAcceptance>
12 <tags>$packageTags$</tags>
13 <copyright>$copyright$</copyright>
14 <projectUrl>$projectUrl$</projectUrl>
15 <repository type="$repositorytype$" url="$repositoryurl$" commit="$repositorycommit$" />
16 </metadata>
17
18 <files>
19 <file src="$eulaTxt$" />
20 <file src="$iconPng$" />
21 <file src="$projectFolder$\$id$.targets" target="build" />
22 <file src="tools\**\*" target="tools" />
23 </files>
24</package>
diff --git a/src/tools/WixToolset.Heat/WixToolset.Heat.targets b/src/tools/WixToolset.Heat/WixToolset.Heat.targets
deleted file mode 100644
index c20bd194..00000000
--- a/src/tools/WixToolset.Heat/WixToolset.Heat.targets
+++ /dev/null
@@ -1,526 +0,0 @@
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
5<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <!-- These properties can be overridden to support non-default installations. -->
7 <PropertyGroup>
8 <WixHeatBinDir Condition=" '$(WixHeatBinDir)' == '' and '$(MSBuildRuntimeType)' == 'Core' ">$(MSBuildThisFileDirectory)..\tools\net6.0\</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>
20 </PropertyGroup>
21
22 <!-- These tasks are extensions for harvesting WiX source code from other sources. -->
23 <UsingTask TaskName="HeatFile" AssemblyFile="$(WixHeatTasksPath)" />
24 <UsingTask TaskName="HeatDirectory" AssemblyFile="$(WixHeatTasksPath)" />
25 <UsingTask TaskName="HeatProject" AssemblyFile="$(WixHeatTasksPath)" />
26
27 <UsingTask TaskName="RefreshGeneratedFile" AssemblyFile="$(WixHeatTasksPath)"/>
28 <UsingTask TaskName="RefreshBundleGeneratedFile" AssemblyFile="$(WixHeatTasksPath)"/>
29
30 <!-- Default Harvester properties-->
31 <PropertyGroup>
32 <HarvestNoLogo Condition=" '$(HarvestNoLogo)' == '' ">$(NoLogo)</HarvestNoLogo>
33 <HarvestSuppressAllWarnings Condition=" '$(HarvestSuppressAllWarnings)' == '' ">$(SuppressAllWarnings)</HarvestSuppressAllWarnings>
34 <HarvestSuppressSpecificWarnings Condition=" '$(HarvestSuppressSpecificWarnings)' == '' ">$(SuppressSpecificWarnings)</HarvestSuppressSpecificWarnings>
35 <HarvestTreatWarningsAsErrors Condition=" '$(HarvestTreatWarningsAsErrors)' == '' ">$(TreatWarningsAsErrors)</HarvestTreatWarningsAsErrors>
36 <HarvestTreatSpecificWarningsAsErrors Condition=" '$(HarvestTreatSpecificWarningsAsErrors)' == '' ">$(TreatSpecificWarningsAsErrors)</HarvestTreatSpecificWarningsAsErrors>
37 <HarvestVerboseOutput Condition=" '$(HarvestVerboseOutput)' == '' ">$(VerboseOutput)</HarvestVerboseOutput>
38 <HarvestAutogenerateGuids Condition=" '$(HarvestAutogenerateGuids)' == '' ">true</HarvestAutogenerateGuids>
39 <HarvestGenerateGuidsNow Condition=" '$(HarvestGenerateGuidsNow)' == '' ">false</HarvestGenerateGuidsNow>
40 <HarvestSuppressFragments Condition=" '$(HarvestSuppressFragments)' == '' ">true</HarvestSuppressFragments>
41 <HarvestSuppressUniqueIds Condition=" '$(HarvestSuppressUniqueIds)' == '' ">false</HarvestSuppressUniqueIds>
42 </PropertyGroup>
43
44 <!-- Default HarvestProjects properties -->
45 <PropertyGroup>
46 <!-- Project harvesting is defaulted to off until it works more consistently. -->
47 <EnableProjectHarvesting Condition=" '$(EnableProjectHarvesting)'=='' ">false</EnableProjectHarvesting>
48
49 <HarvestProjectsNoLogo Condition=" '$(HarvestProjectsNoLogo)' == '' ">$(HarvestNoLogo)</HarvestProjectsNoLogo>
50 <HarvestProjectsSuppressAllWarnings Condition=" '$(HarvestProjectsSuppressAllWarnings)' == '' ">$(HarvestSuppressAllWarnings)</HarvestProjectsSuppressAllWarnings>
51 <HarvestProjectsSuppressSpecificWarnings Condition=" '$(HarvestProjectsSuppressSpecificWarnings)' == '' ">$(HarvestSuppressSpecificWarnings)</HarvestProjectsSuppressSpecificWarnings>
52 <HarvestProjectsTreatWarningsAsErrors Condition=" '$(HarvestProjectsTreatWarningsAsErrors)' == '' ">$(HarvestTreatWarningsAsErrors)</HarvestProjectsTreatWarningsAsErrors>
53 <HarvestProjectsTreatSpecificWarningsAsErrors Condition=" '$(HarvestProjectsTreatSpecificWarningsAsErrors)' == '' ">$(HarvestTreatSpecificWarningsAsErrors)</HarvestProjectsTreatSpecificWarningsAsErrors>
54 <HarvestProjectsVerboseOutput Condition=" '$(HarvestProjectsVerboseOutput)' == '' ">$(HarvestVerboseOutput)</HarvestProjectsVerboseOutput>
55 <HarvestProjectsAutogenerateGuids Condition=" '$(HarvestProjectsAutogenerateGuids)' == '' ">$(HarvestAutogenerateGuids)</HarvestProjectsAutogenerateGuids>
56 <HarvestProjectsGenerateGuidsNow Condition=" '$(HarvestProjectsGenerateGuidsNow)' == '' ">$(HarvestGenerateGuidsNow)</HarvestProjectsGenerateGuidsNow>
57 <HarvestProjectsSuppressFragments Condition=" '$(HarvestProjectsSuppressFragments)' == '' ">$(HarvestSuppressFragments)</HarvestProjectsSuppressFragments>
58 <HarvestProjectsSuppressUniqueIds Condition=" '$(HarvestProjectsSuppressUniqueIds)' == '' ">$(HarvestSuppressUniqueIds)</HarvestProjectsSuppressUniqueIds>
59 <HarvestProjectsTransforms Condition=" '$(HarvestProjectsTransforms)' == '' ">$(HarvestTransforms)</HarvestProjectsTransforms>
60 <HarvestProjectsGeneratedFile Condition=" '$(HarvestProjectsGeneratedFile)' == '' and '$(OutputType)' != 'Bundle' ">$(IntermediateOutputPath)Product.Generated.wxs</HarvestProjectsGeneratedFile>
61 <HarvestProjectsGeneratedFile Condition=" '$(HarvestProjectsGeneratedFile)' == '' and '$(OutputType)' == 'Bundle' ">$(IntermediateOutputPath)Bundle.Generated.wxs</HarvestProjectsGeneratedFile>
62 <HarvestProjectsMsbuildBinPath Condition=" '$(HarvestProjectsMsbuildBinPath)' == '' ">$(MSBuildBinPath)</HarvestProjectsMsbuildBinPath>
63 </PropertyGroup>
64
65 <!-- Default HarvestDirectory properties -->
66 <PropertyGroup>
67 <HarvestDirectoryNoLogo Condition=" '$(HarvestDirectoryNoLogo)' == '' ">$(HarvestNoLogo)</HarvestDirectoryNoLogo>
68 <HarvestDirectorySuppressAllWarnings Condition=" '$(HarvestDirectorySuppressAllWarnings)' == '' ">$(HarvestSuppressAllWarnings)</HarvestDirectorySuppressAllWarnings>
69 <HarvestDirectorySuppressSpecificWarnings Condition=" '$(HarvestDirectorySuppressSpecificWarnings)' == '' ">$(HarvestSuppressSpecificWarnings)</HarvestDirectorySuppressSpecificWarnings>
70 <HarvestDirectoryTreatWarningsAsErrors Condition=" '$(HarvestDirectoryTreatWarningsAsErrors)' == '' ">$(HarvestTreatWarningsAsErrors)</HarvestDirectoryTreatWarningsAsErrors>
71 <HarvestDirectoryTreatSpecificWarningsAsErrors Condition=" '$(HarvestDirectoryTreatSpecificWarningsAsErrors)' == '' ">$(HarvestTreatSpecificWarningsAsErrors)</HarvestDirectoryTreatSpecificWarningsAsErrors>
72 <HarvestDirectoryVerboseOutput Condition=" '$(HarvestDirectoryVerboseOutput)' == '' ">$(HarvestVerboseOutput)</HarvestDirectoryVerboseOutput>
73 <HarvestDirectoryAutogenerateGuids Condition=" '$(HarvestDirectoryAutogenerateGuids)' == '' ">$(HarvestAutogenerateGuids)</HarvestDirectoryAutogenerateGuids>
74 <HarvestDirectoryGenerateGuidsNow Condition=" '$(HarvestDirectoryGenerateGuidsNow)' == '' ">$(HarvestGenerateGuidsNow)</HarvestDirectoryGenerateGuidsNow>
75 <HarvestDirectorySuppressFragments Condition=" '$(HarvestDirectorySuppressFragments)' == '' ">$(HarvestSuppressFragments)</HarvestDirectorySuppressFragments>
76 <HarvestDirectorySuppressUniqueIds Condition=" '$(HarvestDirectorySuppressUniqueIds)' == '' ">$(HarvestSuppressUniqueIds)</HarvestDirectorySuppressUniqueIds>
77 <HarvestDirectoryTransforms Condition=" '$(HarvestDirectoryTransforms)' == '' ">$(HarvestTransforms)</HarvestDirectoryTransforms>
78 </PropertyGroup>
79
80 <!-- Default HarvestFile properties -->
81 <PropertyGroup>
82 <HarvestFileNoLogo Condition=" '$(HarvestFileNoLogo)' == '' ">$(HarvestNoLogo)</HarvestFileNoLogo>
83 <HarvestFileSuppressAllWarnings Condition=" '$(HarvestFileSuppressAllWarnings)' == '' ">$(HarvestSuppressAllWarnings)</HarvestFileSuppressAllWarnings>
84 <HarvestFileSuppressSpecificWarnings Condition=" '$(HarvestFileSuppressSpecificWarnings)' == '' ">$(HarvestSuppressSpecificWarnings)</HarvestFileSuppressSpecificWarnings>
85 <HarvestFileTreatWarningsAsErrors Condition=" '$(HarvestFileTreatWarningsAsErrors)' == '' ">$(HarvestTreatWarningsAsErrors)</HarvestFileTreatWarningsAsErrors>
86 <HarvestFileTreatSpecificWarningsAsErrors Condition=" '$(HarvestFileTreatSpecificWarningsAsErrors)' == '' ">$(HarvestTreatSpecificWarningsAsErrors)</HarvestFileTreatSpecificWarningsAsErrors>
87 <HarvestFileVerboseOutput Condition=" '$(HarvestFileVerboseOutput)' == '' ">$(HarvestVerboseOutput)</HarvestFileVerboseOutput>
88 <HarvestFileAutogenerateGuids Condition=" '$(HarvestFileAutogenerateGuids)' == '' ">$(HarvestAutogenerateGuids)</HarvestFileAutogenerateGuids>
89 <HarvestFileGenerateGuidsNow Condition=" '$(HarvestFileGenerateGuidsNow)' == '' ">$(HarvestGenerateGuidsNow)</HarvestFileGenerateGuidsNow>
90 <HarvestFileSuppressFragments Condition=" '$(HarvestFileSuppressFragments)' == '' ">$(HarvestSuppressFragments)</HarvestFileSuppressFragments>
91 <HarvestFileSuppressUniqueIds Condition=" '$(HarvestFileSuppressUniqueIds)' == '' ">$(HarvestSuppressUniqueIds)</HarvestFileSuppressUniqueIds>
92 <HarvestFileTransforms Condition=" '$(HarvestFileTransforms)' == '' ">$(HarvestTransforms)</HarvestFileTransforms>
93 </PropertyGroup>
94
95 <!--
96 ==================================================================================================
97 Harvest
98 ==================================================================================================
99 -->
100 <PropertyGroup>
101 <CoreCompileDependsOn>
102 $(CoreCompileDependsOn);
103 Harvest
104 </CoreCompileDependsOn>
105 <HarvestDependsOn>
106 ConvertReferences;
107 ConvertBundleReferences;
108 HarvestProjects;
109 HarvestDirectory;
110 HarvestFile;
111 GenerateCode;
112 </HarvestDependsOn>
113 </PropertyGroup>
114 <Target
115 Name="Harvest"
116 DependsOnTargets="$(HarvestDependsOn)" />
117
118 <!--
119 ==================================================================================================
120 GenerateCode
121 ==================================================================================================
122 -->
123 <PropertyGroup>
124 <GenerateCodeDependsOn>
125 RefreshGeneratedFile;
126 RefreshBundleGeneratedFile
127 </GenerateCodeDependsOn>
128 </PropertyGroup>
129 <Target
130 Name="GenerateCode"
131 DependsOnTargets="$(GenerateCodeDependsOn)" />
132
133 <!--
134 ================================================================================================
135 ConvertReferences
136
137 Converts project references to HeatProject items to auto generate authoring.
138 ================================================================================================
139 -->
140 <Target
141 Name="ConvertReferences"
142 Condition=" $(EnableProjectHarvesting) and ('$(OutputType)' == 'Package' or '$(OutputType)' == 'PatchCreation' or '$(OutputType)' == 'Module') ">
143
144 <ItemGroup>
145 <_HeatProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' ">
146 <DirectoryIds>%(_MSBuildProjectReferenceExistent.RefTargetDir)</DirectoryIds>
147 <ProjectOutputGroups>Binaries;Symbols;Sources;Content;Satellites;Documents</ProjectOutputGroups>
148 <ProjectName>%(_MSBuildProjectReferenceExistent.Name)</ProjectName>
149 <HeatOutput>$(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs</HeatOutput>
150 </_HeatProjectReference>
151 <HeatProject Include="@(_HeatProjectReference)" />
152 </ItemGroup>
153
154 <ItemGroup>
155 <!-- Unconditionally generate Compile items so they are always linked in. -->
156 <Compile Include="$(HarvestProjectsGeneratedFile)" />
157 <_GeneratedFiles Include="$(HarvestProjectsGeneratedFile)" />
158 </ItemGroup>
159
160 </Target>
161
162 <!--
163 ================================================================================================
164 ConvertBundleReferences
165
166 Converts project references in Bundle projects to HeatProject items to auto generate authoring.
167 ================================================================================================
168 -->
169 <Target
170 Name="ConvertBundleReferences"
171 Condition=" $(EnableProjectHarvesting) and ('$(OutputType)' == 'Bundle') ">
172
173 <ItemGroup>
174 <_HeatProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' ">
175 <ProjectOutputGroups>Binaries;Symbols;Sources;Content;Satellites;Documents</ProjectOutputGroups>
176 <GenerateType>payloadgroup</GenerateType>
177 <HeatOutput>$(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs</HeatOutput>
178 </_HeatProjectReference>
179 <HeatProject Include="@(_HeatProjectReference)" />
180 </ItemGroup>
181
182 <ItemGroup>
183 <!-- Unconditionally generate Compile items so they are always linked in. -->
184 <Compile Include="$(HarvestProjectsGeneratedFile)" />
185 <_GeneratedFiles Include="$(HarvestProjectsGeneratedFile)" />
186 </ItemGroup>
187
188 </Target>
189
190 <!--
191 ================================================================================================
192 CombineHarvestProjects
193
194 Combines HeatProject and HarvestProject items together and ensures each has HeatOutput metadata.
195 ================================================================================================
196 -->
197 <Target
198 Name="CombineHarvestProjects"
199 Condition=" '@(HeatProject)' != '' or '@(HarvestProject)' != '' ">
200
201 <!-- Add default HeatOutputs for those without one specified -->
202 <CreateItem Include="@(HeatProject)" Condition= " '%(HeatProject.HeatOutput)' == '' "
203 AdditionalMetadata="HeatOutput=$(IntermediateOutputPath)_%(HeatProject.Filename).wxs">
204 <Output TaskParameter="Include" ItemName="_AllHeatProjects" />
205 </CreateItem>
206 <CreateItem Include="@(HarvestProject)" Condition= " '%(HarvestProject.HeatOutput)' == '' "
207 AdditionalMetadata="HeatOutput=$(IntermediateOutputPath)_%(HarvestProject.Filename).wxs">
208 <Output TaskParameter="Include" ItemName="_AllHeatProjects" />
209 </CreateItem>
210
211
212 <CreateItem Include="@(HeatProject)" Condition= " '%(HeatProject.HeatOutput)' != '' ">
213 <Output TaskParameter="Include" ItemName="_AllHeatProjects" />
214 </CreateItem>
215 <CreateItem Include="@(HarvestProject)" Condition= " '%(HarvestProject.HeatOutput)' != '' ">
216 <Output TaskParameter="Include" ItemName="_AllHeatProjects" />
217 </CreateItem>
218
219 </Target>
220
221 <!--
222 ================================================================================================
223 HarvestProjects
224
225 Harvests outputs of other MSBuild projects files using the VS project extension to heat.exe.
226
227 [IN]
228 @(HarvestProject)
229 @(HeatProject)
230 - The list of projects to harvest. HeatProject is provided for backward compatibility.
231 You should use HarvestProject instead.
232
233 %(HarvestProject.Transforms)
234 %(HeatProject.Transforms)
235 - XSL transforms to apply to the harvested WiX.
236
237 %(HarvestProject.ProjectOutputGroups)
238 %(HeatProjects.ProjectOutputGroups)
239 - The project output groups to harvest
240
241 %(HarvestProject.AdditionalOptions)
242 %(HeatProjects.AdditionalOptions)
243 - Any additional harvesting command line options
244
245 [OUT]
246 %(HeatOutput)
247 - The generated .wxs files which are added to the @(Compile) item list.
248 ================================================================================================
249 -->
250 <ItemDefinitionGroup>
251 <HeatProject>
252 <Transforms>$(HarvestProjectsTransforms)</Transforms>
253 <ProjectOutputGroups>$(HarvestProjectsProjectOutputGroups)</ProjectOutputGroups>
254 <DirectoryIds>$(HarvestProjectsDirectoryIds)</DirectoryIds>
255 <AdditionalOptions>$(HarvestProjectsAdditionalOptions)</AdditionalOptions>
256 </HeatProject>
257 <HarvestProject>
258 <Transforms>$(HarvestProjectsTransforms)</Transforms>
259 <ProjectOutputGroups>$(HarvestProjectsProjectOutputGroups)</ProjectOutputGroups>
260 <DirectoryIds>$(HarvestProjectsDirectoryIds)</DirectoryIds>
261 <AdditionalOptions>$(HarvestProjectsAdditionalOptions)</AdditionalOptions>
262 </HarvestProject>
263 </ItemDefinitionGroup>
264
265 <PropertyGroup>
266 <HarvestProjectsDependsOn>CombineHarvestProjects</HarvestProjectsDependsOn>
267 </PropertyGroup>
268 <Target Name="HarvestProjects"
269 DependsOnTargets="$(HarvestProjectsDependsOn)"
270 Inputs="@(_AllHeatProjects);%(_AllHeatProjects.Transforms);$(ProjectPath)"
271 Outputs="@(_AllHeatProjects -> '%(HeatOutput)')"
272 Condition=" $(EnableProjectHarvesting) and ('@(HeatProject)' != '' or '@(HarvestProject)' != '') ">
273
274 <HeatProject
275 NoLogo="true"
276 SuppressAllWarnings="$(HarvestProjectsSuppressAllWarnings)"
277 SuppressSpecificWarnings="$(HarvestProjectsSuppressSpecificWarnings)"
278 TreatWarningsAsErrors="$(HarvestProjectsTreatWarningsAsErrors)"
279 TreatSpecificWarningsAsErrors="$(HarvestProjectsTreatSpecificWarningsAsErrors)"
280 VerboseOutput="$(HarvestProjectsVerboseOutput)"
281 AutogenerateGuids="$(HarvestProjectsAutogenerateGuids)"
282 GenerateGuidsNow="$(HarvestProjectsGenerateGuidsNow)"
283 OutputFile="%(_AllHeatProjects.HeatOutput)"
284 SuppressFragments="$(HarvestProjectsSuppressFragments)"
285 SuppressUniqueIds="$(HarvestProjectsSuppressUniqueIds)"
286 Transforms="%(_AllHeatProjects.Transforms)"
287 Project="%(_AllHeatProjects.FullPath)"
288 ProjectOutputGroups="%(_AllHeatProjects.ProjectOutputGroups)"
289 GenerateType="%(_AllHeatProjects.GenerateType)"
290 MsbuildBinPath="$(HarvestProjectsMsbuildBinPath)"
291 DirectoryIds="%(_AllHeatProjects.DirectoryIds)"
292 ProjectName="%(_AllHeatProjects.ProjectName)"
293 Configuration="%(_AllHeatProjects.Configuration)"
294 Platform="%(_AllHeatProjects.Platform)"
295 GenerateWixVariables="$(HarvestProjectsGenerateWixVariables)"
296 UseToolsVersion="$(HarvestProjectsUseToolsVersion)"
297 AdditionalOptions="%(_AllHeatProjects.AdditionalOptions)"
298 ToolPath="$(HeatToolDir)">
299
300 <Output TaskParameter="OutputFile" ItemName="Compile" />
301 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
302
303 </HeatProject>
304
305 </Target>
306
307 <!--
308 ================================================================================================
309 HarvestDirectory
310
311 Harvests directories using heat.exe.
312
313 [IN]
314 @(HarvestDirectory) - The list of directories to harvest.
315 %(HarvestDirectory.Transforms) - XSL transforms to apply to the harvested WiX.
316 %(HarvestDirectory.ComponentGroupName) - The name of the ComponentGroup to create.
317 %(HarvestDirectory.DirectoryRefId) - The ID of the directory to reference instead of TARGETDIR.
318 %(HarvestDirectory.KeepEmptyDirectories) - Whether to create Directory entries for empty directories.
319 %(HarvestDirectory.PreprocessorVariable) - Substitute SourceDir for another variable name (ex: var.Dir).
320 %(HarvestDirectory.SuppressCom) - Suppress COM elements.
321 %(HarvestDirectory.SuppressRootDirectory) - Suppress a Directory element for the root directory.
322 %(HarvestDirectory.SuppressRegistry) - Suppress registry harvesting.
323 %(HarvestDirectory.AdditionalOptions) - Any additional harvesting command line options.
324
325 [OUT]
326 $(IntermediateOutputPath)_%(HarvestDirectory.ComponentGroupName)_dir.wxs
327 - The generated .wxs files which are added to the @(Compile) item list.
328 ================================================================================================
329 -->
330
331 <ItemDefinitionGroup>
332 <HarvestDirectory>
333 <Transforms>$(HarvestDirectoryTransforms)</Transforms>
334 <ComponentGroupName>$(HarvestDirectoryComponentGroupName)</ComponentGroupName>
335 <DirectoryRefId>$(HarvestDirectoryDirectoryRefId)</DirectoryRefId>
336 <KeepEmptyDirectories>$(HarvestDirectoryKeepEmptyDirectories)</KeepEmptyDirectories>
337 <PreprocessorVariable>$(HarvestDirectoryPreprocessorVariable)</PreprocessorVariable>
338 <SuppressCom>$(HarvestDirectorySuppressCom)</SuppressCom>
339 <SuppressRootDirectory>$(HarvestDirectorySuppressRootDirectory)</SuppressRootDirectory>
340 <SuppressRegistry>$(HarvestDirectorySuppressRegistry)</SuppressRegistry>
341 <AdditionalOptions>$(HarvestDirectoryAdditionalOptions)</AdditionalOptions>
342 </HarvestDirectory>
343 </ItemDefinitionGroup>
344
345 <PropertyGroup>
346 <HarvestDirectoryDependsOn>
347 GetHarvestDirectoryContent
348 </HarvestDirectoryDependsOn>
349 </PropertyGroup>
350
351 <!-- Creates items to include content since wildcards will not work in Target/@Inputs. -->
352 <Target Name="GetHarvestDirectoryContent">
353 <CreateItem Include="@(HarvestDirectory->'%(FullPath)\**\*')">
354 <Output TaskParameter="Include" ItemName="_HarvestDirectoryContent" />
355 </CreateItem>
356 </Target>
357
358 <Target Name="HarvestDirectory"
359 DependsOnTargets="$(HarvestDirectoryDependsOn)"
360 Inputs="@(_HarvestDirectoryContent);%(HarvestDirectory.Transforms)"
361 Outputs="$(IntermediateOutputPath)_%(HarvestDirectory.ComponentGroupName)_dir.wxs"
362 Condition=" '@(HarvestDirectory)' != '' ">
363
364 <HeatDirectory
365 NoLogo="true"
366 SuppressAllWarnings="$(HarvestDirectorySuppressAllWarnings)"
367 SuppressSpecificWarnings="$(HarvestDirectorySuppressSpecificWarnings)"
368 TreatWarningsAsErrors="$(HarvestDirectoryTreatWarningsAsErrors)"
369 TreatSpecificWarningsAsErrors="$(HarvestDirectoryTreatSpecificWarningsAsErrors)"
370 VerboseOutput="$(HarvestDirectoryVerboseOutput)"
371 AutogenerateGuids="$(HarvestDirectoryAutogenerateGuids)"
372 GenerateGuidsNow="$(HarvestDirectoryGenerateGuidsNow)"
373 OutputFile="$(IntermediateOutputPath)_%(HarvestDirectory.ComponentGroupName)_dir.wxs"
374 SuppressFragments="$(HarvestDirectorySuppressFragments)"
375 SuppressUniqueIds="$(HarvestDirectorySuppressUniqueIds)"
376 Transforms="%(HarvestDirectory.Transforms)"
377 Directory="@(HarvestDirectory)"
378 ComponentGroupName="%(HarvestDirectory.ComponentGroupName)"
379 DirectoryRefId="%(HarvestDirectory.DirectoryRefId)"
380 KeepEmptyDirectories="%(HarvestDirectory.KeepEmptyDirectories)"
381 PreprocessorVariable="%(HarvestDirectory.PreprocessorVariable)"
382 SuppressCom="%(HarvestDirectory.SuppressCom)"
383 SuppressRootDirectory="%(HarvestDirectory.SuppressRootDirectory)"
384 SuppressRegistry="%(HarvestDirectory.SuppressRegistry)"
385 AdditionalOptions="%(HarvestDirectory.AdditionalOptions)"
386 ToolPath="$(HeatToolDir)">
387
388 <Output TaskParameter="OutputFile" ItemName="Compile" />
389 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
390
391 </HeatDirectory>
392
393 </Target>
394
395 <!--
396 ================================================================================================
397 HarvestFile
398
399 Harvests files of different types using heat.exe. This can harvest registry from
400 self-registering files, files with typelibs, and more.
401
402 [IN]
403 @(HarvestFile) - The list of files to harvest.
404 %(HarvestFile.Transforms) - XSL transforms to apply to the harvested WiX.
405 %(HarvestFile.ComponentGroupName) - The name of the ComponentGroup to create.
406 %(HarvestFile.DirectoryRefId) - The ID of the directory to reference instead of TARGETDIR.
407 %(HarvestFile.PreprocessorVariable) - Substitute SourceDir for another variable name (ex: var.Dir).
408 %(HarvestFile.SuppressCom) - Suppress COM elements.
409 %(HarvestFile.SuppressRootDirectory) - Suppress a Directory element for the root directory.
410 $(HarvestFile.SuppressRegistry) - Suppress registry harvesting.
411 %(HarvestFile.AdditionalOptions) - Any additional harvesting command line options.
412
413 [OUT]
414 $(IntermediateOutputPath)_%(HarvestFile.Filename)_file.wxs
415 - The generated .wxs files which are added to the @(Compile) item list.
416 ================================================================================================
417 -->
418
419 <ItemDefinitionGroup>
420 <HarvestFile>
421 <Transforms>$(HarvestFileTransforms)</Transforms>
422 <ComponentGroupName>$(HarvestFileComponentGroupName)</ComponentGroupName>
423 <DirectoryRefId>$(HarvestFileDirectoryRefId)</DirectoryRefId>
424 <PreprocessorVariable>$(HarvestFilePreprocessorVariable)</PreprocessorVariable>
425 <SuppressCom>$(HarvestFileSuppressCom)</SuppressCom>
426 <SuppressRegistry>$(HarvestFileSuppressRegistry)</SuppressRegistry>
427 <SuppressRootDirectory>$(HarvestFileSuppressRootDirectory)</SuppressRootDirectory>
428 <AdditionalOptions>$(HarvestFileAdditionalOptions)</AdditionalOptions>
429 </HarvestFile>
430 </ItemDefinitionGroup>
431
432 <PropertyGroup>
433 <HarvestFileDependsOn></HarvestFileDependsOn>
434 </PropertyGroup>
435 <Target Name="HarvestFile"
436 DependsOnTargets="$(HarvestFileDependsOn)"
437 Inputs="@(HarvestFile);%(HarvestFile.Transforms)"
438 Outputs="@(HarvestFile->'$(IntermediateOutputPath)_%(ComponentGroupName)_%(DirectoryRefId)_%(Filename)%(Extension)_file.wxs')"
439 Condition=" '@(HarvestFile)' != '' ">
440
441 <HeatFile
442 NoLogo="true"
443 SuppressAllWarnings="$(HarvestFileSuppressAllWarnings)"
444 SuppressSpecificWarnings="$(HarvestFileSuppressSpecificWarnings)"
445 TreatWarningsAsErrors="$(HarvestFileTreatWarningsAsErrors)"
446 TreatSpecificWarningsAsErrors="$(HarvestFileTreatSpecificWarningsAsErrors)"
447 VerboseOutput="$(HarvestFileVerboseOutput)"
448 AutogenerateGuids="$(HarvestFileAutogenerateGuids)"
449 GenerateGuidsNow="$(HarvestFileGenerateGuidsNow)"
450 OutputFile="$(IntermediateOutputPath)_%(HarvestFile.ComponentGroupName)_%(HarvestFile.DirectoryRefId)_%(HarvestFile.Filename)%(HarvestFile.Extension)_file.wxs"
451 SuppressFragments="$(HarvestFileSuppressFragments)"
452 SuppressUniqueIds="$(HarvestFileSuppressUniqueIds)"
453 Transforms="%(HarvestFile.Transforms)"
454 File="@(HarvestFile)"
455 ComponentGroupName="%(HarvestFile.ComponentGroupName)"
456 DirectoryRefId="%(HarvestFile.DirectoryRefId)"
457 PreprocessorVariable="%(HarvestFile.PreprocessorVariable)"
458 SuppressCom="%(HarvestFile.SuppressCom)"
459 SuppressRegistry="%(HarvestFile.SuppressRegistry)"
460 SuppressRootDirectory="%(HarvestFile.SuppressRootDirectory)"
461 AdditionalOptions="%(HarvestFile.AdditionalOptions)"
462 ToolPath="$(HeatToolDir)">
463
464 <Output TaskParameter="OutputFile" ItemName="Compile" />
465 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
466
467 </HeatFile>
468
469 </Target>
470
471 <!--
472 ================================================================================================
473 RefreshGeneratedFile
474
475 Generates code based on metadata defined in project references.
476
477 [IN]
478 @(_MSBuildResolvedProjectReferencePaths) - The list of MSBuildable project references.
479
480 [OUT]
481 @(_GeneratedFiles) - The generated source file.
482 ================================================================================================
483 -->
484 <PropertyGroup>
485 <RefreshGeneratedFileDependsOn></RefreshGeneratedFileDependsOn>
486 </PropertyGroup>
487 <Target Name="RefreshGeneratedFile"
488 DependsOnTargets="$(RefreshGeneratedFileDependsOn)"
489 Inputs="@(_MSBuildResolvedProjectReferencePaths);@(Compile);$(ProjectPath)"
490 Outputs="@(_GeneratedFiles)"
491 Condition=" $(EnableProjectHarvesting) and ('$(OutputType)' == 'Package' or '$(OutputType)' == 'PatchCreation' or '$(OutputType)' == 'Module') and '@(_GeneratedFiles)' != '' ">
492
493 <RefreshGeneratedFile
494 GeneratedFiles="@(_GeneratedFiles)"
495 ProjectReferencePaths="@(_MSBuildResolvedProjectReferencePaths)" />
496
497 </Target>
498
499 <!--
500 ================================================================================================
501 RefreshBundleGeneratedFile
502
503 Generates code for bundle projects based on metadata defined in project references.
504
505 [IN]
506 @(_MSBuildResolvedProjectReferencePaths) - The list of MSBuildable project references.
507
508 [OUT]
509 @(_GeneratedFiles) - The generated source file.
510 ================================================================================================
511 -->
512 <PropertyGroup>
513 <RefreshBundleGeneratedFileDependsOn></RefreshBundleGeneratedFileDependsOn>
514 </PropertyGroup>
515 <Target Name="RefreshBundleGeneratedFile"
516 DependsOnTargets="$(RefreshBundleGeneratedFileDependsOn)"
517 Inputs="@(_MSBuildResolvedProjectReferencePaths);@(Compile);$(ProjectPath)"
518 Outputs="@(_GeneratedFiles)"
519 Condition=" $(EnableProjectHarvesting) and ('$(OutputType)' == 'Bundle' and '@(_GeneratedFiles)' != '') ">
520
521 <RefreshBundleGeneratedFile
522 GeneratedFiles="@(_GeneratedFiles)"
523 ProjectReferencePaths="@(_MSBuildResolvedProjectReferencePaths)" />
524 </Target>
525
526</Project>