aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2025-04-27 11:21:34 -0400
committerBob Arnson <github@bobs.org>2025-06-11 23:34:42 -0400
commit7051e6a5fdc8965289fbc34d0de2a78dae14e62e (patch)
tree4a6ba3d354089b0abdf1c295a9b79b5e56ea39f1 /src/api
parentfddc154029b838c2fd83a2eee09d53468dd4cf08 (diff)
downloadwix-7051e6a5fdc8965289fbc34d0de2a78dae14e62e.tar.gz
wix-7051e6a5fdc8965289fbc34d0de2a78dae14e62e.tar.bz2
wix-7051e6a5fdc8965289fbc34d0de2a78dae14e62e.zip
Add `Payloads` element to harvest bundle payloads.
Implements https://github.com/wixtoolset/issues/issues/9049
Diffstat (limited to 'src/api')
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/HarvestPayloadsSymbol.cs68
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs1
2 files changed, 69 insertions, 0 deletions
diff --git a/src/api/wix/WixToolset.Data/Symbols/HarvestPayloadsSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/HarvestPayloadsSymbol.cs
new file mode 100644
index 00000000..65b424ac
--- /dev/null
+++ b/src/api/wix/WixToolset.Data/Symbols/HarvestPayloadsSymbol.cs
@@ -0,0 +1,68 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using WixToolset.Data.Symbols;
6
7 public static partial class SymbolDefinitions
8 {
9 public static readonly IntermediateSymbolDefinition HarvestPayloads = new IntermediateSymbolDefinition(
10 SymbolDefinitionType.HarvestPayloads,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.Inclusions), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.Exclusions), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.ComplexReferenceParentType), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.ParentId), IntermediateFieldType.String),
17 },
18 typeof(HarvestPayloadsSymbol));
19 }
20}
21
22namespace WixToolset.Data.Symbols
23{
24 public enum HarvestPayloadsSymbolFields
25 {
26 Inclusions,
27 Exclusions,
28 ComplexReferenceParentType,
29 ParentId,
30 }
31
32 public class HarvestPayloadsSymbol : IntermediateSymbol
33 {
34 public HarvestPayloadsSymbol() : base(SymbolDefinitions.HarvestPayloads, null, null)
35 {
36 }
37
38 public HarvestPayloadsSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.HarvestPayloads, sourceLineNumber, id)
39 {
40 }
41
42 public IntermediateField this[HarvestPayloadsSymbolFields index] => this.Fields[(int)index];
43
44 public string Inclusions
45 {
46 get => (string)this.Fields[(int)HarvestPayloadsSymbolFields.Inclusions];
47 set => this.Set((int)HarvestPayloadsSymbolFields.Inclusions, value);
48 }
49
50 public string Exclusions
51 {
52 get => (string)this.Fields[(int)HarvestPayloadsSymbolFields.Exclusions];
53 set => this.Set((int)HarvestPayloadsSymbolFields.Exclusions, value);
54 }
55
56 public string ComplexReferenceParentType
57 {
58 get => (string)this.Fields[(int)HarvestPayloadsSymbolFields.ComplexReferenceParentType];
59 set => this.Set((int)HarvestPayloadsSymbolFields.ComplexReferenceParentType, value);
60 }
61
62 public string ParentId
63 {
64 get => (string)this.Fields[(int)HarvestPayloadsSymbolFields.ParentId];
65 set => this.Set((int)HarvestPayloadsSymbolFields.ParentId, value);
66 }
67 }
68}
diff --git a/src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs b/src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs
index 64f51162..64c1a2a5 100644
--- a/src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs
+++ b/src/api/wix/WixToolset.Data/Symbols/SymbolDefinitions.cs
@@ -41,6 +41,7 @@ namespace WixToolset.Data
41 File, 41 File,
42 FileSFPCatalog, 42 FileSFPCatalog,
43 HarvestFiles, 43 HarvestFiles,
44 HarvestPayloads,
44 Icon, 45 Icon,
45 ImageFamilies, 46 ImageFamilies,
46 IniFile, 47 IniFile,