From 11f6b34b97809da414d6368155e70125b582565f Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Sun, 7 Aug 2022 11:51:01 -0700 Subject: Add intermediate folder and output path to all contexts Extensions sometimes need to generate files and lay them out relative to the final output path. Provide that context to all extensions so they can use the correct intermediate folder and output path. --- .../WixToolset.Extensibility/Data/ICommandLineContext.cs | 13 ++++++++++++- .../wix/WixToolset.Extensibility/Data/ICompileContext.cs | 10 ++++++++++ src/api/wix/WixToolset.Extensibility/Data/ILayoutContext.cs | 5 +++++ .../wix/WixToolset.Extensibility/Data/ILibraryContext.cs | 10 ++++++++++ src/api/wix/WixToolset.Extensibility/Data/ILinkContext.cs | 10 ++++++++++ .../wix/WixToolset.Extensibility/Data/IPreprocessContext.cs | 10 ++++++++++ .../wix/WixToolset.Extensibility/Data/IResolveContext.cs | 5 +++++ 7 files changed, 62 insertions(+), 1 deletion(-) (limited to 'src/api') diff --git a/src/api/wix/WixToolset.Extensibility/Data/ICommandLineContext.cs b/src/api/wix/WixToolset.Extensibility/Data/ICommandLineContext.cs index d8c9469e..595fc996 100644 --- a/src/api/wix/WixToolset.Extensibility/Data/ICommandLineContext.cs +++ b/src/api/wix/WixToolset.Extensibility/Data/ICommandLineContext.cs @@ -5,13 +5,24 @@ namespace WixToolset.Extensibility.Data using System; using WixToolset.Extensibility.Services; -#pragma warning disable 1591 // TODO: add documentation + /// + /// Command-line context. + /// public interface ICommandLineContext { + /// + /// Service provider. + /// IServiceProvider ServiceProvider { get; } + /// + /// Extension manager. + /// IExtensionManager ExtensionManager { get; set; } + /// + /// Command-line arguments. + /// ICommandLineArguments Arguments { get; set; } } } diff --git a/src/api/wix/WixToolset.Extensibility/Data/ICompileContext.cs b/src/api/wix/WixToolset.Extensibility/Data/ICompileContext.cs index 2ee8f2a1..7006fde8 100644 --- a/src/api/wix/WixToolset.Extensibility/Data/ICompileContext.cs +++ b/src/api/wix/WixToolset.Extensibility/Data/ICompileContext.cs @@ -28,6 +28,16 @@ namespace WixToolset.Extensibility.Data /// IReadOnlyCollection Extensions { get; set; } + /// + /// Intermediate folder. + /// + string IntermediateFolder { get; set; } + + /// + /// Output path. + /// + string OutputPath { get; set; } + /// /// Gets or sets the platform which the compiler will use when defaulting 64-bit attributes and elements. /// diff --git a/src/api/wix/WixToolset.Extensibility/Data/ILayoutContext.cs b/src/api/wix/WixToolset.Extensibility/Data/ILayoutContext.cs index 981ed38e..8ff26365 100644 --- a/src/api/wix/WixToolset.Extensibility/Data/ILayoutContext.cs +++ b/src/api/wix/WixToolset.Extensibility/Data/ILayoutContext.cs @@ -36,6 +36,11 @@ namespace WixToolset.Extensibility.Data /// string IntermediateFolder { get; set; } + /// + /// Output path. + /// + string OutputPath { get; set; } + /// /// File to capture list of content, built output and copied output files. /// diff --git a/src/api/wix/WixToolset.Extensibility/Data/ILibraryContext.cs b/src/api/wix/WixToolset.Extensibility/Data/ILibraryContext.cs index 208b6f73..f3c4db6e 100644 --- a/src/api/wix/WixToolset.Extensibility/Data/ILibraryContext.cs +++ b/src/api/wix/WixToolset.Extensibility/Data/ILibraryContext.cs @@ -42,11 +42,21 @@ namespace WixToolset.Extensibility.Data /// IReadOnlyCollection Localizations { get; set; } + /// + /// Intermediate folder. + /// + string IntermediateFolder { get; set; } + /// /// Collection of intermediates to include in the library. /// IReadOnlyCollection Intermediates { get; set; } + /// + /// Output path. + /// + string OutputPath { get; set; } + /// /// Cancellation token. /// diff --git a/src/api/wix/WixToolset.Extensibility/Data/ILinkContext.cs b/src/api/wix/WixToolset.Extensibility/Data/ILinkContext.cs index d56866f7..8556d9eb 100644 --- a/src/api/wix/WixToolset.Extensibility/Data/ILinkContext.cs +++ b/src/api/wix/WixToolset.Extensibility/Data/ILinkContext.cs @@ -32,11 +32,21 @@ namespace WixToolset.Extensibility.Data /// OutputType ExpectedOutputType { get; set; } + /// + /// Intermediate folder. + /// + string IntermediateFolder { get; set; } + /// /// Collection of intermediates to link. /// IReadOnlyCollection Intermediates { get; set; } + /// + /// Output path. + /// + string OutputPath { get; set; } + /// /// Symbol definition creator used to load extension data. /// diff --git a/src/api/wix/WixToolset.Extensibility/Data/IPreprocessContext.cs b/src/api/wix/WixToolset.Extensibility/Data/IPreprocessContext.cs index 69057c33..39e56f7c 100644 --- a/src/api/wix/WixToolset.Extensibility/Data/IPreprocessContext.cs +++ b/src/api/wix/WixToolset.Extensibility/Data/IPreprocessContext.cs @@ -27,6 +27,16 @@ namespace WixToolset.Extensibility.Data /// IReadOnlyCollection IncludeSearchPaths { get; set; } + /// + /// Intermediate folder. + /// + string IntermediateFolder { get; set; } + + /// + /// Output path. + /// + string OutputPath { get; set; } + /// /// Gets the platform which the compiler will use when defaulting 64-bit attributes and elements. /// diff --git a/src/api/wix/WixToolset.Extensibility/Data/IResolveContext.cs b/src/api/wix/WixToolset.Extensibility/Data/IResolveContext.cs index 63159ccb..bec689ba 100644 --- a/src/api/wix/WixToolset.Extensibility/Data/IResolveContext.cs +++ b/src/api/wix/WixToolset.Extensibility/Data/IResolveContext.cs @@ -57,6 +57,11 @@ namespace WixToolset.Extensibility.Data /// bool AllowUnresolvedVariables { get; set; } + /// + /// Output path. + /// + string OutputPath { get; set; } + /// /// Cancellation token. /// -- cgit v1.2.3-55-g6feb