aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/Resolver.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core/Resolver.cs')
-rw-r--r--src/WixToolset.Core/Resolver.cs25
1 files changed, 7 insertions, 18 deletions
diff --git a/src/WixToolset.Core/Resolver.cs b/src/WixToolset.Core/Resolver.cs
index 12cb375b..98101f16 100644
--- a/src/WixToolset.Core/Resolver.cs
+++ b/src/WixToolset.Core/Resolver.cs
@@ -15,7 +15,7 @@ namespace WixToolset.Core
15 /// <summary> 15 /// <summary>
16 /// Resolver for the WiX toolset. 16 /// Resolver for the WiX toolset.
17 /// </summary> 17 /// </summary>
18 internal class Resolver 18 internal class Resolver : IResolver
19 { 19 {
20 internal Resolver(IServiceProvider serviceProvider) 20 internal Resolver(IServiceProvider serviceProvider)
21 { 21 {
@@ -38,21 +38,10 @@ namespace WixToolset.Core
38 38
39 public IEnumerable<string> FilterCultures { get; set; } 39 public IEnumerable<string> FilterCultures { get; set; }
40 40
41 public ResolveResult Execute() 41 public ResolveResult Resolve(IResolveContext context)
42 { 42 {
43 var extensionManager = this.ServiceProvider.GetService<IExtensionManager>(); 43
44 44 foreach (var extension in context.Extensions)
45 var context = this.ServiceProvider.GetService<IResolveContext>();
46 context.BindPaths = this.BindPaths;
47 context.Extensions = extensionManager.Create<IResolverExtension>();
48 context.ExtensionData = extensionManager.Create<IExtensionData>();
49 context.FilterCultures = this.FilterCultures;
50 context.IntermediateFolder = this.IntermediateFolder;
51 context.IntermediateRepresentation = this.IntermediateRepresentation;
52 context.Localizations = this.Localizations;
53 context.VariableResolver = new WixVariableResolver(this.Messaging);
54
55 foreach (IResolverExtension extension in context.Extensions)
56 { 45 {
57 extension.PreResolve(context); 46 extension.PreResolve(context);
58 } 47 }
@@ -64,11 +53,11 @@ namespace WixToolset.Core
64 53
65 this.LocalizeUI(context); 54 this.LocalizeUI(context);
66 55
67 resolveResult = this.Resolve(context); 56 resolveResult = this.DoResolve(context);
68 } 57 }
69 finally 58 finally
70 { 59 {
71 foreach (IResolverExtension extension in context.Extensions) 60 foreach (var extension in context.Extensions)
72 { 61 {
73 extension.PostResolve(resolveResult); 62 extension.PostResolve(resolveResult);
74 } 63 }
@@ -77,7 +66,7 @@ namespace WixToolset.Core
77 return resolveResult; 66 return resolveResult;
78 } 67 }
79 68
80 private ResolveResult Resolve(IResolveContext context) 69 private ResolveResult DoResolve(IResolveContext context)
81 { 70 {
82 var buildingPatch = context.IntermediateRepresentation.Sections.Any(s => s.Type == SectionType.Patch); 71 var buildingPatch = context.IntermediateRepresentation.Sections.Any(s => s.Type == SectionType.Patch);
83 72