diff options
author | Rob Mensching <rob@firegiant.com> | 2017-12-19 12:25:40 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2017-12-19 12:25:40 -0800 |
commit | 155a6e96346e0cb3d9ab6f5372fa29b46ebaee89 (patch) | |
tree | 59d1f151bfde8068b6014b05b5c8cfea3402c974 /src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs | |
parent | 6f1665ed759b31bd095f186f9239232c653597cd (diff) | |
download | wix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.tar.gz wix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.tar.bz2 wix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.zip |
Integrate simplified message handling
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs')
-rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs index cf9c0332..47eb9408 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/SequenceActionsCommand.cs | |||
@@ -9,6 +9,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
9 | using WixToolset.Core.Native; | 9 | using WixToolset.Core.Native; |
10 | using WixToolset.Data; | 10 | using WixToolset.Data; |
11 | using WixToolset.Data.Tuples; | 11 | using WixToolset.Data.Tuples; |
12 | using WixToolset.Extensibility.Services; | ||
12 | 13 | ||
13 | internal class SequenceActionsCommand | 14 | internal class SequenceActionsCommand |
14 | { | 15 | { |
@@ -27,7 +28,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
27 | 28 | ||
28 | private Dictionary<string, WixActionTuple> StandardActionsById { get; } | 29 | private Dictionary<string, WixActionTuple> StandardActionsById { get; } |
29 | 30 | ||
30 | public Messaging Messaging { private get; set; } | 31 | public IMessaging Messaging { private get; set; } |
31 | 32 | ||
32 | public void Execute() | 33 | public void Execute() |
33 | { | 34 | { |
@@ -64,10 +65,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
64 | { | 65 | { |
65 | if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow)) | 66 | if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow)) |
66 | { | 67 | { |
67 | this.Messaging.OnMessage(WixErrors.OverridableActionCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); | 68 | this.Messaging.Write(ErrorMessages.OverridableActionCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); |
68 | if (null != collidingActionRow.SourceLineNumbers) | 69 | if (null != collidingActionRow.SourceLineNumbers) |
69 | { | 70 | { |
70 | this.Messaging.OnMessage(WixErrors.OverridableActionCollision2(collidingActionRow.SourceLineNumbers)); | 71 | this.Messaging.Write(ErrorMessages.OverridableActionCollision2(collidingActionRow.SourceLineNumbers)); |
71 | } | 72 | } |
72 | } | 73 | } |
73 | else | 74 | else |
@@ -93,10 +94,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
93 | 94 | ||
94 | if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow)) | 95 | if (overridableActionRows.TryGetValue(actionRow.Id.Id, out var collidingActionRow)) |
95 | { | 96 | { |
96 | this.Messaging.OnMessage(WixErrors.ActionCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); | 97 | this.Messaging.Write(ErrorMessages.ActionCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); |
97 | if (null != collidingActionRow.SourceLineNumbers) | 98 | if (null != collidingActionRow.SourceLineNumbers) |
98 | { | 99 | { |
99 | this.Messaging.OnMessage(WixErrors.ActionCollision2(collidingActionRow.SourceLineNumbers)); | 100 | this.Messaging.Write(ErrorMessages.ActionCollision2(collidingActionRow.SourceLineNumbers)); |
100 | } | 101 | } |
101 | } | 102 | } |
102 | else | 103 | else |
@@ -127,20 +128,20 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
127 | { | 128 | { |
128 | if (requiredActionRow.Overridable) | 129 | if (requiredActionRow.Overridable) |
129 | { | 130 | { |
130 | this.Messaging.OnMessage(WixWarnings.SuppressAction(suppressActionRow.SourceLineNumbers, suppressActionRow.Action, suppressActionRow.SequenceTable.ToString())); | 131 | this.Messaging.Write(WarningMessages.SuppressAction(suppressActionRow.SourceLineNumbers, suppressActionRow.Action, suppressActionRow.SequenceTable.ToString())); |
131 | if (null != requiredActionRow.SourceLineNumbers) | 132 | if (null != requiredActionRow.SourceLineNumbers) |
132 | { | 133 | { |
133 | this.Messaging.OnMessage(WixWarnings.SuppressAction2(requiredActionRow.SourceLineNumbers)); | 134 | this.Messaging.Write(WarningMessages.SuppressAction2(requiredActionRow.SourceLineNumbers)); |
134 | } | 135 | } |
135 | 136 | ||
136 | requiredActionRows.Remove(key); | 137 | requiredActionRows.Remove(key); |
137 | } | 138 | } |
138 | else // suppressing a non-overridable action row | 139 | else // suppressing a non-overridable action row |
139 | { | 140 | { |
140 | this.Messaging.OnMessage(WixErrors.SuppressNonoverridableAction(suppressActionRow.SourceLineNumbers, suppressActionRow.SequenceTable.ToString(), suppressActionRow.Action)); | 141 | this.Messaging.Write(ErrorMessages.SuppressNonoverridableAction(suppressActionRow.SourceLineNumbers, suppressActionRow.SequenceTable.ToString(), suppressActionRow.Action)); |
141 | if (null != requiredActionRow.SourceLineNumbers) | 142 | if (null != requiredActionRow.SourceLineNumbers) |
142 | { | 143 | { |
143 | this.Messaging.OnMessage(WixErrors.SuppressNonoverridableAction2(requiredActionRow.SourceLineNumbers)); | 144 | this.Messaging.Write(ErrorMessages.SuppressNonoverridableAction2(requiredActionRow.SourceLineNumbers)); |
144 | } | 145 | } |
145 | } | 146 | } |
146 | } | 147 | } |
@@ -156,14 +157,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
156 | // check for standard actions that don't have a sequence number in a merge module | 157 | // check for standard actions that don't have a sequence number in a merge module |
157 | if (SectionType.Module == this.Section.Type && WindowsInstallerStandard.IsStandardAction(actionRow.Action)) | 158 | if (SectionType.Module == this.Section.Type && WindowsInstallerStandard.IsStandardAction(actionRow.Action)) |
158 | { | 159 | { |
159 | this.Messaging.OnMessage(WixErrors.StandardActionRelativelyScheduledInModule(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); | 160 | this.Messaging.Write(ErrorMessages.StandardActionRelativelyScheduledInModule(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); |
160 | } | 161 | } |
161 | 162 | ||
162 | this.SequenceActionRow(actionRow, requiredActionRows); | 163 | this.SequenceActionRow(actionRow, requiredActionRows); |
163 | } | 164 | } |
164 | else if (SectionType.Module == this.Section.Type && 0 < actionRow.Sequence && !WindowsInstallerStandard.IsStandardAction(actionRow.Action)) // check for custom actions and dialogs that have a sequence number | 165 | else if (SectionType.Module == this.Section.Type && 0 < actionRow.Sequence && !WindowsInstallerStandard.IsStandardAction(actionRow.Action)) // check for custom actions and dialogs that have a sequence number |
165 | { | 166 | { |
166 | this.Messaging.OnMessage(WixErrors.CustomActionSequencedInModule(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); | 167 | this.Messaging.Write(ErrorMessages.CustomActionSequencedInModule(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action)); |
167 | } | 168 | } |
168 | } | 169 | } |
169 | 170 | ||
@@ -231,10 +232,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
231 | { | 232 | { |
232 | if (sequenceScheduledActionRow.Sequence == actionRow.Sequence) | 233 | if (sequenceScheduledActionRow.Sequence == actionRow.Sequence) |
233 | { | 234 | { |
234 | this.Messaging.OnMessage(WixWarnings.ActionSequenceCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, sequenceScheduledActionRow.Action, actionRow.Sequence)); | 235 | this.Messaging.Write(WarningMessages.ActionSequenceCollision(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, sequenceScheduledActionRow.Action, actionRow.Sequence)); |
235 | if (null != sequenceScheduledActionRow.SourceLineNumbers) | 236 | if (null != sequenceScheduledActionRow.SourceLineNumbers) |
236 | { | 237 | { |
237 | this.Messaging.OnMessage(WixWarnings.ActionSequenceCollision2(sequenceScheduledActionRow.SourceLineNumbers)); | 238 | this.Messaging.Write(WarningMessages.ActionSequenceCollision2(sequenceScheduledActionRow.SourceLineNumbers)); |
238 | } | 239 | } |
239 | } | 240 | } |
240 | } | 241 | } |
@@ -262,19 +263,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
262 | // Create errors for all the before actions. | 263 | // Create errors for all the before actions. |
263 | foreach (var actionRow in relativeActions.PreviousActions) | 264 | foreach (var actionRow in relativeActions.PreviousActions) |
264 | { | 265 | { |
265 | this.Messaging.OnMessage(WixErrors.ActionScheduledRelativeToTerminationAction(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, absoluteActionRow.Action)); | 266 | this.Messaging.Write(ErrorMessages.ActionScheduledRelativeToTerminationAction(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, absoluteActionRow.Action)); |
266 | } | 267 | } |
267 | 268 | ||
268 | // Create errors for all the after actions. | 269 | // Create errors for all the after actions. |
269 | foreach (var actionRow in relativeActions.NextActions) | 270 | foreach (var actionRow in relativeActions.NextActions) |
270 | { | 271 | { |
271 | this.Messaging.OnMessage(WixErrors.ActionScheduledRelativeToTerminationAction(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, absoluteActionRow.Action)); | 272 | this.Messaging.Write(ErrorMessages.ActionScheduledRelativeToTerminationAction(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, absoluteActionRow.Action)); |
272 | } | 273 | } |
273 | 274 | ||
274 | // If there is source line information for the absolutely scheduled action display it | 275 | // If there is source line information for the absolutely scheduled action display it |
275 | if (absoluteActionRow.SourceLineNumbers != null) | 276 | if (absoluteActionRow.SourceLineNumbers != null) |
276 | { | 277 | { |
277 | this.Messaging.OnMessage(WixErrors.ActionScheduledRelativeToTerminationAction2(absoluteActionRow.SourceLineNumbers)); | 278 | this.Messaging.Write(ErrorMessages.ActionScheduledRelativeToTerminationAction2(absoluteActionRow.SourceLineNumbers)); |
278 | } | 279 | } |
279 | 280 | ||
280 | continue; | 281 | continue; |
@@ -289,10 +290,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
289 | // look for collisions | 290 | // look for collisions |
290 | if (unusedSequence == previousUsedSequence) | 291 | if (unusedSequence == previousUsedSequence) |
291 | { | 292 | { |
292 | this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber(relativeActionRow.SourceLineNumbers, relativeActionRow.SequenceTable.ToString(), relativeActionRow.Action, absoluteActionRow.Action)); | 293 | this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber(relativeActionRow.SourceLineNumbers, relativeActionRow.SequenceTable.ToString(), relativeActionRow.Action, absoluteActionRow.Action)); |
293 | if (absoluteActionRow.SourceLineNumbers != null) | 294 | if (absoluteActionRow.SourceLineNumbers != null) |
294 | { | 295 | { |
295 | this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers)); | 296 | this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers)); |
296 | } | 297 | } |
297 | 298 | ||
298 | unusedSequence++; | 299 | unusedSequence++; |
@@ -319,10 +320,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
319 | 320 | ||
320 | if (unusedSequence == nextUsedSequence) | 321 | if (unusedSequence == nextUsedSequence) |
321 | { | 322 | { |
322 | this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber(relativeActionRow.SourceLineNumbers, relativeActionRow.SequenceTable.ToString(), relativeActionRow.Action, absoluteActionRow.Action)); | 323 | this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber(relativeActionRow.SourceLineNumbers, relativeActionRow.SequenceTable.ToString(), relativeActionRow.Action, absoluteActionRow.Action)); |
323 | if (absoluteActionRow.SourceLineNumbers != null) | 324 | if (absoluteActionRow.SourceLineNumbers != null) |
324 | { | 325 | { |
325 | this.Messaging.OnMessage(WixErrors.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers)); | 326 | this.Messaging.Write(ErrorMessages.NoUniqueActionSequenceNumber2(absoluteActionRow.SourceLineNumbers)); |
326 | } | 327 | } |
327 | 328 | ||
328 | unusedSequence--; | 329 | unusedSequence--; |
@@ -596,7 +597,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
596 | } | 597 | } |
597 | else if (actionRow == parentActionRow || this.ContainsChildActionRow(actionRow, parentActionRow)) // cycle detected | 598 | else if (actionRow == parentActionRow || this.ContainsChildActionRow(actionRow, parentActionRow)) // cycle detected |
598 | { | 599 | { |
599 | throw new WixException(WixErrors.ActionCircularDependency(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, parentActionRow.Action)); | 600 | throw new WixException(ErrorMessages.ActionCircularDependency(actionRow.SourceLineNumbers, actionRow.SequenceTable.ToString(), actionRow.Action, parentActionRow.Action)); |
600 | } | 601 | } |
601 | 602 | ||
602 | // Add this action to the appropriate list of dependent action rows. | 603 | // Add this action to the appropriate list of dependent action rows. |