diff options
Diffstat (limited to 'src/WixToolset.Core/Resolver.cs')
-rw-r--r-- | src/WixToolset.Core/Resolver.cs | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/src/WixToolset.Core/Resolver.cs b/src/WixToolset.Core/Resolver.cs index b0d3a189..1b72e3d0 100644 --- a/src/WixToolset.Core/Resolver.cs +++ b/src/WixToolset.Core/Resolver.cs | |||
@@ -16,34 +16,31 @@ namespace WixToolset.Core | |||
16 | /// </summary> | 16 | /// </summary> |
17 | public sealed class Resolver | 17 | public sealed class Resolver |
18 | { | 18 | { |
19 | public Resolver(IServiceProvider serviceProvider, IEnumerable<BindPath> bindPaths, Intermediate intermediateRepresentation, string intermediateFolder, IEnumerable<Localization> localizations) | 19 | public Resolver(IServiceProvider serviceProvider) |
20 | { | 20 | { |
21 | this.ServiceProvider = serviceProvider; | 21 | this.ServiceProvider = serviceProvider; |
22 | this.BindPaths = bindPaths; | ||
23 | this.IntermediateRepresentation = intermediateRepresentation; | ||
24 | this.IntermediateFolder = intermediateFolder; | ||
25 | this.Localizations = localizations; | ||
26 | |||
27 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); | ||
28 | } | 22 | } |
29 | 23 | ||
30 | private IServiceProvider ServiceProvider { get; } | 24 | private IServiceProvider ServiceProvider { get; set; } |
31 | 25 | ||
32 | private IEnumerable<BindPath> BindPaths { get; } | 26 | public IEnumerable<BindPath> BindPaths { get; set; } |
33 | 27 | ||
34 | private Intermediate IntermediateRepresentation { get; } | 28 | public Intermediate IntermediateRepresentation { get; set; } |
35 | 29 | ||
36 | private string IntermediateFolder { get; } | 30 | public string IntermediateFolder { get; set; } |
37 | 31 | ||
38 | private IEnumerable<Localization> Localizations { get; } | 32 | public IEnumerable<Localization> Localizations { get; set; } |
39 | 33 | ||
40 | private IMessaging Messaging { get; } | 34 | private IMessaging Messaging { get; set; } |
41 | 35 | ||
42 | public ResolveResult Execute() | 36 | public ResolveResult Execute() |
43 | { | 37 | { |
38 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); | ||
39 | |||
44 | var localizer = new Localizer(this.Messaging, this.Localizations); | 40 | var localizer = new Localizer(this.Messaging, this.Localizations); |
45 | 41 | ||
46 | var variableResolver = new WixVariableResolver(this.Messaging, localizer); | 42 | var variableResolver = new WixVariableResolver(this.Messaging, localizer); |
43 | this.PopulateVariableResolver(variableResolver); | ||
47 | 44 | ||
48 | var context = this.ServiceProvider.GetService<IResolveContext>(); | 45 | var context = this.ServiceProvider.GetService<IResolveContext>(); |
49 | context.Messaging = this.Messaging; | 46 | context.Messaging = this.Messaging; |
@@ -51,7 +48,7 @@ namespace WixToolset.Core | |||
51 | context.Extensions = this.ServiceProvider.GetService<IExtensionManager>().Create<IResolverExtension>(); | 48 | context.Extensions = this.ServiceProvider.GetService<IExtensionManager>().Create<IResolverExtension>(); |
52 | context.IntermediateFolder = this.IntermediateFolder; | 49 | context.IntermediateFolder = this.IntermediateFolder; |
53 | context.IntermediateRepresentation = this.IntermediateRepresentation; | 50 | context.IntermediateRepresentation = this.IntermediateRepresentation; |
54 | context.WixVariableResolver = this.PopulateVariableResolver(variableResolver); | 51 | context.WixVariableResolver = variableResolver; |
55 | 52 | ||
56 | // Preresolve. | 53 | // Preresolve. |
57 | // | 54 | // |
@@ -212,7 +209,7 @@ namespace WixToolset.Core | |||
212 | } | 209 | } |
213 | } | 210 | } |
214 | 211 | ||
215 | private WixVariableResolver PopulateVariableResolver(WixVariableResolver resolver) | 212 | private void PopulateVariableResolver(WixVariableResolver resolver) |
216 | { | 213 | { |
217 | // Gather all the wix variables. | 214 | // Gather all the wix variables. |
218 | var wixVariableTuples = this.IntermediateRepresentation.Sections.SelectMany(s => s.Tuples).OfType<WixVariableTuple>(); | 215 | var wixVariableTuples = this.IntermediateRepresentation.Sections.SelectMany(s => s.Tuples).OfType<WixVariableTuple>(); |
@@ -227,8 +224,6 @@ namespace WixToolset.Core | |||
227 | this.Messaging.Write(ErrorMessages.WixVariableCollision(tuple.SourceLineNumbers, tuple.WixVariable)); | 224 | this.Messaging.Write(ErrorMessages.WixVariableCollision(tuple.SourceLineNumbers, tuple.WixVariable)); |
228 | } | 225 | } |
229 | } | 226 | } |
230 | |||
231 | return resolver; | ||
232 | } | 227 | } |
233 | } | 228 | } |
234 | } | 229 | } |