From e9fea339e473e6dcc32e34e995429b41cabb6c22 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 1 Mar 2019 11:05:02 -0800 Subject: Expose only abstracts and enums from WixToolset.Extensibility --- .../BaseBinderExtension.cs | 2 +- .../BaseCompilerExtension.cs | 7 ++- .../BaseResolverExtension.cs | 9 +++- .../BaseWindowsInstallerBackendBinderExtension.cs | 9 +++- src/WixToolset.Extensibility/CompilerConstants.cs | 2 +- .../Data/BindFileWithPath.cs | 20 -------- src/WixToolset.Extensibility/Data/BindPath.cs | 59 ---------------------- src/WixToolset.Extensibility/Data/BindResult.cs | 13 ----- .../Data/ComponentKeyPath.cs | 55 -------------------- .../Data/ComponentKeyPathType.cs | 37 ++++++++++++++ .../Data/DecompileResult.cs | 14 ----- .../Data/IBindFileWithPath.cs | 11 ++++ src/WixToolset.Extensibility/Data/IBindPath.cs | 22 ++++++++ src/WixToolset.Extensibility/Data/IBindResult.cs | 13 +++++ .../Data/IComponentKeyPath.cs | 13 +++++ .../Data/IDecompileResult.cs | 14 +++++ .../Data/ILibraryContext.cs | 4 +- .../Data/IResolveContext.cs | 4 +- .../Data/IResolveFileResult.cs | 13 +++++ .../Data/IResolveResult.cs | 18 +++++++ .../Data/IResolvedCabinet.cs | 11 ++++ .../Data/ResolveFileResult.cs | 13 ----- src/WixToolset.Extensibility/Data/ResolveResult.cs | 18 ------- .../Data/ResolvedCabinet.cs | 20 -------- .../DecompilerConstants.cs | 2 +- src/WixToolset.Extensibility/IBackend.cs | 4 +- src/WixToolset.Extensibility/IBinderExtension.cs | 2 +- .../IBurnBackendExtension.cs | 2 +- src/WixToolset.Extensibility/ICompilerExtension.cs | 2 +- .../IDecompilerExtension.cs | 2 +- .../ILibrarianExtension.cs | 2 +- src/WixToolset.Extensibility/IResolverExtension.cs | 4 +- .../IWindowsInstallerBackendBinderExtension.cs | 4 +- .../IWindowsInstallerBackendDecompilerExtension.cs | 2 +- .../Services/IParseHelper.cs | 2 +- .../Services/IVariableResolution.cs | 15 ++++++ .../Services/IVariableResolver.cs | 4 +- .../Services/VariableResolution.cs | 27 ---------- 38 files changed, 209 insertions(+), 266 deletions(-) delete mode 100644 src/WixToolset.Extensibility/Data/BindFileWithPath.cs delete mode 100644 src/WixToolset.Extensibility/Data/BindPath.cs delete mode 100644 src/WixToolset.Extensibility/Data/BindResult.cs delete mode 100644 src/WixToolset.Extensibility/Data/ComponentKeyPath.cs create mode 100644 src/WixToolset.Extensibility/Data/ComponentKeyPathType.cs delete mode 100644 src/WixToolset.Extensibility/Data/DecompileResult.cs create mode 100644 src/WixToolset.Extensibility/Data/IBindFileWithPath.cs create mode 100644 src/WixToolset.Extensibility/Data/IBindPath.cs create mode 100644 src/WixToolset.Extensibility/Data/IBindResult.cs create mode 100644 src/WixToolset.Extensibility/Data/IComponentKeyPath.cs create mode 100644 src/WixToolset.Extensibility/Data/IDecompileResult.cs create mode 100644 src/WixToolset.Extensibility/Data/IResolveFileResult.cs create mode 100644 src/WixToolset.Extensibility/Data/IResolveResult.cs create mode 100644 src/WixToolset.Extensibility/Data/IResolvedCabinet.cs delete mode 100644 src/WixToolset.Extensibility/Data/ResolveFileResult.cs delete mode 100644 src/WixToolset.Extensibility/Data/ResolveResult.cs delete mode 100644 src/WixToolset.Extensibility/Data/ResolvedCabinet.cs create mode 100644 src/WixToolset.Extensibility/Services/IVariableResolution.cs delete mode 100644 src/WixToolset.Extensibility/Services/VariableResolution.cs (limited to 'src') diff --git a/src/WixToolset.Extensibility/BaseBinderExtension.cs b/src/WixToolset.Extensibility/BaseBinderExtension.cs index d533b0cb..3869d1ed 100644 --- a/src/WixToolset.Extensibility/BaseBinderExtension.cs +++ b/src/WixToolset.Extensibility/BaseBinderExtension.cs @@ -40,7 +40,7 @@ namespace WixToolset.Extensibility /// /// Called at the end of bind. /// - public virtual void PostBind(BindResult result) + public virtual void PostBind(IBindResult result) { } } diff --git a/src/WixToolset.Extensibility/BaseCompilerExtension.cs b/src/WixToolset.Extensibility/BaseCompilerExtension.cs index e1584bc3..51fbcd0b 100644 --- a/src/WixToolset.Extensibility/BaseCompilerExtension.cs +++ b/src/WixToolset.Extensibility/BaseCompilerExtension.cs @@ -34,6 +34,11 @@ namespace WixToolset.Extensibility /// Schema namespace supported by this extension. public abstract XNamespace Namespace { get; } + /// + /// Creates a component key path. + /// + protected IComponentKeyPath CreateComponentKeyPath() => this.Context.ServiceProvider.GetService(); + /// /// Called at the beginning of the compilation of a source file. /// @@ -75,7 +80,7 @@ namespace WixToolset.Extensibility /// Element to process. /// Explicit key path. /// Extra information about the context in which this element is being parsed. - public virtual ComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary context) + public virtual IComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary context) { this.ParseElement(intermediate, section, parentElement, element, context); return null; diff --git a/src/WixToolset.Extensibility/BaseResolverExtension.cs b/src/WixToolset.Extensibility/BaseResolverExtension.cs index fcd2eed9..bf606d58 100644 --- a/src/WixToolset.Extensibility/BaseResolverExtension.cs +++ b/src/WixToolset.Extensibility/BaseResolverExtension.cs @@ -21,6 +21,11 @@ namespace WixToolset.Extensibility /// protected IMessaging Messaging { get; private set; } + /// + /// Creates a resolve file result. + /// + protected IResolveFileResult CreateResolveFileResult() => this.Context.ServiceProvider.GetService(); + /// /// Called at the beginning of the resolving variables and files. /// @@ -31,7 +36,7 @@ namespace WixToolset.Extensibility this.Messaging = context.ServiceProvider.GetService(); } - public virtual ResolveFileResult ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage) + public virtual IResolveFileResult ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage) { return null; } @@ -39,7 +44,7 @@ namespace WixToolset.Extensibility /// /// Called at the end of resolve. /// - public virtual void PostResolve(ResolveResult result) + public virtual void PostResolve(IResolveResult result) { } } diff --git a/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs b/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs index c5ee9d1b..f02875cd 100644 --- a/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs +++ b/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs @@ -34,6 +34,11 @@ namespace WixToolset.Extensibility /// protected virtual TableDefinition[] TableDefinitionsForTuples { get; } + /// + /// Creates a resolved cabinet result. + /// + protected IResolvedCabinet CreateResolvedCabinet() => this.Context.ServiceProvider.GetService(); + public virtual void PreBackendBind(IBindContext context) { this.Context = context; @@ -43,7 +48,7 @@ namespace WixToolset.Extensibility this.BackendHelper = context.ServiceProvider.GetService(); } - public virtual ResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable files) + public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable files) { return null; } @@ -63,7 +68,7 @@ namespace WixToolset.Extensibility return false; } - public virtual void PostBackendBind(BindResult result, Pdb pdb) + public virtual void PostBackendBind(IBindResult result, Pdb pdb) { } } diff --git a/src/WixToolset.Extensibility/CompilerConstants.cs b/src/WixToolset.Extensibility/CompilerConstants.cs index 9f666b43..f26456fb 100644 --- a/src/WixToolset.Extensibility/CompilerConstants.cs +++ b/src/WixToolset.Extensibility/CompilerConstants.cs @@ -7,7 +7,7 @@ namespace WixToolset.Extensibility /// /// Constants used by compiler. /// - public class CompilerConstants + public static class CompilerConstants { public const int IntegerNotSet = int.MinValue; public const int IllegalInteger = int.MinValue + 1; diff --git a/src/WixToolset.Extensibility/Data/BindFileWithPath.cs b/src/WixToolset.Extensibility/Data/BindFileWithPath.cs deleted file mode 100644 index d65ae1ba..00000000 --- a/src/WixToolset.Extensibility/Data/BindFileWithPath.cs +++ /dev/null @@ -1,20 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Data -{ - /// - /// Bind file with its path. - /// - public class BindFileWithPath - { - /// - /// Gets or sets the identifier of the file with this path. - /// - public string Id { get; set; } - - /// - /// Gets or sets the file path. - /// - public string Path { get; set; } - } -} diff --git a/src/WixToolset.Extensibility/Data/BindPath.cs b/src/WixToolset.Extensibility/Data/BindPath.cs deleted file mode 100644 index 3b0b73bb..00000000 --- a/src/WixToolset.Extensibility/Data/BindPath.cs +++ /dev/null @@ -1,59 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Data -{ - using System; - - /// - /// Bind path representation. - /// - public class BindPath - { - /// - /// Creates an unnamed bind path. - /// - /// Path for the bind path. - public BindPath(string path) : this(String.Empty, path, BindStage.Normal) - { - } - - /// - /// Creates a named bind path. - /// - /// Name of the bind path. - /// Path for the bind path. - /// Stage for the bind path. - public BindPath(string name, string path, BindStage stage = BindStage.Normal) - { - this.Name = name; - this.Path = path; - this.Stage = stage; - } - - /// - /// Name of the bind path or String.Empty if the path is unnamed. - /// - public string Name { get; set; } - - /// - /// Path for the bind path. - /// - public string Path { get; set; } - - /// - /// Stage for the bind path. - /// - public BindStage Stage { get; set; } - - /// - /// Parses a normal bind path from its string representation - /// - /// String representation of bind path that looks like: [name=]path - /// Parsed normal bind path. - public static BindPath Parse(string bindPath) - { - string[] namedPath = bindPath.Split(new char[] { '=' }, 2); - return (1 == namedPath.Length) ? new BindPath(namedPath[0]) : new BindPath(namedPath[0], namedPath[1]); - } - } -} diff --git a/src/WixToolset.Extensibility/Data/BindResult.cs b/src/WixToolset.Extensibility/Data/BindResult.cs deleted file mode 100644 index e467d269..00000000 --- a/src/WixToolset.Extensibility/Data/BindResult.cs +++ /dev/null @@ -1,13 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Data -{ - using System.Collections.Generic; - - public class BindResult - { - public IEnumerable FileTransfers { get; set; } - - public IEnumerable TrackedFiles { get; set; } - } -} diff --git a/src/WixToolset.Extensibility/Data/ComponentKeyPath.cs b/src/WixToolset.Extensibility/Data/ComponentKeyPath.cs deleted file mode 100644 index 112f562c..00000000 --- a/src/WixToolset.Extensibility/Data/ComponentKeyPath.cs +++ /dev/null @@ -1,55 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Data -{ - public enum ComponentKeyPathType - { - /// - /// Not a key path. - /// - None, - - /// - /// File resource as a key path. - /// - File, - - /// - /// Folder as a key path. - /// - Directory, - - /// - /// ODBC data source as a key path. - /// - OdbcDataSource, - - /// - /// A simple registry key acting as a key path. - /// - Registry, - - /// - /// A registry key that contains a formatted property acting as a key path. - /// - RegistryFormatted - } - - public class ComponentKeyPath - { - /// - /// Identifier of the resource to be a key path. - /// - public string Id { get; set; } - - /// - /// Indicates whether the key path was explicitly set for this resource. - /// - public bool Explicit { get; set; } - - /// - /// Type of resource to be the key path. - /// - public ComponentKeyPathType Type { get; set; } - } -} diff --git a/src/WixToolset.Extensibility/Data/ComponentKeyPathType.cs b/src/WixToolset.Extensibility/Data/ComponentKeyPathType.cs new file mode 100644 index 00000000..58bbb0cf --- /dev/null +++ b/src/WixToolset.Extensibility/Data/ComponentKeyPathType.cs @@ -0,0 +1,37 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + public enum ComponentKeyPathType + { + /// + /// Not a key path. + /// + None, + + /// + /// File resource as a key path. + /// + File, + + /// + /// Folder as a key path. + /// + Directory, + + /// + /// ODBC data source as a key path. + /// + OdbcDataSource, + + /// + /// A simple registry key acting as a key path. + /// + Registry, + + /// + /// A registry key that contains a formatted property acting as a key path. + /// + RegistryFormatted + } +} diff --git a/src/WixToolset.Extensibility/Data/DecompileResult.cs b/src/WixToolset.Extensibility/Data/DecompileResult.cs deleted file mode 100644 index 27706b2c..00000000 --- a/src/WixToolset.Extensibility/Data/DecompileResult.cs +++ /dev/null @@ -1,14 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Data -{ - using System.Collections.Generic; - using System.Xml.Linq; - - public class DecompileResult - { - public XDocument Document { get; set; } - - public IEnumerable ExtractedFilePaths { get; set; } - } -} diff --git a/src/WixToolset.Extensibility/Data/IBindFileWithPath.cs b/src/WixToolset.Extensibility/Data/IBindFileWithPath.cs new file mode 100644 index 00000000..ec78a1a0 --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IBindFileWithPath.cs @@ -0,0 +1,11 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + public interface IBindFileWithPath + { + string Id { get; set; } + + string Path { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Data/IBindPath.cs b/src/WixToolset.Extensibility/Data/IBindPath.cs new file mode 100644 index 00000000..5784a0e0 --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IBindPath.cs @@ -0,0 +1,22 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + public interface IBindPath + { + /// + /// Name of the bind path or String.Empty if the path is unnamed. + /// + string Name { get; set; } + + /// + /// Path for the bind path. + /// + string Path { get; set; } + + /// + /// Stage for the bind path. + /// + BindStage Stage { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Data/IBindResult.cs b/src/WixToolset.Extensibility/Data/IBindResult.cs new file mode 100644 index 00000000..d35e7628 --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IBindResult.cs @@ -0,0 +1,13 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + using System.Collections.Generic; + + public interface IBindResult + { + IEnumerable FileTransfers { get; set; } + + IEnumerable TrackedFiles { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Data/IComponentKeyPath.cs b/src/WixToolset.Extensibility/Data/IComponentKeyPath.cs new file mode 100644 index 00000000..ba660b45 --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IComponentKeyPath.cs @@ -0,0 +1,13 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + public interface IComponentKeyPath + { + bool Explicit { get; set; } + + string Id { get; set; } + + ComponentKeyPathType Type { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Data/IDecompileResult.cs b/src/WixToolset.Extensibility/Data/IDecompileResult.cs new file mode 100644 index 00000000..ea993cb2 --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IDecompileResult.cs @@ -0,0 +1,14 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + using System.Collections.Generic; + using System.Xml.Linq; + + public interface IDecompileResult + { + XDocument Document { get; set; } + + IEnumerable ExtractedFilePaths { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Data/ILibraryContext.cs b/src/WixToolset.Extensibility/Data/ILibraryContext.cs index 08b4ed26..9b65ebfd 100644 --- a/src/WixToolset.Extensibility/Data/ILibraryContext.cs +++ b/src/WixToolset.Extensibility/Data/ILibraryContext.cs @@ -1,4 +1,4 @@ -// 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. +// 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. namespace WixToolset.Extensibility.Data { @@ -12,7 +12,7 @@ namespace WixToolset.Extensibility.Data bool BindFiles { get; set; } - IEnumerable BindPaths { get; set; } + IEnumerable BindPaths { get; set; } IEnumerable Extensions { get; set; } diff --git a/src/WixToolset.Extensibility/Data/IResolveContext.cs b/src/WixToolset.Extensibility/Data/IResolveContext.cs index 0e12a534..68a50268 100644 --- a/src/WixToolset.Extensibility/Data/IResolveContext.cs +++ b/src/WixToolset.Extensibility/Data/IResolveContext.cs @@ -1,4 +1,4 @@ -// 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. +// 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. namespace WixToolset.Extensibility.Data { @@ -11,7 +11,7 @@ namespace WixToolset.Extensibility.Data { IServiceProvider ServiceProvider { get; } - IEnumerable BindPaths { get; set; } + IEnumerable BindPaths { get; set; } IEnumerable Extensions { get; set; } diff --git a/src/WixToolset.Extensibility/Data/IResolveFileResult.cs b/src/WixToolset.Extensibility/Data/IResolveFileResult.cs new file mode 100644 index 00000000..bf0af72e --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IResolveFileResult.cs @@ -0,0 +1,13 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + using System.Collections.Generic; + + public interface IResolveFileResult + { + IEnumerable CheckedPaths { get; set; } + + string Path { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Data/IResolveResult.cs b/src/WixToolset.Extensibility/Data/IResolveResult.cs new file mode 100644 index 00000000..87b9c573 --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IResolveResult.cs @@ -0,0 +1,18 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + using System.Collections.Generic; + using WixToolset.Data; + + public interface IResolveResult + { + int Codepage { get; set; } + + IEnumerable DelayedFields { get; set; } + + IEnumerable ExpectedEmbeddedFiles { get; set; } + + Intermediate IntermediateRepresentation { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Data/IResolvedCabinet.cs b/src/WixToolset.Extensibility/Data/IResolvedCabinet.cs new file mode 100644 index 00000000..c94ff8db --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IResolvedCabinet.cs @@ -0,0 +1,11 @@ +// 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. + +namespace WixToolset.Extensibility.Data +{ + public interface IResolvedCabinet + { + CabinetBuildOption BuildOption { get; set; } + + string Path { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Data/ResolveFileResult.cs b/src/WixToolset.Extensibility/Data/ResolveFileResult.cs deleted file mode 100644 index 5ac7c426..00000000 --- a/src/WixToolset.Extensibility/Data/ResolveFileResult.cs +++ /dev/null @@ -1,13 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Data -{ - using System.Collections.Generic; - - public class ResolveFileResult - { - public string Path { get; set; } - - public IEnumerable CheckedPaths { get; set; } - } -} \ No newline at end of file diff --git a/src/WixToolset.Extensibility/Data/ResolveResult.cs b/src/WixToolset.Extensibility/Data/ResolveResult.cs deleted file mode 100644 index cdc9cfcc..00000000 --- a/src/WixToolset.Extensibility/Data/ResolveResult.cs +++ /dev/null @@ -1,18 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Data -{ - using System.Collections.Generic; - using WixToolset.Data; - - public class ResolveResult - { - public int Codepage { get; set; } - - public IEnumerable DelayedFields { get; set; } - - public IEnumerable ExpectedEmbeddedFiles { get; set; } - - public Intermediate IntermediateRepresentation { get; set; } - } -} \ No newline at end of file diff --git a/src/WixToolset.Extensibility/Data/ResolvedCabinet.cs b/src/WixToolset.Extensibility/Data/ResolvedCabinet.cs deleted file mode 100644 index 047b7448..00000000 --- a/src/WixToolset.Extensibility/Data/ResolvedCabinet.cs +++ /dev/null @@ -1,20 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Data -{ - /// - /// Data returned from build file manager ResolveCabinet callback. - /// - public class ResolvedCabinet - { - /// - /// Gets or sets the build option for the resolved cabinet. - /// - public CabinetBuildOption BuildOption { get; set; } - - /// - /// Gets or sets the path for the resolved cabinet. - /// - public string Path { get; set; } - } -} diff --git a/src/WixToolset.Extensibility/DecompilerConstants.cs b/src/WixToolset.Extensibility/DecompilerConstants.cs index 8cd6b19c..83393da9 100644 --- a/src/WixToolset.Extensibility/DecompilerConstants.cs +++ b/src/WixToolset.Extensibility/DecompilerConstants.cs @@ -5,7 +5,7 @@ namespace WixToolset.Extensibility /// /// Constants used by decompiler. /// - public class DecompilerConstants + public static class DecompilerConstants { public const char PrimaryKeyDelimiter = '/'; public const string PrimaryKeyDelimiterString = "/"; diff --git a/src/WixToolset.Extensibility/IBackend.cs b/src/WixToolset.Extensibility/IBackend.cs index df693561..12a7e834 100644 --- a/src/WixToolset.Extensibility/IBackend.cs +++ b/src/WixToolset.Extensibility/IBackend.cs @@ -7,9 +7,9 @@ namespace WixToolset.Extensibility public interface IBackend { - BindResult Bind(IBindContext context); + IBindResult Bind(IBindContext context); - DecompileResult Decompile(IDecompileContext context); + IDecompileResult Decompile(IDecompileContext context); Intermediate Unbind(IUnbindContext context); diff --git a/src/WixToolset.Extensibility/IBinderExtension.cs b/src/WixToolset.Extensibility/IBinderExtension.cs index 2656e106..dba09845 100644 --- a/src/WixToolset.Extensibility/IBinderExtension.cs +++ b/src/WixToolset.Extensibility/IBinderExtension.cs @@ -17,6 +17,6 @@ namespace WixToolset.Extensibility /// /// Called after all binding occurs. /// - void PostBind(BindResult result); + void PostBind(IBindResult result); } } diff --git a/src/WixToolset.Extensibility/IBurnBackendExtension.cs b/src/WixToolset.Extensibility/IBurnBackendExtension.cs index bcd0d5ee..acce700a 100644 --- a/src/WixToolset.Extensibility/IBurnBackendExtension.cs +++ b/src/WixToolset.Extensibility/IBurnBackendExtension.cs @@ -20,6 +20,6 @@ namespace WixToolset.Extensibility /// /// Called after all output changes occur and right before the output is bound into its final format. /// - void PostBackendBind(BindResult result); + void PostBackendBind(IBindResult result); } } diff --git a/src/WixToolset.Extensibility/ICompilerExtension.cs b/src/WixToolset.Extensibility/ICompilerExtension.cs index b2dd6d04..f2fd8193 100644 --- a/src/WixToolset.Extensibility/ICompilerExtension.cs +++ b/src/WixToolset.Extensibility/ICompilerExtension.cs @@ -45,7 +45,7 @@ namespace WixToolset.Extensibility /// Parent element of element to process. /// Element to process. /// Extra information about the context in which this element is being parsed. - ComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary context); + IComponentKeyPath ParsePossibleKeyPathElement(Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary context); /// /// Called at the end of the compilation of a source file. diff --git a/src/WixToolset.Extensibility/IDecompilerExtension.cs b/src/WixToolset.Extensibility/IDecompilerExtension.cs index 9ea4290b..24ef3bff 100644 --- a/src/WixToolset.Extensibility/IDecompilerExtension.cs +++ b/src/WixToolset.Extensibility/IDecompilerExtension.cs @@ -17,6 +17,6 @@ namespace WixToolset.Extensibility /// /// Called after all decompiling occurs. /// - void PostDecompile(DecompileResult result); + void PostDecompile(IDecompileResult result); } } diff --git a/src/WixToolset.Extensibility/ILibrarianExtension.cs b/src/WixToolset.Extensibility/ILibrarianExtension.cs index b9f707e1..719ffa34 100644 --- a/src/WixToolset.Extensibility/ILibrarianExtension.cs +++ b/src/WixToolset.Extensibility/ILibrarianExtension.cs @@ -9,7 +9,7 @@ namespace WixToolset.Extensibility { void PreCombine(ILibraryContext context); - ResolveFileResult ResolveFile(SourceLineNumber sourceLineNumber, IntermediateTupleDefinition tupleDefinition, string path); + IResolveFileResult ResolveFile(SourceLineNumber sourceLineNumber, IntermediateTupleDefinition tupleDefinition, string path); void PostCombine(Intermediate library); } diff --git a/src/WixToolset.Extensibility/IResolverExtension.cs b/src/WixToolset.Extensibility/IResolverExtension.cs index 36ada8f0..c414b19e 100644 --- a/src/WixToolset.Extensibility/IResolverExtension.cs +++ b/src/WixToolset.Extensibility/IResolverExtension.cs @@ -15,11 +15,11 @@ namespace WixToolset.Extensibility /// void PreResolve(IResolveContext context); - ResolveFileResult ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage); + IResolveFileResult ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage); /// /// Called after all resolving occurs. /// - void PostResolve(ResolveResult result); + void PostResolve(IResolveResult result); } } diff --git a/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs b/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs index 5f34d3e1..f3b97845 100644 --- a/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs +++ b/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs @@ -18,7 +18,7 @@ namespace WixToolset.Extensibility /// void PreBackendBind(IBindContext context); - ResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable files); + IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable files); string ResolveMedia(MediaTuple mediaRow, string mediaLayoutDirectory, string layoutDirectory); @@ -27,6 +27,6 @@ namespace WixToolset.Extensibility /// /// Called after all output changes occur and right before the output is bound into its final format. /// - void PostBackendBind(BindResult result, Pdb wixpdb); + void PostBackendBind(IBindResult result, Pdb wixpdb); } } diff --git a/src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs b/src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs index 05899c1f..f858610b 100644 --- a/src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs +++ b/src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs @@ -38,6 +38,6 @@ namespace WixToolset.Extensibility /// /// Called after all output changes occur and right before the output is bound into its final format. /// - void PostBackendDecompile(DecompileResult result); + void PostBackendDecompile(IDecompileResult result); } } diff --git a/src/WixToolset.Extensibility/Services/IParseHelper.cs b/src/WixToolset.Extensibility/Services/IParseHelper.cs index 49218d4f..36caf192 100644 --- a/src/WixToolset.Extensibility/Services/IParseHelper.cs +++ b/src/WixToolset.Extensibility/Services/IParseHelper.cs @@ -326,7 +326,7 @@ namespace WixToolset.Extensibility.Services /// Element containing element to be parsed. /// Element to be parsed. /// Extra information about the context in which this element is being parsed. - ComponentKeyPath ParsePossibleKeyPathExtensionElement(IEnumerable extensions, Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary context); + IComponentKeyPath ParsePossibleKeyPathExtensionElement(IEnumerable extensions, Intermediate intermediate, IntermediateSection section, XElement parentElement, XElement element, IDictionary context); /// /// Process all children of the element looking for extensions and erroring on the unexpected. diff --git a/src/WixToolset.Extensibility/Services/IVariableResolution.cs b/src/WixToolset.Extensibility/Services/IVariableResolution.cs new file mode 100644 index 00000000..efed0b1f --- /dev/null +++ b/src/WixToolset.Extensibility/Services/IVariableResolution.cs @@ -0,0 +1,15 @@ +// 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. + +namespace WixToolset.Extensibility.Services +{ + public interface IVariableResolution + { + bool DelayedResolve { get; set; } + + bool IsDefault { get; set; } + + bool UpdatedValue { get; set; } + + string Value { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/Services/IVariableResolver.cs b/src/WixToolset.Extensibility/Services/IVariableResolver.cs index ce11aa81..794d6478 100644 --- a/src/WixToolset.Extensibility/Services/IVariableResolver.cs +++ b/src/WixToolset.Extensibility/Services/IVariableResolver.cs @@ -1,4 +1,4 @@ -// 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. +// 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. namespace WixToolset.Extensibility.Services { @@ -33,7 +33,7 @@ namespace WixToolset.Extensibility.Services /// The value to resolve. /// true to only resolve localization variables; false otherwise. /// The resolved result. - VariableResolution ResolveVariables(SourceLineNumber sourceLineNumbers, string value, bool localizationOnly); + IVariableResolution ResolveVariables(SourceLineNumber sourceLineNumbers, string value, bool localizationOnly); /// /// Try to find localization information for dialog and (optional) control. diff --git a/src/WixToolset.Extensibility/Services/VariableResolution.cs b/src/WixToolset.Extensibility/Services/VariableResolution.cs deleted file mode 100644 index 2974e84f..00000000 --- a/src/WixToolset.Extensibility/Services/VariableResolution.cs +++ /dev/null @@ -1,27 +0,0 @@ -// 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. - -namespace WixToolset.Extensibility.Services -{ - public class VariableResolution - { - /// - /// Indicates whether the variable should be delay resolved. - /// - public bool DelayedResolve { get; set; } - - /// - /// Indicates whether the value is the default value of the variable. - /// - public bool IsDefault { get; set; } - - /// - /// Indicates whether the value changed. - /// - public bool UpdatedValue { get; set; } - - /// - /// Resolved value. - /// - public string Value { get; set; } - } -} \ No newline at end of file -- cgit v1.2.3-55-g6feb