diff options
| author | Rob Mensching <rob@firegiant.com> | 2017-12-22 15:53:01 -0800 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2017-12-22 15:53:01 -0800 |
| commit | ecf3a0cca5a424a91ab98557d963d2535963d582 (patch) | |
| tree | 06355e906e5c404480dc6eac342b9b4d2ec9d122 /src/WixToolset.Core/Resolver.cs | |
| parent | dc9f4c329e6f55ce7595970463e0caf148096f4b (diff) | |
| download | wix-ecf3a0cca5a424a91ab98557d963d2535963d582.tar.gz wix-ecf3a0cca5a424a91ab98557d963d2535963d582.tar.bz2 wix-ecf3a0cca5a424a91ab98557d963d2535963d582.zip | |
Reintroduce binder extensions and light.exe for binding .wixouts
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 | } |
