Fix ComponentGroupSymbol fields
Rob Mensching committed
Feb 9, 2023 at 05:12 UTC
a4c49ddc3baf4ebf7a6c40f2d3c10e2e6e3632db
4 files changed
+25
-8
src/api/wix/WixToolset.Data/Symbols/WixComponentGroupSymbol.cs
+14
-6
@@ -10,7 +10,8 @@ namespace WixToolset.Data
10
SymbolDefinitionType.WixComponentGroup,
11
new[]
12
{
13
- new IntermediateFieldDefinition(nameof(WixComponentGroupSymbolFields.WixComponentGroup), IntermediateFieldType.String),
13
+ new IntermediateFieldDefinition(nameof(WixComponentGroupSymbolFields.DirectoryRef), IntermediateFieldType.String),
14
+ new IntermediateFieldDefinition(nameof(WixComponentGroupSymbolFields.Source), IntermediateFieldType.String),
15
},
16
typeof(WixComponentGroupSymbol));
17
}
@@ -20,7 +21,8 @@ namespace WixToolset.Data.Symbols
21
{
22
public enum WixComponentGroupSymbolFields
23
{
23
- WixComponentGroup,
24
+ DirectoryRef,
25
+ Source,
26
}
27
28
public class WixComponentGroupSymbol : IntermediateSymbol
@@ -35,10 +37,16 @@ namespace WixToolset.Data.Symbols
37
38
public IntermediateField this[WixComponentGroupSymbolFields index] => this.Fields[(int)index];
39
38
- public string WixComponentGroup
40
+ public string DirectoryRef
41
{
40
- get => (string)this.Fields[(int)WixComponentGroupSymbolFields.WixComponentGroup];
41
- set => this.Set((int)WixComponentGroupSymbolFields.WixComponentGroup, value);
42
+ get => (string)this.Fields[(int)WixComponentGroupSymbolFields.DirectoryRef];
43
+ set => this.Set((int)WixComponentGroupSymbolFields.DirectoryRef, value);
44
+ }
45
+
46
+ public string Source
47
+ {
48
+ get => (string)this.Fields[(int)WixComponentGroupSymbolFields.Source];
49
+ set => this.Set((int)WixComponentGroupSymbolFields.Source, value);
50
}
51
}
44
-}
\ No newline at end of file
52
+}
src/wix/WixToolset.Converters.Symbolizer/ConvertSymbols.cs
+2
@@ -593,6 +593,8 @@ namespace WixToolset.Converters.Symbolizer
593
return DefaultSymbolFromRow(typeof(WixBundleVariableSymbol), row, columnZeroIsId: true);
594
case "WixChainItem":
595
return DefaultSymbolFromRow(typeof(WixChainItemSymbol), row, columnZeroIsId: true);
596
+ case "WixComponentGroup":
597
+ return DefaultSymbolFromRow(typeof(WixComponentGroupSymbol), row, columnZeroIsId: true);
598
case "WixCustomTable":
599
return DefaultSymbolFromRow(typeof(WixCustomTableSymbol), row, columnZeroIsId: true);
600
case "WixDirectory":
src/wix/WixToolset.Core/Compiler.cs
+5
-2
@@ -2644,9 +2644,12 @@ namespace WixToolset.Core
2644
2645
if (!this.Core.EncounteredError)
2646
{
2647
- this.Core.AddSymbol(new WixComponentGroupSymbol(sourceLineNumbers, id));
2647
+ this.Core.AddSymbol(new WixComponentGroupSymbol(sourceLineNumbers, id)
2648
+ {
2649
+ DirectoryRef = directoryId,
2650
+ Source = source
2651
+ });
2652
2649
- // Add this componentGroup and its parent in WixGroup.
2653
this.Core.CreateWixGroupRow(sourceLineNumbers, parentType, parentId, ComplexReferenceChildType.ComponentGroup, id.Id);
2654
}
2655
}
src/wix/test/WixToolsetTest.Converters.Symbolizer/ConvertSymbolsFixture.cs
+4
@@ -531,6 +531,10 @@ namespace WixToolsetTest.Converters.Symbolizer
531
break;
532
}
533
534
+ case "WixComponentGroup":
535
+ fields = String.Empty;
536
+ break;
537
+
538
case "WixProperty":
539
{
540
var wixPropertySymbol = (WixPropertySymbol)symbol;