@joebigelow / wix / commits / 5a19a39a

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)