diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-04-05 21:27:11 +1000 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-04-05 21:51:07 +1000 |
commit | aecff401f974f603cb78b8a665000b2a93490e80 (patch) | |
tree | eb7e442f26e17cb81e7f232de145d22fdcace0eb /src/wixext | |
parent | 057da4cedb151761c4a8cbfe9c1899315c8a3b05 (diff) | |
download | wix-aecff401f974f603cb78b8a665000b2a93490e80.tar.gz wix-aecff401f974f603cb78b8a665000b2a93490e80.tar.bz2 wix-aecff401f974f603cb78b8a665000b2a93490e80.zip |
Modernize NetfxCompiler and table definitions.
Diffstat (limited to 'src/wixext')
-rw-r--r-- | src/wixext/NetFxCompiler.cs | 12 | ||||
-rw-r--r-- | src/wixext/NetfxTableDefinitions.cs | 29 | ||||
-rw-r--r-- | src/wixext/NetfxWindowsInstallerBackendExtension.cs | 18 |
3 files changed, 36 insertions, 23 deletions
diff --git a/src/wixext/NetFxCompiler.cs b/src/wixext/NetFxCompiler.cs index 4916994e..58c8c0f6 100644 --- a/src/wixext/NetFxCompiler.cs +++ b/src/wixext/NetFxCompiler.cs | |||
@@ -53,14 +53,14 @@ namespace WixToolset.Netfx | |||
53 | /// <param name="fileId">The file identifier of the parent element.</param> | 53 | /// <param name="fileId">The file identifier of the parent element.</param> |
54 | private void ParseNativeImageElement(Intermediate intermediate, IntermediateSection section, XElement element, string fileId) | 54 | private void ParseNativeImageElement(Intermediate intermediate, IntermediateSection section, XElement element, string fileId) |
55 | { | 55 | { |
56 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 56 | var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
57 | Identifier id = null; | 57 | Identifier id = null; |
58 | string appBaseDirectory = null; | 58 | string appBaseDirectory = null; |
59 | string assemblyApplication = null; | 59 | string assemblyApplication = null; |
60 | int attributes = 0x8; // 32bit is on by default | 60 | int attributes = 0x8; // 32bit is on by default |
61 | int priority = 3; | 61 | int priority = 3; |
62 | 62 | ||
63 | foreach (XAttribute attrib in element.Attributes()) | 63 | foreach (var attrib in element.Attributes()) |
64 | { | 64 | { |
65 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) | 65 | if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace) |
66 | { | 66 | { |
@@ -75,7 +75,7 @@ namespace WixToolset.Netfx | |||
75 | // See if a formatted value is specified. | 75 | // See if a formatted value is specified. |
76 | if (-1 == appBaseDirectory.IndexOf("[", StringComparison.Ordinal)) | 76 | if (-1 == appBaseDirectory.IndexOf("[", StringComparison.Ordinal)) |
77 | { | 77 | { |
78 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "Directory", appBaseDirectory); | 78 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.Directory, appBaseDirectory); |
79 | } | 79 | } |
80 | break; | 80 | break; |
81 | case "AssemblyApplication": | 81 | case "AssemblyApplication": |
@@ -84,7 +84,7 @@ namespace WixToolset.Netfx | |||
84 | // See if a formatted value is specified. | 84 | // See if a formatted value is specified. |
85 | if (-1 == assemblyApplication.IndexOf("[", StringComparison.Ordinal)) | 85 | if (-1 == assemblyApplication.IndexOf("[", StringComparison.Ordinal)) |
86 | { | 86 | { |
87 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "File", assemblyApplication); | 87 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.File, assemblyApplication); |
88 | } | 88 | } |
89 | break; | 89 | break; |
90 | case "Debug": | 90 | case "Debug": |
@@ -140,7 +140,7 @@ namespace WixToolset.Netfx | |||
140 | 140 | ||
141 | if (null == id) | 141 | if (null == id) |
142 | { | 142 | { |
143 | this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, element.Name.LocalName, "Id")); | 143 | id = this.ParseHelper.CreateIdentifier("nni", fileId); |
144 | } | 144 | } |
145 | 145 | ||
146 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 146 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
@@ -149,7 +149,7 @@ namespace WixToolset.Netfx | |||
149 | 149 | ||
150 | if (!this.Messaging.EncounteredError) | 150 | if (!this.Messaging.EncounteredError) |
151 | { | 151 | { |
152 | section.Tuples.Add(new NetFxNativeImageTuple(sourceLineNumbers, id) | 152 | section.AddTuple(new NetFxNativeImageTuple(sourceLineNumbers, id) |
153 | { | 153 | { |
154 | FileRef = fileId, | 154 | FileRef = fileId, |
155 | Priority = priority, | 155 | Priority = priority, |
diff --git a/src/wixext/NetfxTableDefinitions.cs b/src/wixext/NetfxTableDefinitions.cs new file mode 100644 index 00000000..378f6def --- /dev/null +++ b/src/wixext/NetfxTableDefinitions.cs | |||
@@ -0,0 +1,29 @@ | |||
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 | |||
3 | namespace WixToolset.Netfx | ||
4 | { | ||
5 | using WixToolset.Data.WindowsInstaller; | ||
6 | |||
7 | public static class NetfxTableDefinitions | ||
8 | { | ||
9 | public static readonly TableDefinition NetFxNativeImage = new TableDefinition( | ||
10 | "Wix4NetFxNativeImage", | ||
11 | new[] | ||
12 | { | ||
13 | new ColumnDefinition("Wix4NetFxNativeImage", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The primary key, a non-localized token.", modularizeType: ColumnModularizeType.Column), | ||
14 | new ColumnDefinition("File_", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, keyTable: "File", keyColumn: 1, description: "The assembly for which a native image will be generated.", modularizeType: ColumnModularizeType.Column), | ||
15 | new ColumnDefinition("Priority", ColumnType.Number, 2, primaryKey: false, nullable: false, ColumnCategory.Integer, minValue: 0, maxValue: 3, description: "The priority for generating this native image: 0 is syncronous, 1-3 represent various levels of queued generation."), | ||
16 | new ColumnDefinition("Attributes", ColumnType.Number, 4, primaryKey: false, nullable: false, ColumnCategory.Integer, minValue: 0, maxValue: 2147483647, description: "Integer containing bit flags representing native image attributes."), | ||
17 | new ColumnDefinition("File_Application", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The application which loads this assembly.", modularizeType: ColumnModularizeType.Column), | ||
18 | new ColumnDefinition("Directory_ApplicationBase", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Formatted, description: "The directory containing the application which loads this assembly.", modularizeType: ColumnModularizeType.Column), | ||
19 | }, | ||
20 | tupleDefinitionName: "NetFxNativeImage", | ||
21 | tupleIdIsPrimaryKey: true | ||
22 | ); | ||
23 | |||
24 | public static readonly TableDefinition[] All = new[] | ||
25 | { | ||
26 | NetFxNativeImage, | ||
27 | }; | ||
28 | } | ||
29 | } | ||
diff --git a/src/wixext/NetfxWindowsInstallerBackendExtension.cs b/src/wixext/NetfxWindowsInstallerBackendExtension.cs index 7e30d396..e1404c1a 100644 --- a/src/wixext/NetfxWindowsInstallerBackendExtension.cs +++ b/src/wixext/NetfxWindowsInstallerBackendExtension.cs | |||
@@ -8,22 +8,6 @@ namespace WixToolset.Netfx | |||
8 | 8 | ||
9 | public class NetfxWindowsInstallerBackendBinderExtension : BaseWindowsInstallerBackendBinderExtension | 9 | public class NetfxWindowsInstallerBackendBinderExtension : BaseWindowsInstallerBackendBinderExtension |
10 | { | 10 | { |
11 | private static readonly TableDefinition[] Tables = new[] { | 11 | public override IEnumerable<TableDefinition> TableDefinitions => NetfxTableDefinitions.All; |
12 | new TableDefinition( | ||
13 | "Wix4NetFxNativeImage", | ||
14 | "NetFxNativeImage", | ||
15 | new[] | ||
16 | { | ||
17 | new ColumnDefinition("Wix4NetFxNativeImage", ColumnType.String, 72, true, false, ColumnCategory.Identifier, description: "The primary key, a non-localized token."), | ||
18 | new ColumnDefinition("File_", ColumnType.String, 0, false, false, ColumnCategory.Identifier, keyTable:"File", keyColumn: 1, description: "The assembly for which a native image will be generated."), | ||
19 | new ColumnDefinition("Priority", ColumnType.Number, 2, false, false, ColumnCategory.Integer, maxValue: 3, description: "The priority for generating this native image: 0 is syncronous, 1-3 represent various levels of queued generation."), | ||
20 | new ColumnDefinition("Attributes", ColumnType.Number, 4, false, false, ColumnCategory.Integer, maxValue: 2147483647, description: "Integer containing bit flags representing native image attributes."), | ||
21 | new ColumnDefinition("File_Application", ColumnType.String, 72, false, true, ColumnCategory.Formatted, description: "The application which loads this assembly."), | ||
22 | new ColumnDefinition("Directory_ApplicationBase", ColumnType.String, 72, false, true, ColumnCategory.Formatted, description: "The directory containing the application which loads this assembly."), | ||
23 | } | ||
24 | ), | ||
25 | }; | ||
26 | |||
27 | public override IEnumerable<TableDefinition> TableDefinitions { get => Tables; } | ||
28 | } | 12 | } |
29 | } | 13 | } |