aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2025-01-22 22:45:45 -0500
committerBob Arnson <github@bobs.org>2025-01-23 08:44:13 -0500
commit63223d5c023846ab7b4cef222326c913d2e0521f (patch)
treeed96fabf5095f6892df61c50129a22f44fa9d2f3
parent7288b0b76f8b902510631fa70ae2b8b962dbf589 (diff)
downloadwix-63223d5c023846ab7b4cef222326c913d2e0521f.tar.gz
wix-63223d5c023846ab7b4cef222326c913d2e0521f.tar.bz2
wix-63223d5c023846ab7b4cef222326c913d2e0521f.zip
Emit deprecation warning for Heat.
Fixes https://github.com/wixtoolset/issues/issues/8913
-rw-r--r--src/ext/Bal/test/examples/Directory.wixproj.props2
-rw-r--r--src/test/burn/TestData/Manual/BundleB/BundleB.wixproj2
-rw-r--r--src/tools/heat/Data/HarvesterWarnings.cs7
-rw-r--r--src/tools/heat/HeatCommand.cs1
-rw-r--r--src/tools/heat/Program.cs4
-rw-r--r--src/tools/test/WixToolsetTest.Heat/HeatRunner.cs2
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs8
7 files changed, 17 insertions, 9 deletions
diff --git a/src/ext/Bal/test/examples/Directory.wixproj.props b/src/ext/Bal/test/examples/Directory.wixproj.props
index 2226b690..3ce0ad09 100644
--- a/src/ext/Bal/test/examples/Directory.wixproj.props
+++ b/src/ext/Bal/test/examples/Directory.wixproj.props
@@ -4,7 +4,7 @@
4 <PropertyGroup> 4 <PropertyGroup>
5 <OutputType>Bundle</OutputType> 5 <OutputType>Bundle</OutputType>
6 <TargetExt>.exe</TargetExt> 6 <TargetExt>.exe</TargetExt>
7 <HarvestDirectoryAdditionalOptions>-generate payloadgroup</HarvestDirectoryAdditionalOptions> 7 <HarvestDirectoryAdditionalOptions>-generate payloadgroup -sw5149</HarvestDirectoryAdditionalOptions>
8 <OutputPath>$(OutputPath)examples\</OutputPath> 8 <OutputPath>$(OutputPath)examples\</OutputPath>
9 <DefaultCompressionLevel>None</DefaultCompressionLevel> 9 <DefaultCompressionLevel>None</DefaultCompressionLevel>
10 <InstallerPlatform>x64</InstallerPlatform> 10 <InstallerPlatform>x64</InstallerPlatform>
diff --git a/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj b/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj
index b37138e0..36792c2b 100644
--- a/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj
+++ b/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj
@@ -4,7 +4,7 @@
4 <OutputType>Bundle</OutputType> 4 <OutputType>Bundle</OutputType>
5 <BA>hyperlinkLicense</BA> 5 <BA>hyperlinkLicense</BA>
6 <UpgradeCode>{5DE2F206-3C37-4265-81F7-095284E16B08}</UpgradeCode> 6 <UpgradeCode>{5DE2F206-3C37-4265-81F7-095284E16B08}</UpgradeCode>
7 <HarvestDirectoryAdditionalOptions>-generate payloadgroup</HarvestDirectoryAdditionalOptions> 7 <HarvestDirectoryAdditionalOptions>-generate payloadgroup -sw5149</HarvestDirectoryAdditionalOptions>
8 </PropertyGroup> 8 </PropertyGroup>
9 9
10 <ItemGroup> 10 <ItemGroup>
diff --git a/src/tools/heat/Data/HarvesterWarnings.cs b/src/tools/heat/Data/HarvesterWarnings.cs
index 80ee5c31..1bbd5bed 100644
--- a/src/tools/heat/Data/HarvesterWarnings.cs
+++ b/src/tools/heat/Data/HarvesterWarnings.cs
@@ -2,13 +2,17 @@
2 2
3namespace WixToolset.Harvesters.Data 3namespace WixToolset.Harvesters.Data
4{ 4{
5 using System;
6 using System.Resources; 5 using System.Resources;
7 using WixToolset.Data; 6 using WixToolset.Data;
8 7
9#pragma warning disable 1591 // TODO: add documentation 8#pragma warning disable 1591 // TODO: add documentation
10 public static class HarvesterWarnings 9 public static class HarvesterWarnings
11 { 10 {
11 public static Message HeatIsDeprecated()
12 {
13 return Message(null, Ids.HeatIsDeprecated, "Heat is deprecated and will be removed in WiX v7. Consider alternative solutions, like the Files element.");
14 }
15
12 public static Message AssemblyHarvestFailed(string file, string message) 16 public static Message AssemblyHarvestFailed(string file, string message)
13 { 17 {
14 return Message(null, Ids.AssemblyHarvestFailed, "Could not harvest data from a file that was expected to be an assembly: {0}. If this file is not an assembly you can ignore this warning. Otherwise, this error detail may be helpful to diagnose the failure: {1}", file, message); 18 return Message(null, Ids.AssemblyHarvestFailed, "Could not harvest data from a file that was expected to be an assembly: {0}. If this file is not an assembly you can ignore this warning. Otherwise, this error detail may be helpful to diagnose the failure: {1}", file, message);
@@ -66,6 +70,7 @@ namespace WixToolset.Harvesters.Data
66 70
67 public enum Ids 71 public enum Ids
68 { 72 {
73 HeatIsDeprecated = 5149,
69 SelfRegHarvestFailed = 5150, 74 SelfRegHarvestFailed = 5150,
70 AssemblyHarvestFailed = 5151, 75 AssemblyHarvestFailed = 5151,
71 TypeLibLoadFailed = 5152, 76 TypeLibLoadFailed = 5152,
diff --git a/src/tools/heat/HeatCommand.cs b/src/tools/heat/HeatCommand.cs
index 34198011..c8703ec1 100644
--- a/src/tools/heat/HeatCommand.cs
+++ b/src/tools/heat/HeatCommand.cs
@@ -15,7 +15,6 @@ namespace WixToolset.Harvesters
15 using WixToolset.Extensibility.Data; 15 using WixToolset.Extensibility.Data;
16 using WixToolset.Extensibility.Services; 16 using WixToolset.Extensibility.Services;
17 using WixToolset.Harvesters.Extensibility; 17 using WixToolset.Harvesters.Extensibility;
18 using Wix = WixToolset.Harvesters.Serialize;
19 18
20 internal class HeatCommand : BaseCommandLineCommand 19 internal class HeatCommand : BaseCommandLineCommand
21 { 20 {
diff --git a/src/tools/heat/Program.cs b/src/tools/heat/Program.cs
index f74def8f..80423e18 100644
--- a/src/tools/heat/Program.cs
+++ b/src/tools/heat/Program.cs
@@ -12,6 +12,7 @@ namespace WixToolset.Tools.Heat
12 using WixToolset.Extensibility.Data; 12 using WixToolset.Extensibility.Data;
13 using WixToolset.Extensibility.Services; 13 using WixToolset.Extensibility.Services;
14 using WixToolset.Harvesters; 14 using WixToolset.Harvesters;
15 using WixToolset.Harvesters.Data;
15 using WixToolset.Harvesters.Extensibility; 16 using WixToolset.Harvesters.Extensibility;
16 using WixToolset.Tools.Core; 17 using WixToolset.Tools.Core;
17 18
@@ -78,6 +79,9 @@ namespace WixToolset.Tools.Heat
78 79
79 var commandLine = HeatCommandLineFactory.CreateCommandLine(serviceProvider, heatExtensions); 80 var commandLine = HeatCommandLineFactory.CreateCommandLine(serviceProvider, heatExtensions);
80 var command = commandLine.ParseStandardCommandLine(arguments); 81 var command = commandLine.ParseStandardCommandLine(arguments);
82
83 messaging.Write(HarvesterWarnings.HeatIsDeprecated());
84
81 return command?.ExecuteAsync(CancellationToken.None) ?? Task.FromResult(1); 85 return command?.ExecuteAsync(CancellationToken.None) ?? Task.FromResult(1);
82 } 86 }
83 } 87 }
diff --git a/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs b/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
index e4004300..0f6c4f66 100644
--- a/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
+++ b/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
@@ -37,7 +37,7 @@ namespace WixToolsetTest.Heat
37 /// <returns></returns> 37 /// <returns></returns>
38 public static WixRunnerResult Execute(params string[] args) 38 public static WixRunnerResult Execute(params string[] args)
39 { 39 {
40 return Execute(true, args); 40 return Execute(warningsAsErrors: false, args);
41 } 41 }
42 42
43 /// <summary> 43 /// <summary>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
index a7d46962..f8bc3fda 100644
--- a/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
+++ b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
@@ -47,7 +47,7 @@ namespace WixToolsetTest.Sdk
47 Assert.Single(heatCommandLines); 47 Assert.Single(heatCommandLines);
48 48
49 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); 49 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray();
50 WixAssert.StringCollectionEmpty(warnings); 50 Assert.All(warnings, warning => warning.Contains("warning HEAT5149"));
51 51
52 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs"); 52 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs");
53 var generatedContents = File.ReadAllText(generatedFilePath); 53 var generatedContents = File.ReadAllText(generatedFilePath);
@@ -103,7 +103,7 @@ namespace WixToolsetTest.Sdk
103 Assert.Equal(2, heatCommandLines.Count()); 103 Assert.Equal(2, heatCommandLines.Count());
104 104
105 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); 105 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray();
106 WixAssert.StringCollectionEmpty(warnings); 106 Assert.All(warnings, warning => warning.Contains("warning HEAT5149"));
107 107
108 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs"); 108 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs");
109 Assert.True(File.Exists(generatedFilePath)); 109 Assert.True(File.Exists(generatedFilePath));
@@ -198,7 +198,7 @@ namespace WixToolsetTest.Sdk
198 } 198 }
199 199
200 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); 200 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray();
201 WixAssert.StringCollectionEmpty(warnings); 201 Assert.All(warnings, warning => warning.Contains("warning HEAT5149"));
202 202
203 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_Tools Version 4Cs.wxs"); 203 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_Tools Version 4Cs.wxs");
204 Assert.True(File.Exists(generatedFilePath)); 204 Assert.True(File.Exists(generatedFilePath));
@@ -319,7 +319,7 @@ namespace WixToolsetTest.Sdk
319 } 319 }
320 320
321 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); 321 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray();
322 WixAssert.StringCollectionEmpty(warnings); 322 Assert.All(warnings, warning => warning.Contains("warning HEAT5149"));
323 323
324 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_SdkStyleCs.wxs"); 324 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_SdkStyleCs.wxs");
325 Assert.True(File.Exists(generatedFilePath)); 325 Assert.True(File.Exists(generatedFilePath));