diff options
author | Rob Mensching <rob@firegiant.com> | 2022-02-23 15:15:10 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2022-02-23 18:33:52 -0800 |
commit | bc101e0424d627ca79f79b30e9fccf61db722466 (patch) | |
tree | c996242aba6e876e91f70413be7fdb7142471304 /src/api | |
parent | 72a63a97f062c1755a2edc4afe45c17bec68ddcf (diff) | |
download | wix-bc101e0424d627ca79f79b30e9fccf61db722466.tar.gz wix-bc101e0424d627ca79f79b30e9fccf61db722466.tar.bz2 wix-bc101e0424d627ca79f79b30e9fccf61db722466.zip |
Fix wixlib, msm, msi incremental build
Simplify and improves the tracking of input and intermediate files
to fix incremental build issues for wixlibs, merge modules and MSI
databases.
Diffstat (limited to 'src/api')
3 files changed, 46 insertions, 4 deletions
diff --git a/src/api/wix/WixToolset.Extensibility/BaseLibrarianExtension.cs b/src/api/wix/WixToolset.Extensibility/BaseLibrarianExtension.cs index cbc9e4ba..ff5edae3 100644 --- a/src/api/wix/WixToolset.Extensibility/BaseLibrarianExtension.cs +++ b/src/api/wix/WixToolset.Extensibility/BaseLibrarianExtension.cs | |||
@@ -48,8 +48,8 @@ namespace WixToolset.Extensibility | |||
48 | /// <summary> | 48 | /// <summary> |
49 | /// Called at the end of combining. | 49 | /// Called at the end of combining. |
50 | /// </summary> | 50 | /// </summary> |
51 | /// <param name="library">Combined library intermediate.</param> | 51 | /// <param name="result">Combined library result.</param> |
52 | public virtual void PostCombine(Intermediate library) | 52 | public virtual void PostCombine(ILibraryResult result) |
53 | { | 53 | { |
54 | } | 54 | } |
55 | 55 | ||
diff --git a/src/api/wix/WixToolset.Extensibility/Data/ILibraryResult.cs b/src/api/wix/WixToolset.Extensibility/Data/ILibraryResult.cs new file mode 100644 index 00000000..6974e265 --- /dev/null +++ b/src/api/wix/WixToolset.Extensibility/Data/ILibraryResult.cs | |||
@@ -0,0 +1,25 @@ | |||
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 | using System; | ||
6 | using System.Collections.Generic; | ||
7 | using System.Threading; | ||
8 | using WixToolset.Data; | ||
9 | |||
10 | /// <summary> | ||
11 | /// Result of a library combine operation. | ||
12 | /// </summary> | ||
13 | public interface ILibraryResult | ||
14 | { | ||
15 | /// <summary> | ||
16 | /// Collection of files tracked when binding files into the library. | ||
17 | /// </summary> | ||
18 | IReadOnlyCollection<ITrackedFile> TrackedFiles { get; set; } | ||
19 | |||
20 | /// <summary> | ||
21 | /// Output of librarian. | ||
22 | /// </summary> | ||
23 | Intermediate Library { get; set; } | ||
24 | } | ||
25 | } | ||
diff --git a/src/api/wix/WixToolset.Extensibility/ILibrarianExtension.cs b/src/api/wix/WixToolset.Extensibility/ILibrarianExtension.cs index d9b04cd2..d25da5e4 100644 --- a/src/api/wix/WixToolset.Extensibility/ILibrarianExtension.cs +++ b/src/api/wix/WixToolset.Extensibility/ILibrarianExtension.cs | |||
@@ -5,13 +5,30 @@ namespace WixToolset.Extensibility | |||
5 | using WixToolset.Data; | 5 | using WixToolset.Data; |
6 | using WixToolset.Extensibility.Data; | 6 | using WixToolset.Extensibility.Data; |
7 | 7 | ||
8 | #pragma warning disable 1591 // TODO: add documentation | 8 | /// <summary> |
9 | /// Interface all librarian extensions implement. | ||
10 | /// </summary> | ||
9 | public interface ILibrarianExtension | 11 | public interface ILibrarianExtension |
10 | { | 12 | { |
13 | /// <summary> | ||
14 | /// Called at the beginning of combining. | ||
15 | /// </summary> | ||
16 | /// <param name="context">Librarian context.</param> | ||
11 | void PreCombine(ILibraryContext context); | 17 | void PreCombine(ILibraryContext context); |
12 | 18 | ||
19 | /// <summary> | ||
20 | /// Resolves a path to a file path on disk. | ||
21 | /// </summary> | ||
22 | /// <param name="sourceLineNumber">Source line number for the path to resolve.</param> | ||
23 | /// <param name="symbolDefinition">Symbol related to the path to resolve.</param> | ||
24 | /// <param name="path">Path to resolve.</param> | ||
25 | /// <returns>Optional resolved file result.</returns> | ||
13 | IResolveFileResult ResolveFile(SourceLineNumber sourceLineNumber, IntermediateSymbolDefinition symbolDefinition, string path); | 26 | IResolveFileResult ResolveFile(SourceLineNumber sourceLineNumber, IntermediateSymbolDefinition symbolDefinition, string path); |
14 | 27 | ||
15 | void PostCombine(Intermediate library); | 28 | /// <summary> |
29 | /// Called at the end of combining. | ||
30 | /// </summary> | ||
31 | /// <param name="result">Combined library result.</param> | ||
32 | void PostCombine(ILibraryResult result); | ||
16 | } | 33 | } |
17 | } | 34 | } |