@joebigelow / wix / commits / a4c49ddc

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;