@joebigelow / wix / commits / f1b37c3a

Enable XML doc and delete obsolete IParseHelper methods.

Sean Hall committed Dec 18, 2020 at 20:09 UTC f1b37c3a4d620298f8c646ac0a308a6fae1b662d
64 files changed +300 -49
src/CSharp.Build.props
+1
@@ -8,5 +8,6 @@
8 <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
9 <SignAssembly>true</SignAssembly>
10 <AssemblyOriginatorKeyFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)wix.snk))</AssemblyOriginatorKeyFile>
11 + <NBGV_EmitThisAssemblyClass>false</NBGV_EmitThisAssemblyClass>
12 </PropertyGroup>
13 </Project>
src/Directory.Build.targets
+8
@@ -9,6 +9,11 @@
9 See the original here: https://github.com/dotnet/sdk/issues/1151#issuecomment-385133284
10 -->
11 <Project>
12 + <PropertyGroup>
13 + <CreateDocumentation Condition=" '$(CreateDocumentationFile)'!='true' ">false</CreateDocumentation>
14 + <DocumentationFile Condition=" '$(CreateDocumentationFile)'=='true' ">$(OutputPath)\$(AssemblyName).xml</DocumentationFile>
15 + </PropertyGroup>
16 +
17 <PropertyGroup>
18 <ReplacePackageReferences>true</ReplacePackageReferences>
19 <TheSolutionPath Condition=" '$(NCrunch)'=='' ">$(SolutionPath)</TheSolutionPath>
@@ -45,4 +50,7 @@
50
51 </When>
52 </Choose>
53 +
54 + <Import Project="Wix.Build.targets" Condition=" Exists('Wix.Build.targets') And '$(MSBuildProjectExtension)'=='.wixproj' " />
55 + <Import Project="Custom.Build.targets" Condition=" Exists('Custom.Build.targets') " />
56 </Project>
src/WixToolset.Extensibility/BaseBurnBackendExtension.cs
+42
@@ -9,6 +9,9 @@ namespace WixToolset.Extensibility
9 using WixToolset.Extensibility.Data;
10 using WixToolset.Extensibility.Services;
11
12 + /// <summary>
13 + /// Base class for creating a Burn backend extension.
14 + /// </summary>
15 public abstract class BaseBurnBackendExtension : IBurnBackendExtension
16 {
17 /// <summary>
@@ -31,14 +34,25 @@ namespace WixToolset.Extensibility
34 /// </summary>
35 protected virtual IEnumerable<IntermediateSymbolDefinition> SymbolDefinitions => Enumerable.Empty<IntermediateSymbolDefinition>();
36
37 + /// <summary>
38 + /// Called after all output changes occur and right before the output is bound into its final format.
39 + /// </summary>
40 public virtual void BundleFinalize()
41 {
42 }
43
44 + /// <summary>
45 + /// Called after output is bound into its final format.
46 + /// </summary>
47 + /// <param name="result"></param>
48 public virtual void PostBackendBind(IBindResult result)
49 {
50 }
51
52 + /// <summary>
53 + /// Called before binding occurs.
54 + /// </summary>
55 + /// <param name="context"></param>
56 public virtual void PreBackendBind(IBindContext context)
57 {
58 this.Context = context;
@@ -46,16 +60,44 @@ namespace WixToolset.Extensibility
60 this.BackendHelper = context.ServiceProvider.GetService<IBurnBackendHelper>();
61 }
62
63 + /// <summary>
64 + ///
65 + /// </summary>
66 + /// <param name="source"></param>
67 + /// <param name="relatedSource"></param>
68 + /// <param name="type"></param>
69 + /// <param name="sourceLineNumbers"></param>
70 + /// <param name="bindStage"></param>
71 + /// <returns></returns>
72 public virtual IResolveFileResult ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage)
73 {
74 return null;
75 }
76
77 + /// <summary>
78 + ///
79 + /// </summary>
80 + /// <param name="url"></param>
81 + /// <param name="fallbackUrl"></param>
82 + /// <param name="packageId"></param>
83 + /// <param name="payloadId"></param>
84 + /// <param name="fileName"></param>
85 + /// <returns></returns>
86 public virtual string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName)
87 {
88 return null;
89 }
90
91 + /// <summary>
92 + /// Called for each extension symbol that hasn't been handled yet.
93 + /// Use IBurnBackendHelper to add data to the appropriate data manifest.
94 + /// </summary>
95 + /// <param name="section">The linked section.</param>
96 + /// <param name="symbol">The current symbol.</param>
97 + /// <returns>
98 + /// True if the extension handled the symbol, false otherwise.
99 + /// The Burn backend will warn on all unhandled symbols.
100 + /// </returns>
101 public virtual bool TryAddSymbolToDataManifest(IntermediateSection section, IntermediateSymbol symbol)
102 {
103 if (this.SymbolDefinitions.Any(t => t == symbol.Definition) &&
src/WixToolset.Extensibility/BaseCompilerExtension.cs
+3 -13
@@ -52,34 +52,24 @@ namespace WixToolset.Extensibility
52 }
53
54 /// <summary>
55 - /// Processes an attribute for the Compiler.
55 + /// See <see cref="ICompilerExtension.ParseAttribute(Intermediate, IntermediateSection, XElement, XAttribute, IDictionary{string, string})"/>
56 /// </summary>
57 - /// <param name="parentElement">Parent element of attribute.</param>
58 - /// <param name="attribute">Attribute to process.</param>
59 - /// <param name="context">Extra information about the context in which this element is being parsed.</param>
57 public virtual void ParseAttribute(Intermediate intermediate, IntermediateSection section, XElement parentElement, XAttribute attribute, IDictionary<string, string> context)
58 {
59 this.ParseHelper.UnexpectedAttribute(parentElement, attribute);
60 }
61
62 /// <summary>
66 - /// Processes an element for the Compiler.
63 + /// See <see cref="ICompilerExtension.ParseElement(Intermediate, IntermediateSection, XElement, XElement, IDictionary{string, string})"/>
64 /// </summary>
68 - /// <param name="parentElement">Parent element of element to process.</param>
69 - /// <param name="element">Element to process.</param>
70 - /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
65 public virtual void ParseElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context)
66 {
67 this.ParseHelper.UnexpectedElement(parentElement, element);
68 }
69
70 /// <summary>
77 - /// Processes an element for the Compiler, with the ability to supply a component keypath.
71 + /// See <see cref="ICompilerExtension.ParsePossibleKeyPathElement(Intermediate, IntermediateSection, XElement, XElement, IDictionary{string, string})"/>
72 /// </summary>
79 - /// <param name="parentElement">Parent element of element to process.</param>
80 - /// <param name="element">Element to process.</param>
81 - /// <param name="keyPath">Explicit key path.</param>
82 - /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
73 public virtual IComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context)
74 {
75 this.ParseElement(intermediate, section, parentElement, element, context);
src/WixToolset.Extensibility/BaseExtensionCommandLine.cs
+18
@@ -7,23 +7,41 @@ namespace WixToolset.Extensibility
7 using WixToolset.Extensibility.Data;
8 using WixToolset.Extensibility.Services;
9
10 + /// <summary>
11 + /// Base class for extensions to be able to parse the command-line.
12 + /// </summary>
13 public abstract class BaseExtensionCommandLine : IExtensionCommandLine
14 {
15 + /// <summary>
16 + /// See <see cref="IExtensionCommandLine.CommandLineSwitches" />
17 + /// </summary>
18 public virtual IEnumerable<ExtensionCommandLineSwitch> CommandLineSwitches => Enumerable.Empty<ExtensionCommandLineSwitch>();
19
20 + /// <summary>
21 + /// See <see cref="IExtensionCommandLine.PostParse" />
22 + /// </summary>
23 public virtual void PostParse()
24 {
25 }
26
27 + /// <summary>
28 + /// See <see cref="IExtensionCommandLine.PreParse" />
29 + /// </summary>
30 public virtual void PreParse(ICommandLineContext context)
31 {
32 }
33
34 + /// <summary>
35 + /// See <see cref="IExtensionCommandLine.TryParseArgument" />
36 + /// </summary>
37 public virtual bool TryParseArgument(ICommandLineParser parser, string argument)
38 {
39 return false;
40 }
41
42 + /// <summary>
43 + /// See <see cref="IExtensionCommandLine.TryParseCommand" />
44 + /// </summary>
45 public virtual bool TryParseCommand(ICommandLineParser parser, string argument, out ICommandLineCommand command)
46 {
47 command = null;
src/WixToolset.Extensibility/BaseExtensionData.cs
+9
@@ -9,13 +9,22 @@ namespace WixToolset.Extensibility
9 /// </summary>
10 public abstract class BaseExtensionData : IExtensionData
11 {
12 + /// <summary>
13 + /// See <see cref="IExtensionData.DefaultCulture"/>
14 + /// </summary>
15 public virtual string DefaultCulture => null;
16
17 + /// <summary>
18 + /// See <see cref="IExtensionData.GetLibrary"/>
19 + /// </summary>
20 public virtual Intermediate GetLibrary(ISymbolDefinitionCreator symbolDefinitions)
21 {
22 return null;
23 }
24
25 + /// <summary>
26 + /// See <see cref="IExtensionData.TryGetSymbolDefinitionByName"/>
27 + /// </summary>
28 public virtual bool TryGetSymbolDefinitionByName(string name, out IntermediateSymbolDefinition symbolDefinition)
29 {
30 symbolDefinition = null;
src/WixToolset.Extensibility/BaseExtensionFactory.cs
+6
@@ -12,8 +12,14 @@ namespace WixToolset.Extensibility
12 /// </summary>
13 public abstract class BaseExtensionFactory : IExtensionFactory
14 {
15 + /// <summary>
16 + /// The extension types of the WiX extension.
17 + /// </summary>
18 protected abstract IEnumerable<Type> ExtensionTypes { get; }
19
20 + /// <summary>
21 + /// See <see cref="IExtensionFactory.TryCreateExtension(Type, out object)"/>
22 + /// </summary>
23 public virtual bool TryCreateExtension(Type extensionType, out object extension)
24 {
25 extension = null;
src/WixToolset.Extensibility/BaseLayoutExtension.cs
+12
@@ -30,11 +30,23 @@ namespace WixToolset.Extensibility
30 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
31 }
32
33 + /// <summary>
34 + /// See <see cref="ILayoutExtension.CopyFile(string, string)"/>
35 + /// </summary>
36 + /// <param name="source"></param>
37 + /// <param name="destination"></param>
38 + /// <returns></returns>
39 public virtual bool CopyFile(string source, string destination)
40 {
41 return false;
42 }
43
44 + /// <summary>
45 + /// See <see cref="ILayoutExtension.MoveFile(string, string)"/>
46 + /// </summary>
47 + /// <param name="source"></param>
48 + /// <param name="destination"></param>
49 + /// <returns></returns>
50 public virtual bool MoveFile(string source, string destination)
51 {
52 return false;
src/WixToolset.Extensibility/BasePreprocessorExtension.cs
-1
@@ -70,7 +70,6 @@ namespace WixToolset.Extensibility
70 /// <summary>
71 /// Processes a pragma defined in the extension.
72 /// </summary>
73 - /// <param name="sourceLineNumbers">The location of this pragma's PI.</param>
73 /// <param name="prefix">The prefix of the pragma to be processed by the extension.</param>
74 /// <param name="pragma">The name of the pragma.</param>
75 /// <param name="args">The pragma's arguments.</param>
src/WixToolset.Extensibility/BaseResolverExtension.cs
+8
@@ -36,6 +36,14 @@ namespace WixToolset.Extensibility
36 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
37 }
38
39 + /// <summary>
40 + /// See <see cref="IResolverExtension.ResolveFile(string, IntermediateSymbolDefinition, SourceLineNumber, BindStage)"/>
41 + /// </summary>
42 + /// <param name="source"></param>
43 + /// <param name="symbolDefinition"></param>
44 + /// <param name="sourceLineNumbers"></param>
45 + /// <param name="bindStage"></param>
46 + /// <returns></returns>
47 public virtual IResolveFileResult ResolveFile(string source, IntermediateSymbolDefinition symbolDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage)
48 {
49 return null;
src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs
+15
@@ -40,6 +40,9 @@ namespace WixToolset.Extensibility
40 /// </summary>
41 protected IResolvedCabinet CreateResolvedCabinet() => this.Context.ServiceProvider.GetService<IResolvedCabinet>();
42
43 + /// <summary>
44 + /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
45 + /// </summary>
46 public virtual void PreBackendBind(IBindContext context)
47 {
48 this.Context = context;
@@ -49,10 +52,19 @@ namespace WixToolset.Extensibility
52 this.BackendHelper = context.ServiceProvider.GetService<IWindowsInstallerBackendHelper>();
53 }
54
55 + /// <summary>
56 + /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
57 + /// </summary>
58 public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files) => null;
59
60 + /// <summary>
61 + /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
62 + /// </summary>
63 public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory) => null;
64
65 + /// <summary>
66 + /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
67 + /// </summary>
68 public virtual bool TryAddSymbolToOutput(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions)
69 {
70 if (this.TableDefinitions.Any(t => t.SymbolDefinition == symbol.Definition))
@@ -63,6 +75,9 @@ namespace WixToolset.Extensibility
75 return false;
76 }
77
78 + /// <summary>
79 + /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
80 + /// </summary>
81 public virtual void PostBackendBind(IBindResult result)
82 {
83 }
src/WixToolset.Extensibility/CompilerConstants.cs
+23
@@ -9,11 +9,34 @@ namespace WixToolset.Extensibility
9 /// </summary>
10 public static class CompilerConstants
11 {
12 + /// <summary>
13 + ///
14 + /// </summary>
15 public const int IntegerNotSet = int.MinValue;
16 +
17 + /// <summary>
18 + ///
19 + /// </summary>
20 public const int IllegalInteger = int.MinValue + 1;
21 +
22 + /// <summary>
23 + ///
24 + /// </summary>
25 public const long LongNotSet = long.MinValue;
26 +
27 + /// <summary>
28 + ///
29 + /// </summary>
30 public const long IllegalLong = long.MinValue + 1;
31 +
32 + /// <summary>
33 + ///
34 + /// </summary>
35 public const string IllegalGuid = "IllegalGuid";
36 +
37 + /// <summary>
38 + ///
39 + /// </summary>
40 public static readonly Version IllegalVersion = new Version(Int32.MaxValue, Int32.MaxValue, Int32.MaxValue, Int32.MaxValue);
41 }
42 }
src/WixToolset.Extensibility/Data/BindStage.cs
+3
@@ -2,6 +2,9 @@
2
3 namespace WixToolset.Extensibility.Data
4 {
5 + /// <summary>
6 + ///
7 + /// </summary>
8 public enum BindStage
9 {
10 /// <summary>
src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs
+7 -1
@@ -1,4 +1,4 @@
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.
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.Extensibility.Data
4 {
@@ -7,8 +7,14 @@ namespace WixToolset.Extensibility.Data
7 /// </summary>
8 public struct ExtensionCommandLineSwitch
9 {
10 + /// <summary>
11 + ///
12 + /// </summary>
13 public string Switch { get; set; }
14
15 + /// <summary>
16 + ///
17 + /// </summary>
18 public string Description { get; set; }
19 }
20 }
src/WixToolset.Extensibility/Data/IBindContext.cs
+1
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9
10 +#pragma warning disable 1591 // TODO: add documentation
11 public interface IBindContext
12 {
13 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/IBindFileWithPath.cs
+1
@@ -2,6 +2,7 @@
2
3 namespace WixToolset.Extensibility.Data
4 {
5 +#pragma warning disable 1591 // TODO: add documentation
6 public interface IBindFileWithPath
7 {
8 string Id { get; set; }
src/WixToolset.Extensibility/Data/IBindPath.cs
+3
@@ -2,6 +2,9 @@
2
3 namespace WixToolset.Extensibility.Data
4 {
5 + /// <summary>
6 + /// Interface for a bind path.
7 + /// </summary>
8 public interface IBindPath
9 {
10 /// <summary>
src/WixToolset.Extensibility/Data/IBindResult.cs
+1
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Data
6 using System.Collections.Generic;
7 using WixToolset.Data;
8
9 +#pragma warning disable 1591 // TODO: add documentation
10 public interface IBindResult : IDisposable
11 {
12 IEnumerable<IFileTransfer> FileTransfers { get; set; }
src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
+1
@@ -9,6 +9,7 @@ namespace WixToolset.Extensibility.Data
9 /// </summary>
10 public interface ICommandLineArguments
11 {
12 +#pragma warning disable 1591 // TODO: add documentation
13 string[] OriginalArguments { get; set; }
14
15 string[] Arguments { get; set; }
src/WixToolset.Extensibility/Data/ICommandLineContext.cs
+1
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System;
6 using WixToolset.Extensibility.Services;
7
8 +#pragma warning disable 1591 // TODO: add documentation
9 public interface ICommandLineContext
10 {
11 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/ICompileContext.cs
+1
@@ -8,6 +8,7 @@ namespace WixToolset.Extensibility.Data
8 using WixToolset.Data;
9 using WixToolset.Extensibility.Services;
10
11 +#pragma warning disable 1591 // TODO: add documentation
12 public interface ICompileContext
13 {
14 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/IComponentKeyPath.cs
+1
@@ -2,6 +2,7 @@
2
3 namespace WixToolset.Extensibility.Data
4 {
5 +#pragma warning disable 1591 // TODO: add documentation
6 public interface IComponentKeyPath
7 {
8 bool Explicit { get; set; }
src/WixToolset.Extensibility/Data/IDecompileContext.cs
+1
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9
10 +#pragma warning disable 1591 // TODO: add documentation
11 public interface IDecompileContext
12 {
13 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/IDecompileResult.cs
+1
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Data
6 using System.Xml.Linq;
7 using WixToolset.Data;
8
9 +#pragma warning disable 1591 // TODO: add documentation
10 public interface IDecompileResult
11 {
12 XDocument Document { get; set; }
src/WixToolset.Extensibility/Data/IDelayedField.cs
+1
@@ -4,6 +4,7 @@ namespace WixToolset.Extensibility.Data
4 {
5 using WixToolset.Data;
6
7 +#pragma warning disable 1591 // TODO: add documentation
8 public interface IDelayedField
9 {
10 IntermediateField Field { get; }
src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs
+1
@@ -4,6 +4,7 @@ namespace WixToolset.Extensibility.Data
4 {
5 using System;
6
7 +#pragma warning disable 1591 // TODO: add documentation
8 public interface IExpectedExtractFile
9 {
10 Uri Uri { get; set; }
src/WixToolset.Extensibility/Data/IFileSystemContext.cs
+1
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Data
6 using WixToolset.Data;
7 using WixToolset.Extensibility.Services;
8
9 +#pragma warning disable 1591 // TODO: add documentation
10 public interface IFileSystemContext
11 {
12 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/IIncludedFile.cs
+3
@@ -4,6 +4,9 @@ namespace WixToolset.Extensibility.Data
4 {
5 using WixToolset.Data;
6
7 + /// <summary>
8 + /// Interface for an included file.
9 + /// </summary>
10 public interface IIncludedFile
11 {
12 /// <summary>
src/WixToolset.Extensibility/Data/IInscribeContext.cs
+1
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System;
6 using WixToolset.Extensibility.Services;
7
8 +#pragma warning disable 1591 // TODO: add documentation
9 public interface IInscribeContext
10 {
11 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/ILayoutContext.cs
+1
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Data
6 using System.Threading;
7 using WixToolset.Extensibility.Services;
8
9 +#pragma warning disable 1591 // TODO: add documentation
10 public interface ILayoutContext
11 {
12 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/ILibraryContext.cs
+1
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9
10 +#pragma warning disable 1591 // TODO: add documentation
11 public interface ILibraryContext
12 {
13 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/ILinkContext.cs
+1
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9
10 +#pragma warning disable 1591 // TODO: add documentation
11 public interface ILinkContext
12 {
13 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/IPreprocessContext.cs
+1
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9
10 +#pragma warning disable 1591 // TODO: add documentation
11 public interface IPreprocessContext
12 {
13 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/IPreprocessResult.cs
+1
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System.Collections.Generic;
6 using System.Xml.Linq;
7
8 +#pragma warning disable 1591 // TODO: add documentation
9 public interface IPreprocessResult
10 {
11 XDocument Document { get; set; }
src/WixToolset.Extensibility/Data/IResolveContext.cs
+1
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility.Data
7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9
10 +#pragma warning disable 1591 // TODO: add documentation
11 public interface IResolveContext
12 {
13 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/IResolveFileResult.cs
+1
@@ -4,6 +4,7 @@ namespace WixToolset.Extensibility.Data
4 {
5 using System.Collections.Generic;
6
7 +#pragma warning disable 1591 // TODO: add documentation
8 public interface IResolveFileResult
9 {
10 IEnumerable<string> CheckedPaths { get; set; }
src/WixToolset.Extensibility/Data/IResolveResult.cs
+1
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System.Collections.Generic;
6 using WixToolset.Data;
7
8 +#pragma warning disable 1591 // TODO: add documentation
9 public interface IResolveResult
10 {
11 int Codepage { get; set; }
src/WixToolset.Extensibility/Data/IResolvedCabinet.cs
+1
@@ -2,6 +2,7 @@
2
3 namespace WixToolset.Extensibility.Data
4 {
5 +#pragma warning disable 1591 // TODO: add documentation
6 public interface IResolvedCabinet
7 {
8 CabinetBuildOption BuildOption { get; set; }
src/WixToolset.Extensibility/Data/IUnbindContext.cs
+1
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility.Data
5 using System;
6 using WixToolset.Extensibility.Services;
7
8 +#pragma warning disable 1591 // TODO: add documentation
9 public interface IUnbindContext
10 {
11 IWixToolsetServiceProvider ServiceProvider { get; }
src/WixToolset.Extensibility/Data/PossibleKeyPathType.cs
+3
@@ -2,6 +2,9 @@
2
3 namespace WixToolset.Extensibility.Data
4 {
5 + /// <summary>
6 + /// Key path types.
7 + /// </summary>
8 public enum PossibleKeyPathType
9 {
10 /// <summary>
src/WixToolset.Extensibility/Data/TrackedFileType.cs
+4 -1
@@ -1,7 +1,10 @@
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.
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.Extensibility.Data
4 {
5 + /// <summary>
6 + /// Tracked file types.
7 + /// </summary>
8 public enum TrackedFileType
9 {
10 /// <summary>
src/WixToolset.Extensibility/DecompilerConstants.cs
+7
@@ -7,7 +7,14 @@ namespace WixToolset.Extensibility
7 /// </summary>
8 public static class DecompilerConstants
9 {
10 + /// <summary>
11 + ///
12 + /// </summary>
13 public const char PrimaryKeyDelimiter = '/';
14 +
15 + /// <summary>
16 + ///
17 + /// </summary>
18 public const string PrimaryKeyDelimiterString = "/";
19 }
20 }
src/WixToolset.Extensibility/IBackend.cs
+1
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility
5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data;
7
8 +#pragma warning disable 1591 // TODO: add documentation
9 public interface IBackend
10 {
11 IBindResult Bind(IBindContext context);
src/WixToolset.Extensibility/IBackendFactory.cs
+2 -1
@@ -1,7 +1,8 @@
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.
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.Extensibility
4 {
5 +#pragma warning disable 1591 // TODO: add documentation
6 public interface IBackendFactory
7 {
8 bool TryCreateBackend(string outputType, string outputPath, out IBackend backend);
src/WixToolset.Extensibility/IBurnBackendExtension.cs
+21
@@ -5,6 +5,9 @@ namespace WixToolset.Extensibility
5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data;
7
8 + /// <summary>
9 + /// Interface all Burn backend extensions implement.
10 + /// </summary>
11 public interface IBurnBackendExtension
12 {
13 /// <summary>
@@ -12,8 +15,26 @@ namespace WixToolset.Extensibility
15 /// </summary>
16 void PreBackendBind(IBindContext context);
17
18 + /// <summary>
19 + ///
20 + /// </summary>
21 + /// <param name="source"></param>
22 + /// <param name="relatedSource"></param>
23 + /// <param name="type"></param>
24 + /// <param name="sourceLineNumbers"></param>
25 + /// <param name="bindStage"></param>
26 + /// <returns></returns>
27 IResolveFileResult ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage);
28
29 + /// <summary>
30 + ///
31 + /// </summary>
32 + /// <param name="url"></param>
33 + /// <param name="fallbackUrl"></param>
34 + /// <param name="packageId"></param>
35 + /// <param name="payloadId"></param>
36 + /// <param name="fileName"></param>
37 + /// <returns></returns>
38 string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName);
39
40 /// <summary>
src/WixToolset.Extensibility/ICompilerExtension.cs
+7 -1
@@ -26,6 +26,8 @@ namespace WixToolset.Extensibility
26 /// <summary>
27 /// Processes an attribute for the Compiler.
28 /// </summary>
29 + /// <param name="intermediate">Parent intermediate.</param>
30 + /// <param name="section">Parent section.</param>
31 /// <param name="parentElement">Parent element of attribute.</param>
32 /// <param name="attribute">Attribute to process.</param>
33 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
@@ -34,6 +36,8 @@ namespace WixToolset.Extensibility
36 /// <summary>
37 /// Processes an element for the Compiler.
38 /// </summary>
39 + /// <param name="intermediate">Parent intermediate.</param>
40 + /// <param name="section">Parent section.</param>
41 /// <param name="parentElement">Parent element of element to process.</param>
42 /// <param name="element">Element to process.</param>
43 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
@@ -42,9 +46,11 @@ namespace WixToolset.Extensibility
46 /// <summary>
47 /// Processes an element for the Compiler, with the ability to supply a component keypath.
48 /// </summary>
49 + /// <param name="intermediate">Parent intermediate.</param>
50 + /// <param name="section">Parent section.</param>
51 /// <param name="parentElement">Parent element of element to process.</param>
52 /// <param name="element">Element to process.</param>
47 - /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
53 + /// <param name="context">Extra information about the context in which this element is being parsed.</param>
54 IComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context);
55
56 /// <summary>
src/WixToolset.Extensibility/IExtensionCommandLine.cs
+1 -2
@@ -34,11 +34,10 @@ namespace WixToolset.Extensibility
34 /// <summary>
35 /// Gives the extension an opportunity to provide a command.
36 /// </summary>
37 - /// </summary>
37 /// <param name="parser">Parser to help parse the argument and additional arguments.</param>
38 /// <param name="argument">Argument to parse.</param>
39 /// <param name="command"></param>
41 - /// <returns>True if the argument is recognized as a commond; otherwise false to allow another extension to process it.</returns>
40 + /// <returns>True if the argument is recognized as a command; otherwise false to allow another extension to process it.</returns>
41 bool TryParseCommand(ICommandLineParser parser, string argument, out ICommandLineCommand command);
42
43 /// <summary>
src/WixToolset.Extensibility/IFileSystemExtension.cs
+1
@@ -9,6 +9,7 @@ namespace WixToolset.Extensibility
9 /// </summary>
10 public interface IFileSystemExtension
11 {
12 +#pragma warning disable 1591 // TODO: add documentation
13 void Initialize(IFileSystemContext context);
14
15 bool? CompareFiles(string targetFile, string updatedFile);
src/WixToolset.Extensibility/IInspectorExtension.cs
+6 -5
@@ -10,15 +10,13 @@ namespace WixToolset.Extensibility
10 /// Interface for inspector extensions.
11 /// </summary>
12 /// <remarks>
13 - /// The inspector methods are stateless, but extensions are loaded and last for the lifetime of the
14 - /// containing classes like <see cref="Preprocessor"/>, <see cref="Compiler"/>, <see cref="Linker"/>,
15 - /// <see cref="Differ"/>, and <see cref="Binder"/>. If you want to maintain state, you should check
13 + /// The inspector methods are stateless, but extensions are loaded once. If you want to maintain state, you should check
14 /// if your data is loaded for each method and, if not, load it.
15 /// </remarks>
16 public interface IInspectorExtension
17 {
18 /// <summary>
21 - /// Gets or sets the <see cref="InspectorCore"/> for inspector extensions to use.
19 + /// Gets or sets the <see cref="IInspectorCore"/> for inspector extensions to use.
20 /// </summary>
21 IInspectorCore Core { get; set; }
22
@@ -34,6 +32,7 @@ namespace WixToolset.Extensibility
32 /// <param name="intermediate">The compiled output.</param>
33 void InspectIntermediate(Intermediate intermediate);
34
35 +#if REWRITE
36 /// <summary>
37 /// Inspect the output.
38 /// </summary>
@@ -46,13 +45,15 @@ namespace WixToolset.Extensibility
45 /// transforms are the primary transforms you'll typically want to inspect
46 /// and contain your changes to target products.
47 /// </remarks>
48 +#endif
49 + /// <summary />
50 void InspectOutput(Intermediate output);
51
52 /// <summary>
53 /// Inspect the final output after binding.
54 /// </summary>
55 /// <param name="filePath">The file path to the final bound output.</param>
55 - /// <param name="pdb">The <see cref="Pdb"/> that contains source line numbers
56 + /// <param name="pdb">The <see cref="Intermediate"/> that contains source line numbers
57 /// for the database and all rows.</param>
58 void InspectDatabase(string filePath, Intermediate pdb);
59 }
src/WixToolset.Extensibility/ILayoutExtension.cs
+2
@@ -14,9 +14,11 @@ namespace WixToolset.Extensibility
14 /// </summary>
15 void PreLayout(ILayoutContext context);
16
17 +#pragma warning disable 1591 // TODO: add documentation
18 bool CopyFile(string source, string destination);
19
20 bool MoveFile(string source, string destination);
21 +#pragma warning restore 1591
22
23 /// <summary>
24 /// Called after all layout occurs.
src/WixToolset.Extensibility/ILibrarianExtension.cs
+1
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility
5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data;
7
8 +#pragma warning disable 1591 // TODO: add documentation
9 public interface ILibrarianExtension
10 {
11 void PreCombine(ILibraryContext context);
src/WixToolset.Extensibility/IMessageListener.cs
+1
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility
5 using WixToolset.Data;
6 using WixToolset.Extensibility.Services;
7
8 +#pragma warning disable 1591 // TODO: add documentation
9 public interface IMessageListener
10 {
11 MessageLevel CalculateMessageLevel(IMessaging messaging, Message message, MessageLevel defaultMessageLevel);
src/WixToolset.Extensibility/IPreprocessorExtension.cs
-1
@@ -41,7 +41,6 @@ namespace WixToolset.Extensibility
41 /// <summary>
42 /// Processes a pragma defined in the extension.
43 /// </summary>
44 - /// <param name="sourceLineNumbers">The location of this pragma's PI.</param>
44 /// <param name="prefix">The prefix of the pragma to be processed by the extension.</param>
45 /// <param name="pragma">The name of the pragma.</param>
46 /// <param name="args">The pragma's arguments.</param>
src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs
+4
@@ -13,18 +13,22 @@ namespace WixToolset.Extensibility
13 /// </summary>
14 public interface IWindowsInstallerBackendBinderExtension
15 {
16 +#pragma warning disable 1591 // TODO: add documentation
17 IEnumerable<TableDefinition> TableDefinitions { get; }
18 +#pragma warning restore 1591
19
20 /// <summary>
21 /// Called before binding occurs.
22 /// </summary>
23 void PreBackendBind(IBindContext context);
24
25 +#pragma warning disable 1591 // TODO: add documentation
26 IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files);
27
28 string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory);
29
30 bool TryAddSymbolToOutput(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions);
31 +#pragma warning restore 1591
32
33 /// <summary>
34 /// Called after all output changes occur and right before the output is bound into its final format.
src/WixToolset.Extensibility/Services/IBackendHelper.cs
+1
@@ -17,6 +17,7 @@ namespace WixToolset.Extensibility.Services
17 /// <param name="source">Source for the file transfer.</param>
18 /// <param name="destination">Destination for the file transfer.</param>
19 /// <param name="move">Indicates whether to move or copy the source file.</param>
20 + /// <param name="sourceLineNumbers">Optional source line numbers that requested the file transfer.</param>
21 IFileTransfer CreateFileTransfer(string source, string destination, bool move, SourceLineNumber sourceLineNumbers = null);
22
23 /// <summary>
src/WixToolset.Extensibility/Services/ICommandLineParser.cs
+1
@@ -4,6 +4,7 @@ namespace WixToolset.Extensibility.Services
4 {
5 using System.Collections.Generic;
6
7 +#pragma warning disable 1591 // TODO: add documentation
8 public interface ICommandLineParser
9 {
10 string ErrorArgument { get; set; }
src/WixToolset.Extensibility/Services/IParseHelper.cs
+23 -19
@@ -68,15 +68,6 @@ namespace WixToolset.Extensibility.Services
68 /// <returns>New symbol.</returns>
69 IntermediateSymbol CreateSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateSymbolDefinition symbolDefinition, Identifier identifier = null);
70
71 - [Obsolete]
72 - IntermediateSymbol CreateRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, string tableName, Identifier identifier = null);
73 -
74 - [Obsolete]
75 - IntermediateSymbol CreateSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, SymbolDefinitionType symbolType, Identifier identifier = null);
76 -
77 - [Obsolete]
78 - IntermediateSymbol CreateRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, SymbolDefinitionType symbolType, Identifier identifier = null);
79 -
71 /// <summary>
72 /// Creates a directory row from a name.
73 /// </summary>
@@ -106,6 +97,7 @@ namespace WixToolset.Extensibility.Services
97 /// <summary>
98 /// Creates a Registry symbol in the active section.
99 /// </summary>
100 + /// <param name="section">Active section.</param>
101 /// <param name="sourceLineNumbers">Source and line number of the current symbol.</param>
102 /// <param name="root">The registry entry root.</param>
103 /// <param name="key">The registry entry key.</param>
@@ -115,9 +107,6 @@ namespace WixToolset.Extensibility.Services
107 /// <param name="escapeLeadingHash">If true, "escape" leading '#' characters so the value is written as a REG_SZ.</param>
108 Identifier CreateRegistrySymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, RegistryRootType root, string key, string name, string value, string componentId, bool escapeLeadingHash);
109
118 - [Obsolete]
119 - Identifier CreateRegistryRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, RegistryRootType root, string key, string name, string value, string componentId, bool escapeLeadingHash);
120 -
110 /// <summary>
111 /// Creates a short file/directory name using an identifier and long file/directory name as input.
112 /// </summary>
@@ -131,6 +120,7 @@ namespace WixToolset.Extensibility.Services
120 /// <summary>
121 /// Create a WixSimpleReference symbol in the active section.
122 /// </summary>
123 + /// <param name="section">Active section.</param>
124 /// <param name="sourceLineNumbers">Source line information for the row.</param>
125 /// <param name="symbolName">The symbol name of the simple reference.</param>
126 /// <param name="primaryKey">The primary key of the simple reference.</param>
@@ -139,6 +129,7 @@ namespace WixToolset.Extensibility.Services
129 /// <summary>
130 /// Create a WixSimpleReference symbol in the active section.
131 /// </summary>
132 + /// <param name="section">Active section.</param>
133 /// <param name="sourceLineNumbers">Source line information for the row.</param>
134 /// <param name="symbolName">The symbol name of the simple reference.</param>
135 /// <param name="primaryKeys">The primary keys of the simple reference.</param>
@@ -147,6 +138,7 @@ namespace WixToolset.Extensibility.Services
138 /// <summary>
139 /// Create a WixSimpleReference symbol in the active section.
140 /// </summary>
141 + /// <param name="section">Active section.</param>
142 /// <param name="sourceLineNumbers">Source line information for the row.</param>
143 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param>
144 /// <param name="primaryKey">The primary key of the simple reference.</param>
@@ -155,6 +147,7 @@ namespace WixToolset.Extensibility.Services
147 /// <summary>
148 /// Create a WixSimpleReference symbol in the active section.
149 /// </summary>
150 + /// <param name="section">Active section.</param>
151 /// <param name="sourceLineNumbers">Source line information for the row.</param>
152 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param>
153 /// <param name="primaryKeys">The primary keys of the simple reference.</param>
@@ -167,7 +160,7 @@ namespace WixToolset.Extensibility.Services
160 /// <param name="sourceLineNumbers">Source line information.</param>
161 /// <param name="section">Section to create the reference in.</param>
162 /// <param name="customAction">The custom action base name.</param>
170 - /// <param name="currentPlatform">The platform being compiled.</param>
163 + /// <param name="platform">The platform being compiled.</param>
164 /// <param name="supportedPlatforms">The platforms for which there are specialized custom actions.</param>
165 void CreateCustomActionReference(SourceLineNumber sourceLineNumbers, IntermediateSection section, string customAction, Platform platform, CustomActionPlatforms supportedPlatforms);
166
@@ -195,9 +188,6 @@ namespace WixToolset.Extensibility.Services
188 /// <param name="childId">Id of the Child Node.</param>
189 void CreateWixGroupSymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, ComplexReferenceParentType parentType, string parentId, ComplexReferenceChildType childType, string childId);
190
198 - [Obsolete]
199 - void CreateWixGroupRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, ComplexReferenceParentType parentType, string parentId, ComplexReferenceChildType childType, string childId);
200 -
191 /// <summary>
192 /// Creates a symbol in the WixSearch table.
193 /// </summary>
@@ -231,6 +221,7 @@ namespace WixToolset.Extensibility.Services
221 /// <summary>
222 /// Add the appropriate symbols to make sure that the given table shows up in the resulting output.
223 /// </summary>
224 + /// <param name="section">Active section.</param>
225 /// <param name="sourceLineNumbers">Source line numbers.</param>
226 /// <param name="tableName">Name of the table to ensure existance of.</param>
227 void EnsureTable(IntermediateSection section, SourceLineNumber sourceLineNumbers, string tableName);
@@ -238,6 +229,7 @@ namespace WixToolset.Extensibility.Services
229 /// <summary>
230 /// Add the appropriate symbols to make sure that the given table shows up in the resulting output.
231 /// </summary>
232 + /// <param name="section">Active section.</param>
233 /// <param name="sourceLineNumbers">Source line numbers.</param>
234 /// <param name="tableDefinition">Definition of the table to ensure existance of.</param>
235 void EnsureTable(IntermediateSection section, SourceLineNumber sourceLineNumbers, TableDefinition tableDefinition);
@@ -408,6 +400,9 @@ namespace WixToolset.Extensibility.Services
400 /// <summary>
401 /// Attempts to use an extension to parse the attribute.
402 /// </summary>
403 + /// <param name="extensions"></param>
404 + /// <param name="intermediate">Parent intermediate.</param>
405 + /// <param name="section">Parent section.</param>
406 /// <param name="element">Element containing attribute to be parsed.</param>
407 /// <param name="attribute">Attribute to be parsed.</param>
408 /// <param name="context">Extra information about the context in which this element is being parsed.</param>
@@ -416,22 +411,31 @@ namespace WixToolset.Extensibility.Services
411 /// <summary>
412 /// Attempts to use an extension to parse the element.
413 /// </summary>
414 + /// <param name="extensions"></param>
415 + /// <param name="intermediate">Parent intermediate.</param>
416 + /// <param name="section">Parent section.</param>
417 /// <param name="parentElement">Element containing element to be parsed.</param>
418 /// <param name="element">Element to be parsed.</param>
421 - /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
419 + /// <param name="context">Extra information about the context in which this element is being parsed.</param>
420 void ParseExtensionElement(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context = null);
421
422 /// <summary>
423 /// Attempts to use an extension to parse the element, with support for setting component keypath.
424 /// </summary>
425 + /// <param name="extensions"></param>
426 + /// <param name="intermediate">Parent intermediate.</param>
427 + /// <param name="section">Parent section.</param>
428 /// <param name="parentElement">Element containing element to be parsed.</param>
429 /// <param name="element">Element to be parsed.</param>
429 - /// <param name="contextValues">Extra information about the context in which this element is being parsed.</param>
430 + /// <param name="context">Extra information about the context in which this element is being parsed.</param>
431 IComponentKeyPath ParsePossibleKeyPathExtensionElement(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary<string, string> context);
432
433 /// <summary>
434 /// Process all children of the element looking for extensions and erroring on the unexpected.
435 /// </summary>
436 + /// <param name="extensions"></param>
437 + /// <param name="intermediate">Parent intermediate.</param>
438 + /// <param name="section">Parent section.</param>
439 /// <param name="element">Element to parse children.</param>
440 void ParseForExtensionElements(IEnumerable<ICompilerExtension> extensions, Intermediate intermediate, IntermediateSection section, XElement element);
441
@@ -452,7 +456,7 @@ namespace WixToolset.Extensibility.Services
456 /// <summary>
457 /// Called when the compiler encounters an unexpected attribute.
458 /// </summary>
455 - /// <param name="parentElement">Parent element that found unexpected attribute.</param>
459 + /// <param name="element">Parent element that found unexpected attribute.</param>
460 /// <param name="attribute">Unexpected attribute.</param>
461 void UnexpectedAttribute(XElement element, XAttribute attribute);
462
src/WixToolset.Extensibility/Services/IPathResolver.cs
+4 -1
@@ -6,7 +6,9 @@ namespace WixToolset.Extensibility.Services
6 using WixToolset.Data;
7 using WixToolset.Extensibility.Data;
8
9 +#pragma warning disable 1591 // TODO: add documentation
10 public interface IPathResolver
11 +#pragma warning restore 1591
12 {
13 /// <summary>
14 /// Get the canonical source path of a directory.
@@ -14,6 +16,7 @@ namespace WixToolset.Extensibility.Services
16 /// <param name="directories">All cached directories.</param>
17 /// <param name="componentIdGenSeeds">Hash table of Component GUID generation seeds indexed by directory id.</param>
18 /// <param name="directory">Directory identifier.</param>
19 + /// <param name="platform">Current platform.</param>
20 /// <returns>Source path of a directory.</returns>
21 string GetCanonicalDirectoryPath(Dictionary<string, IResolvedDirectory> directories, Dictionary<string, string> componentIdGenSeeds, string directory, Platform platform);
22
@@ -28,7 +31,7 @@ namespace WixToolset.Extensibility.Services
31 /// <summary>
32 /// Gets the source path of a file.
33 /// </summary>
31 - /// <param name="directories">All cached directories in <see cref="ResolvedDirectory"/>.</param>
34 + /// <param name="directories">All cached directories in <see cref="IResolvedDirectory"/>.</param>
35 /// <param name="directoryId">Parent directory identifier.</param>
36 /// <param name="fileName">File name (in long|source format).</param>
37 /// <param name="compressed">Specifies the package is compressed.</param>
src/WixToolset.Extensibility/Services/IPreprocessHelper.cs
+2 -2
@@ -24,7 +24,7 @@ namespace WixToolset.Extensibility.Services
24 /// <param name="context">The preprocess context.</param>
25 /// <param name="name">The variable name.</param>
26 /// <param name="value">The variable value.</param>
27 - /// <param name="overwrite">Set to true to show variable overwrite warning.</param>
27 + /// <param name="showWarning">Set to true to show variable overwrite warning.</param>
28 void AddVariable(IPreprocessContext context, string name, string value, bool showWarning);
29
30 /// <summary>
@@ -67,7 +67,7 @@ namespace WixToolset.Extensibility.Services
67 /// Evaluate a Pragma.
68 /// </summary>
69 /// <param name="context">The preprocess context.</param>
70 - /// <param name="pragmaName">The pragma's full name (<prefix>.<pragma>).</param>
70 + /// <param name="pragmaName">The pragma's full name (&lt;prefix&gt;.&lt;pragma&gt;).</param>
71 /// <param name="args">The arguments to the pragma.</param>
72 /// <param name="parent">The parent element of the pragma.</param>
73 void PreprocessPragma(IPreprocessContext context, string pragmaName, string args, XContainer parent);
src/WixToolset.Extensibility/Services/IVariableResolution.cs
+1
@@ -2,6 +2,7 @@
2
3 namespace WixToolset.Extensibility.Services
4 {
5 +#pragma warning disable 1591 // TODO: add documentation
6 public interface IVariableResolution
7 {
8 bool DelayedResolve { get; set; }
src/WixToolset.Extensibility/Services/IVariableResolver.cs
+3
@@ -4,13 +4,16 @@ namespace WixToolset.Extensibility.Services
4 {
5 using WixToolset.Data;
6
7 +#pragma warning disable 1591 // TODO: add documentation
8 public interface IVariableResolver
9 {
10 void AddLocalization(Localization localization);
11 +#pragma warning restore 1591
12
13 /// <summary>
14 /// Add a variable.
15 /// </summary>
16 + /// <param name="sourceLineNumber">The source line information for the value.</param>
17 /// <param name="name">The name of the variable.</param>
18 /// <param name="value">The value of the variable.</param>
19 /// <param name="overridable">Indicates whether the variable can be overridden by an existing variable.</param>
src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs
+19
@@ -10,7 +10,26 @@ namespace WixToolset.Extensibility.Services
10 /// </summary>
11 public interface IWindowsInstallerBackendHelper
12 {
13 + /// <summary>
14 + /// Creates a <see cref="Row"/> in the specified table.
15 + /// </summary>
16 + /// <param name="section">Parent section.</param>
17 + /// <param name="symbol">Symbol with line information for the row.</param>
18 + /// <param name="output">Current context.</param>
19 + /// <param name="tableDefinition">Table definition for the row.</param>
20 + /// <returns></returns>
21 Row CreateRow(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinition tableDefinition);
22 +
23 + /// <summary>
24 + /// Looks up the registered <see cref="TableDefinition"/> for the given <see cref="IntermediateSymbol"/> and creates a <see cref="Row"/> in that table.
25 + /// Goes sequentially through each field in the symbol and assigns the value to the column with the same index as the field.
26 + /// If the symbol's Id is registered as the primary key then that is used for the first column and the column data is offset by 1.
27 + /// </summary>
28 + /// <param name="section">Parent section.</param>
29 + /// <param name="symbol">Symbol to create the row from.</param>
30 + /// <param name="output">Current context.</param>
31 + /// <param name="tableDefinitions">Table definitions that have been registered with the binder.</param>
32 + /// <returns>True if a row was created.</returns>
33 bool TryAddSymbolToOutputMatchingTableDefinitions(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions);
34 }
35 }
src/WixToolset.Extensibility/Services/IWixtoolsetCoreServiceProvider.cs
-1
@@ -24,7 +24,6 @@ namespace WixToolset.Extensibility.Services
24 /// <summary>
25 /// Adds a service to the service locator.
26 /// </summary>
27 - /// <param name="serviceType">Type of the service to add.</param>
27 /// <param name="creationFunction">
28 /// A function that creates the service. The create function is provided the service provider
29 /// itself to resolve additional services and a type dictionary that stores singleton services
src/WixToolset.Extensibility/WixToolset.Extensibility.csproj
+1
@@ -9,6 +9,7 @@
9 <Description></Description>
10 <DebugType>embedded</DebugType>
11 <PublishRepositoryUrl>true</PublishRepositoryUrl>
12 + <CreateDocumentationFile>true</CreateDocumentationFile>
13 </PropertyGroup>
14
15 <ItemGroup>