diff options
author | Rob Mensching <rob@firegiant.com> | 2022-08-07 11:51:01 -0700 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2022-08-07 12:40:54 -0700 |
commit | 11f6b34b97809da414d6368155e70125b582565f (patch) | |
tree | 4380e8af7365425d9f40046621d9af556ac5f9b5 /src/api | |
parent | 5c601223834cb8571d31232c7524ed3b6ed786e2 (diff) | |
download | wix-11f6b34b97809da414d6368155e70125b582565f.tar.gz wix-11f6b34b97809da414d6368155e70125b582565f.tar.bz2 wix-11f6b34b97809da414d6368155e70125b582565f.zip |
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.
Diffstat (limited to 'src/api')
7 files changed, 62 insertions, 1 deletions
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 | |||
5 | using System; | 5 | using System; |
6 | using WixToolset.Extensibility.Services; | 6 | using WixToolset.Extensibility.Services; |
7 | 7 | ||
8 | #pragma warning disable 1591 // TODO: add documentation | 8 | /// <summary> |
9 | /// Command-line context. | ||
10 | /// </summary> | ||
9 | public interface ICommandLineContext | 11 | public interface ICommandLineContext |
10 | { | 12 | { |
13 | /// <summary> | ||
14 | /// Service provider. | ||
15 | /// </summary> | ||
11 | IServiceProvider ServiceProvider { get; } | 16 | IServiceProvider ServiceProvider { get; } |
12 | 17 | ||
18 | /// <summary> | ||
19 | /// Extension manager. | ||
20 | /// </summary> | ||
13 | IExtensionManager ExtensionManager { get; set; } | 21 | IExtensionManager ExtensionManager { get; set; } |
14 | 22 | ||
23 | /// <summary> | ||
24 | /// Command-line arguments. | ||
25 | /// </summary> | ||
15 | ICommandLineArguments Arguments { get; set; } | 26 | ICommandLineArguments Arguments { get; set; } |
16 | } | 27 | } |
17 | } | 28 | } |
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 | |||
@@ -29,6 +29,16 @@ namespace WixToolset.Extensibility.Data | |||
29 | IReadOnlyCollection<ICompilerExtension> Extensions { get; set; } | 29 | IReadOnlyCollection<ICompilerExtension> Extensions { get; set; } |
30 | 30 | ||
31 | /// <summary> | 31 | /// <summary> |
32 | /// Intermediate folder. | ||
33 | /// </summary> | ||
34 | string IntermediateFolder { get; set; } | ||
35 | |||
36 | /// <summary> | ||
37 | /// Output path. | ||
38 | /// </summary> | ||
39 | string OutputPath { get; set; } | ||
40 | |||
41 | /// <summary> | ||
32 | /// Gets or sets the platform which the compiler will use when defaulting 64-bit attributes and elements. | 42 | /// Gets or sets the platform which the compiler will use when defaulting 64-bit attributes and elements. |
33 | /// </summary> | 43 | /// </summary> |
34 | /// <value>The platform which the compiler will use when defaulting 64-bit attributes and elements.</value> | 44 | /// <value>The platform which the compiler will use when defaulting 64-bit attributes and elements.</value> |
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 | |||
@@ -37,6 +37,11 @@ namespace WixToolset.Extensibility.Data | |||
37 | string IntermediateFolder { get; set; } | 37 | string IntermediateFolder { get; set; } |
38 | 38 | ||
39 | /// <summary> | 39 | /// <summary> |
40 | /// Output path. | ||
41 | /// </summary> | ||
42 | string OutputPath { get; set; } | ||
43 | |||
44 | /// <summary> | ||
40 | /// File to capture list of content, built output and copied output files. | 45 | /// File to capture list of content, built output and copied output files. |
41 | /// </summary> | 46 | /// </summary> |
42 | string TrackingFile { get; set; } | 47 | string TrackingFile { get; set; } |
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 | |||
@@ -43,11 +43,21 @@ namespace WixToolset.Extensibility.Data | |||
43 | IReadOnlyCollection<Localization> Localizations { get; set; } | 43 | IReadOnlyCollection<Localization> Localizations { get; set; } |
44 | 44 | ||
45 | /// <summary> | 45 | /// <summary> |
46 | /// Intermediate folder. | ||
47 | /// </summary> | ||
48 | string IntermediateFolder { get; set; } | ||
49 | |||
50 | /// <summary> | ||
46 | /// Collection of intermediates to include in the library. | 51 | /// Collection of intermediates to include in the library. |
47 | /// </summary> | 52 | /// </summary> |
48 | IReadOnlyCollection<Intermediate> Intermediates { get; set; } | 53 | IReadOnlyCollection<Intermediate> Intermediates { get; set; } |
49 | 54 | ||
50 | /// <summary> | 55 | /// <summary> |
56 | /// Output path. | ||
57 | /// </summary> | ||
58 | string OutputPath { get; set; } | ||
59 | |||
60 | /// <summary> | ||
51 | /// Cancellation token. | 61 | /// Cancellation token. |
52 | /// </summary> | 62 | /// </summary> |
53 | CancellationToken CancellationToken { get; set; } | 63 | CancellationToken CancellationToken { get; set; } |
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 | |||
@@ -33,11 +33,21 @@ namespace WixToolset.Extensibility.Data | |||
33 | OutputType ExpectedOutputType { get; set; } | 33 | OutputType ExpectedOutputType { get; set; } |
34 | 34 | ||
35 | /// <summary> | 35 | /// <summary> |
36 | /// Intermediate folder. | ||
37 | /// </summary> | ||
38 | string IntermediateFolder { get; set; } | ||
39 | |||
40 | /// <summary> | ||
36 | /// Collection of intermediates to link. | 41 | /// Collection of intermediates to link. |
37 | /// </summary> | 42 | /// </summary> |
38 | IReadOnlyCollection<Intermediate> Intermediates { get; set; } | 43 | IReadOnlyCollection<Intermediate> Intermediates { get; set; } |
39 | 44 | ||
40 | /// <summary> | 45 | /// <summary> |
46 | /// Output path. | ||
47 | /// </summary> | ||
48 | string OutputPath { get; set; } | ||
49 | |||
50 | /// <summary> | ||
41 | /// Symbol definition creator used to load extension data. | 51 | /// Symbol definition creator used to load extension data. |
42 | /// </summary> | 52 | /// </summary> |
43 | ISymbolDefinitionCreator SymbolDefinitionCreator { get; set; } | 53 | ISymbolDefinitionCreator SymbolDefinitionCreator { get; set; } |
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 | |||
@@ -28,6 +28,16 @@ namespace WixToolset.Extensibility.Data | |||
28 | IReadOnlyCollection<string> IncludeSearchPaths { get; set; } | 28 | IReadOnlyCollection<string> IncludeSearchPaths { get; set; } |
29 | 29 | ||
30 | /// <summary> | 30 | /// <summary> |
31 | /// Intermediate folder. | ||
32 | /// </summary> | ||
33 | string IntermediateFolder { get; set; } | ||
34 | |||
35 | /// <summary> | ||
36 | /// Output path. | ||
37 | /// </summary> | ||
38 | string OutputPath { get; set; } | ||
39 | |||
40 | /// <summary> | ||
31 | /// Gets the platform which the compiler will use when defaulting 64-bit attributes and elements. | 41 | /// Gets the platform which the compiler will use when defaulting 64-bit attributes and elements. |
32 | /// </summary> | 42 | /// </summary> |
33 | /// <value>The platform which the compiler will use when defaulting 64-bit attributes and elements.</value> | 43 | /// <value>The platform which the compiler will use when defaulting 64-bit attributes and elements.</value> |
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 | |||
@@ -58,6 +58,11 @@ namespace WixToolset.Extensibility.Data | |||
58 | bool AllowUnresolvedVariables { get; set; } | 58 | bool AllowUnresolvedVariables { get; set; } |
59 | 59 | ||
60 | /// <summary> | 60 | /// <summary> |
61 | /// Output path. | ||
62 | /// </summary> | ||
63 | string OutputPath { get; set; } | ||
64 | |||
65 | /// <summary> | ||
61 | /// Cancellation token. | 66 | /// Cancellation token. |
62 | /// </summary> | 67 | /// </summary> |
63 | CancellationToken CancellationToken { get; set; } | 68 | CancellationToken CancellationToken { get; set; } |