diff options
author | Rob Mensching <rob@firegiant.com> | 2022-02-07 21:22:15 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2022-02-08 09:42:04 -0800 |
commit | 92476046d8739cfb1411b605e57636208ac5af3c (patch) | |
tree | 32831427ee84f802f4793560d1228520c7ecf571 | |
parent | 5dbe0436f2e40528d80d139197e05ca47b8f3627 (diff) | |
download | wix-92476046d8739cfb1411b605e57636208ac5af3c.tar.gz wix-92476046d8739cfb1411b605e57636208ac5af3c.tar.bz2 wix-92476046d8739cfb1411b605e57636208ac5af3c.zip |
Actually elevate warning messages to error when requested
-rw-r--r-- | src/api/wix/WixToolset.Data/Message.cs | 8 | ||||
-rw-r--r-- | src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs | 17 | ||||
-rw-r--r-- | src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs | 2 |
3 files changed, 23 insertions, 4 deletions
diff --git a/src/api/wix/WixToolset.Data/Message.cs b/src/api/wix/WixToolset.Data/Message.cs index 85a402e5..ddcff23e 100644 --- a/src/api/wix/WixToolset.Data/Message.cs +++ b/src/api/wix/WixToolset.Data/Message.cs | |||
@@ -82,6 +82,14 @@ namespace WixToolset.Data | |||
82 | /// <value>The arguments for the format string.</value> | 82 | /// <value>The arguments for the format string.</value> |
83 | public object[] MessageArgs { get; } | 83 | public object[] MessageArgs { get; } |
84 | 84 | ||
85 | /// <summary> | ||
86 | /// Changes the message into an error message. | ||
87 | /// </summary> | ||
88 | public void ElevateToError() | ||
89 | { | ||
90 | this.Level = MessageLevel.Error; | ||
91 | } | ||
92 | |||
85 | public override string ToString() | 93 | public override string ToString() |
86 | { | 94 | { |
87 | if (this.ResourceManager == null) | 95 | if (this.ResourceManager == null) |
diff --git a/src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs b/src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs index afcd9244..280d845c 100644 --- a/src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs +++ b/src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs | |||
@@ -23,11 +23,20 @@ namespace WixToolset.Core.ExtensibilityServices | |||
23 | 23 | ||
24 | public bool WarningsAsError { get; set; } | 24 | public bool WarningsAsError { get; set; } |
25 | 25 | ||
26 | public void ElevateWarningMessage(int warningNumber) => this.warningsAsErrors.Add(warningNumber); | 26 | public void ElevateWarningMessage(int warningNumber) |
27 | { | ||
28 | this.warningsAsErrors.Add(warningNumber); | ||
29 | } | ||
27 | 30 | ||
28 | public void SetListener(IMessageListener listener) => this.listener = listener; | 31 | public void SetListener(IMessageListener listener) |
32 | { | ||
33 | this.listener = listener; | ||
34 | } | ||
29 | 35 | ||
30 | public void SuppressWarningMessage(int warningNumber) => this.suppressedWarnings.Add(warningNumber); | 36 | public void SuppressWarningMessage(int warningNumber) |
37 | { | ||
38 | this.suppressedWarnings.Add(warningNumber); | ||
39 | } | ||
31 | 40 | ||
32 | public void Write(Message message) | 41 | public void Write(Message message) |
33 | { | 42 | { |
@@ -87,6 +96,8 @@ namespace WixToolset.Core.ExtensibilityServices | |||
87 | } | 96 | } |
88 | else if (this.WarningsAsError || this.warningsAsErrors.Contains(message.Id)) | 97 | else if (this.WarningsAsError || this.warningsAsErrors.Contains(message.Id)) |
89 | { | 98 | { |
99 | message.ElevateToError(); | ||
100 | |||
90 | level = MessageLevel.Error; | 101 | level = MessageLevel.Error; |
91 | } | 102 | } |
92 | } | 103 | } |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs index c5b6c261..0d5b3b4b 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs | |||
@@ -56,7 +56,7 @@ namespace WixToolsetTest.CoreIntegration | |||
56 | Assert.Equal((int)WarningMessages.Ids.PathCanonicalized, result.ExitCode); | 56 | Assert.Equal((int)WarningMessages.Ids.PathCanonicalized, result.ExitCode); |
57 | 57 | ||
58 | var message = Assert.Single(result.Messages); | 58 | var message = Assert.Single(result.Messages); |
59 | Assert.Equal(MessageLevel.Warning, message.Level); // TODO: is this right? | 59 | Assert.Equal(MessageLevel.Error, message.Level); |
60 | } | 60 | } |
61 | } | 61 | } |
62 | } | 62 | } |