aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-03-27 15:35:54 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-03-30 21:23:16 +1000
commitafaa41df8ac183e25051199ff8e993fa81cce6e2 (patch)
tree3841d7eca59795cfd7ff2ea38514ff5baf4a081d
parent70bf83df639289f550ddba22c9e8c85208fb188f (diff)
downloadwix-afaa41df8ac183e25051199ff8e993fa81cce6e2.tar.gz
wix-afaa41df8ac183e25051199ff8e993fa81cce6e2.tar.bz2
wix-afaa41df8ac183e25051199ff8e993fa81cce6e2.zip
Add support for sorting WixSearches in Core.
Move error message CircularSearchReference here from UtilExtension. Remove redundant id field from WixSearchRelationTuple.
-rw-r--r--src/WixToolset.Data/ErrorMessages.cs6
-rw-r--r--src/WixToolset.Data/Tuples/WixSearchRelationTuple.cs8
2 files changed, 6 insertions, 8 deletions
diff --git a/src/WixToolset.Data/ErrorMessages.cs b/src/WixToolset.Data/ErrorMessages.cs
index 4d972903..6759b14a 100644
--- a/src/WixToolset.Data/ErrorMessages.cs
+++ b/src/WixToolset.Data/ErrorMessages.cs
@@ -173,6 +173,11 @@ namespace WixToolset.Data
173 return Message(sourceLineNumbers, Ids.CheckBoxValueOnlyValidWithCheckBox, "A {0} element was specified with Type='{1}' and a CheckBoxValue. Check box values can only be specified with Type='CheckBox'.", elementName, controlType); 173 return Message(sourceLineNumbers, Ids.CheckBoxValueOnlyValidWithCheckBox, "A {0} element was specified with Type='{1}' and a CheckBoxValue. Check box values can only be specified with Type='CheckBox'.", elementName, controlType);
174 } 174 }
175 175
176 public static Message CircularSearchReference(string chain)
177 {
178 return Message(null, Ids.CircularSearchReference, "A circular reference of search ordering constraints was detected: {0}. Search ordering references must form a directed acyclic graph.", chain);
179 }
180
176 public static Message CollidingModularizationTypes(string tableName, string columnName, string foreignTableName, int foreignColumnNumber, string modularizationType, string foreignModularizationType) 181 public static Message CollidingModularizationTypes(string tableName, string columnName, string foreignTableName, int foreignColumnNumber, string modularizationType, string foreignModularizationType)
177 { 182 {
178 return Message(null, Ids.CollidingModularizationTypes, "The definition for the '{0}' table's '{1}' column is a foreign key relationship to the '{2}' table's column number {3}. The modularization types of the two column definitions differ: one is {4} and the other is {5}. Change one of the modularization types so that they match.", tableName, columnName, foreignTableName, foreignColumnNumber, modularizationType, foreignModularizationType); 183 return Message(null, Ids.CollidingModularizationTypes, "The definition for the '{0}' table's '{1}' column is a foreign key relationship to the '{2}' table's column number {3}. The modularization types of the two column definitions differ: one is {4} and the other is {5}. Change one of the modularization types so that they match.", tableName, columnName, foreignTableName, foreignColumnNumber, modularizationType, foreignModularizationType);
@@ -2664,6 +2669,7 @@ namespace WixToolset.Data
2664 IntermediatesMustBeCompiled = 395, 2669 IntermediatesMustBeCompiled = 395,
2665 IntermediatesMustBeResolved = 396, 2670 IntermediatesMustBeResolved = 396,
2666 MissingBundleSearch = 397, 2671 MissingBundleSearch = 397,
2672 CircularSearchReference = 398,
2667 } 2673 }
2668 } 2674 }
2669} 2675}
diff --git a/src/WixToolset.Data/Tuples/WixSearchRelationTuple.cs b/src/WixToolset.Data/Tuples/WixSearchRelationTuple.cs
index 9c9b4662..559a41fa 100644
--- a/src/WixToolset.Data/Tuples/WixSearchRelationTuple.cs
+++ b/src/WixToolset.Data/Tuples/WixSearchRelationTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.WixSearchRelation, 10 TupleDefinitionType.WixSearchRelation,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixSearchRelationTupleFields.WixSearchRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixSearchRelationTupleFields.ParentSearchRef), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixSearchRelationTupleFields.ParentSearchRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixSearchRelationTupleFields.Attributes), IntermediateFieldType.Number), 14 new IntermediateFieldDefinition(nameof(WixSearchRelationTupleFields.Attributes), IntermediateFieldType.Number),
16 }, 15 },
@@ -22,7 +21,6 @@ namespace WixToolset.Data.Tuples
22{ 21{
23 public enum WixSearchRelationTupleFields 22 public enum WixSearchRelationTupleFields
24 { 23 {
25 WixSearchRef,
26 ParentSearchRef, 24 ParentSearchRef,
27 Attributes, 25 Attributes,
28 } 26 }
@@ -39,12 +37,6 @@ namespace WixToolset.Data.Tuples
39 37
40 public IntermediateField this[WixSearchRelationTupleFields index] => this.Fields[(int)index]; 38 public IntermediateField this[WixSearchRelationTupleFields index] => this.Fields[(int)index];
41 39
42 public string WixSearchRef
43 {
44 get => (string)this.Fields[(int)WixSearchRelationTupleFields.WixSearchRef];
45 set => this.Set((int)WixSearchRelationTupleFields.WixSearchRef, value);
46 }
47
48 public string ParentSearchRef 40 public string ParentSearchRef
49 { 41 {
50 get => (string)this.Fields[(int)WixSearchRelationTupleFields.ParentSearchRef]; 42 get => (string)this.Fields[(int)WixSearchRelationTupleFields.ParentSearchRef];