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. |
