@joebigelow / wix / commits / d282f53f

Allow file resolution extensions to send paths checked for file

Rob Mensching committed Jul 27, 2018 at 00:29 UTC d282f53f254d378800c5ee53f8ff6a3586d7abfa
4 files changed +16 -3
src/WixToolset.Extensibility/BaseResolverExtension.cs
+1 -1
@@ -31,7 +31,7 @@ namespace WixToolset.Extensibility
31 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
32 }
33
34 - public virtual string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage)
34 + public virtual ResolveFileResult ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage)
35 {
36 return null;
37 }
src/WixToolset.Extensibility/Data/ResolveFileResult.cs new
+13
@@ -0,0 +1,13 @@
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.Collections.Generic;
6 +
7 + public class ResolveFileResult
8 + {
9 + public string Path { get; set; }
10 +
11 + public IEnumerable<string> CheckedPaths { get; set; }
12 + }
13 +}
\ No newline at end of file
src/WixToolset.Extensibility/ILibrarianExtension.cs
+1 -1
@@ -9,7 +9,7 @@ namespace WixToolset.Extensibility
9 {
10 void PreCombine(ILibraryContext context);
11
12 - string Resolve(SourceLineNumber sourceLineNumber, IntermediateTupleDefinition tupleDefinition, string path);
12 + ResolveFileResult ResolveFile(SourceLineNumber sourceLineNumber, IntermediateTupleDefinition tupleDefinition, string path);
13
14 void PostCombine(Intermediate library);
15 }
src/WixToolset.Extensibility/IResolverExtension.cs
+1 -1
@@ -15,7 +15,7 @@ namespace WixToolset.Extensibility
15 /// </summary>
16 void PreResolve(IResolveContext context);
17
18 - string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage);
18 + ResolveFileResult ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage);
19
20 /// <summary>
21 /// Called after all resolving occurs.