From a4c49ddc3baf4ebf7a6c40f2d3c10e2e6e3632db Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 9 Feb 2023 05:12:55 -0800 Subject: Fix ComponentGroupSymbol fields --- .../Symbols/WixComponentGroupSymbol.cs | 20 ++++++++++++++------ .../ConvertSymbols.cs | 2 ++ src/wix/WixToolset.Core/Compiler.cs | 7 +++++-- .../ConvertSymbolsFixture.cs | 4 ++++ 4 files changed, 25 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/api/wix/WixToolset.Data/Symbols/WixComponentGroupSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixComponentGroupSymbol.cs index 4dd5a3b5..e000864f 100644 --- a/src/api/wix/WixToolset.Data/Symbols/WixComponentGroupSymbol.cs +++ b/src/api/wix/WixToolset.Data/Symbols/WixComponentGroupSymbol.cs @@ -10,7 +10,8 @@ namespace WixToolset.Data SymbolDefinitionType.WixComponentGroup, new[] { - new IntermediateFieldDefinition(nameof(WixComponentGroupSymbolFields.WixComponentGroup), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixComponentGroupSymbolFields.DirectoryRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixComponentGroupSymbolFields.Source), IntermediateFieldType.String), }, typeof(WixComponentGroupSymbol)); } @@ -20,7 +21,8 @@ namespace WixToolset.Data.Symbols { public enum WixComponentGroupSymbolFields { - WixComponentGroup, + DirectoryRef, + Source, } public class WixComponentGroupSymbol : IntermediateSymbol @@ -35,10 +37,16 @@ namespace WixToolset.Data.Symbols public IntermediateField this[WixComponentGroupSymbolFields index] => this.Fields[(int)index]; - public string WixComponentGroup + public string DirectoryRef { - get => (string)this.Fields[(int)WixComponentGroupSymbolFields.WixComponentGroup]; - set => this.Set((int)WixComponentGroupSymbolFields.WixComponentGroup, value); + get => (string)this.Fields[(int)WixComponentGroupSymbolFields.DirectoryRef]; + set => this.Set((int)WixComponentGroupSymbolFields.DirectoryRef, value); + } + + public string Source + { + get => (string)this.Fields[(int)WixComponentGroupSymbolFields.Source]; + set => this.Set((int)WixComponentGroupSymbolFields.Source, value); } } -} \ No newline at end of file +} diff --git a/src/wix/WixToolset.Converters.Symbolizer/ConvertSymbols.cs b/src/wix/WixToolset.Converters.Symbolizer/ConvertSymbols.cs index 0c862363..6e6f212d 100644 --- a/src/wix/WixToolset.Converters.Symbolizer/ConvertSymbols.cs +++ b/src/wix/WixToolset.Converters.Symbolizer/ConvertSymbols.cs @@ -593,6 +593,8 @@ namespace WixToolset.Converters.Symbolizer return DefaultSymbolFromRow(typeof(WixBundleVariableSymbol), row, columnZeroIsId: true); case "WixChainItem": return DefaultSymbolFromRow(typeof(WixChainItemSymbol), row, columnZeroIsId: true); + case "WixComponentGroup": + return DefaultSymbolFromRow(typeof(WixComponentGroupSymbol), row, columnZeroIsId: true); case "WixCustomTable": return DefaultSymbolFromRow(typeof(WixCustomTableSymbol), row, columnZeroIsId: true); case "WixDirectory": diff --git a/src/wix/WixToolset.Core/Compiler.cs b/src/wix/WixToolset.Core/Compiler.cs index fa53b4d0..4a501bc4 100644 --- a/src/wix/WixToolset.Core/Compiler.cs +++ b/src/wix/WixToolset.Core/Compiler.cs @@ -2644,9 +2644,12 @@ namespace WixToolset.Core if (!this.Core.EncounteredError) { - this.Core.AddSymbol(new WixComponentGroupSymbol(sourceLineNumbers, id)); + this.Core.AddSymbol(new WixComponentGroupSymbol(sourceLineNumbers, id) + { + DirectoryRef = directoryId, + Source = source + }); - // Add this componentGroup and its parent in WixGroup. this.Core.CreateWixGroupRow(sourceLineNumbers, parentType, parentId, ComplexReferenceChildType.ComponentGroup, id.Id); } } diff --git a/src/wix/test/WixToolsetTest.Converters.Symbolizer/ConvertSymbolsFixture.cs b/src/wix/test/WixToolsetTest.Converters.Symbolizer/ConvertSymbolsFixture.cs index ef00738d..d7e0cb8f 100644 --- a/src/wix/test/WixToolsetTest.Converters.Symbolizer/ConvertSymbolsFixture.cs +++ b/src/wix/test/WixToolsetTest.Converters.Symbolizer/ConvertSymbolsFixture.cs @@ -531,6 +531,10 @@ namespace WixToolsetTest.Converters.Symbolizer break; } + case "WixComponentGroup": + fields = String.Empty; + break; + case "WixProperty": { var wixPropertySymbol = (WixPropertySymbol)symbol; -- cgit v1.2.3-55-g6feb