diff options
Diffstat (limited to 'src/WixToolset.Core/Resolver.cs')
-rw-r--r-- | src/WixToolset.Core/Resolver.cs | 25 |
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 | ||