Add warning when CreateOutputFromIRCommand doesn't know how to handle a tuple.
Sean Hall committed
Apr 12, 2020 at 12:17 UTC
5a19a39a72d87ed96a6254f65da67b4258fef478
1 file changed
+16
-8
src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
+16
-8
@@ -56,6 +56,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
56
{
57
foreach (var tuple in this.Section.Tuples)
58
{
59
+ var unknownTuple = false;
60
switch (tuple.Definition.Type)
61
{
62
case TupleDefinitionType.AppSearch:
@@ -192,10 +193,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
193
this.AddWixMediaTemplateTuple((WixMediaTemplateTuple)tuple);
194
break;
195
195
- case TupleDefinitionType.MustBeFromAnExtension:
196
- this.AddTupleFromExtension(tuple);
197
- break;
198
-
196
case TupleDefinitionType.WixCustomRow:
197
this.AddWixCustomRowTuple((WixCustomRowTuple)tuple);
198
break;
@@ -215,10 +212,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind
212
case TupleDefinitionType.WixCustomTable:
213
break;
214
215
+ case TupleDefinitionType.MustBeFromAnExtension:
216
+ unknownTuple = !this.AddTupleFromExtension(tuple);
217
+ break;
218
+
219
default:
219
- this.AddTupleDefaultly(tuple);
220
+ unknownTuple = !this.AddTupleDefaultly(tuple);
221
break;
222
}
223
+
224
+ if (unknownTuple)
225
+ {
226
+ this.Messaging.Write(WarningMessages.TupleNotTranslatedToOutput(tuple));
227
+ }
228
}
229
}
230
@@ -1029,18 +1035,20 @@ namespace WixToolset.Core.WindowsInstaller.Bind
1035
row.MaximumCabinetSizeForLargeFileSplitting = tuple.MaximumCabinetSizeForLargeFileSplitting ?? MaxValueOfMaxCabSizeForLargeFileSplitting;
1036
}
1037
1032
- private void AddTupleFromExtension(IntermediateTuple tuple)
1038
+ private bool AddTupleFromExtension(IntermediateTuple tuple)
1039
{
1040
foreach (var extension in this.BackendExtensions)
1041
{
1042
if (extension.TryAddTupleToOutput(this.Section, tuple, this.Output, this.TableDefinitions))
1043
{
1038
- break;
1044
+ return true;
1045
}
1046
}
1047
+
1048
+ return false;
1049
}
1050
1043
- private void AddTupleDefaultly(IntermediateTuple tuple) =>
1051
+ private bool AddTupleDefaultly(IntermediateTuple tuple) =>
1052
this.BackendHelper.TryAddTupleToOutputMatchingTableDefinitions(this.Section, tuple, this.Output, this.TableDefinitions);
1053
1054
private static OutputType SectionTypeToOutputType(SectionType type)