diff options
| author | Rob Mensching <rob@firegiant.com> | 2018-10-18 13:42:54 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@robmensching.com> | 2018-10-24 21:17:34 -0700 |
| commit | 13eedbfcf97e402ade06f2be29f98723ef7ff286 (patch) | |
| tree | 50155e7f0e9ee253b709a95b488b1a427fa0e013 /src/WixToolset.Core/Resolver.cs | |
| parent | d98126dc766b9b063d2d26ced62553d4a5a218b5 (diff) | |
| download | wix-13eedbfcf97e402ade06f2be29f98723ef7ff286.tar.gz wix-13eedbfcf97e402ade06f2be29f98723ef7ff286.tar.bz2 wix-13eedbfcf97e402ade06f2be29f98723ef7ff286.zip | |
Extract interfaces for Preprocess/Compile/Link/Bind/etc
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 | ||
