diff options
Diffstat (limited to 'src/WixToolset.Core/Bind/FileResolver.cs')
-rw-r--r-- | src/WixToolset.Core/Bind/FileResolver.cs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/WixToolset.Core/Bind/FileResolver.cs b/src/WixToolset.Core/Bind/FileResolver.cs index a67d784d..b1676fad 100644 --- a/src/WixToolset.Core/Bind/FileResolver.cs +++ b/src/WixToolset.Core/Bind/FileResolver.cs | |||
@@ -70,11 +70,17 @@ namespace WixToolset.Core.Bind | |||
70 | /// <param name="type">Optional type of source file being resolved.</param> | 70 | /// <param name="type">Optional type of source file being resolved.</param> |
71 | /// <param name="sourceLineNumbers">Optional source line of source file being resolved.</param> | 71 | /// <param name="sourceLineNumbers">Optional source line of source file being resolved.</param> |
72 | /// <param name="bindStage">The binding stage used to determine what collection of bind paths will be used</param> | 72 | /// <param name="bindStage">The binding stage used to determine what collection of bind paths will be used</param> |
73 | /// <param name="alreadyCheckedPaths">Optional collection of paths already checked.</param> | ||
73 | /// <returns>Should return a valid path for the stream to be imported.</returns> | 74 | /// <returns>Should return a valid path for the stream to be imported.</returns> |
74 | public string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage) | 75 | public string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage, IEnumerable<string> alreadyCheckedPaths = null) |
75 | { | 76 | { |
76 | var checkedPaths = new List<string>(); | 77 | var checkedPaths = new List<string>(); |
77 | 78 | ||
79 | if (alreadyCheckedPaths != null) | ||
80 | { | ||
81 | checkedPaths.AddRange(alreadyCheckedPaths); | ||
82 | } | ||
83 | |||
78 | foreach (var extension in this.ResolverExtensions) | 84 | foreach (var extension in this.ResolverExtensions) |
79 | { | 85 | { |
80 | var resolved = extension.ResolveFile(source, tupleDefinition, sourceLineNumbers, bindStage); | 86 | var resolved = extension.ResolveFile(source, tupleDefinition, sourceLineNumbers, bindStage); |