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/Compiler.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/Compiler.cs')
| -rw-r--r-- | src/WixToolset.Core/Compiler.cs | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/src/WixToolset.Core/Compiler.cs b/src/WixToolset.Core/Compiler.cs index 7d09be6d..ffe907e8 100644 --- a/src/WixToolset.Core/Compiler.cs +++ b/src/WixToolset.Core/Compiler.cs | |||
| @@ -22,7 +22,7 @@ namespace WixToolset.Core | |||
| 22 | /// <summary> | 22 | /// <summary> |
| 23 | /// Compiler of the WiX toolset. | 23 | /// Compiler of the WiX toolset. |
| 24 | /// </summary> | 24 | /// </summary> |
| 25 | internal class Compiler | 25 | internal class Compiler : ICompiler |
| 26 | { | 26 | { |
| 27 | public const string UpgradeDetectedProperty = "WIX_UPGRADE_DETECTED"; | 27 | public const string UpgradeDetectedProperty = "WIX_UPGRADE_DETECTED"; |
| 28 | public const string UpgradePreventedCondition = "NOT WIX_UPGRADE_DETECTED"; | 28 | public const string UpgradePreventedCondition = "NOT WIX_UPGRADE_DETECTED"; |
| @@ -84,14 +84,6 @@ namespace WixToolset.Core | |||
| 84 | 84 | ||
| 85 | private CompilerCore Core { get; set; } | 85 | private CompilerCore Core { get; set; } |
| 86 | 86 | ||
| 87 | public string CompliationId { get; set; } | ||
| 88 | |||
| 89 | public string OutputPath { get; set; } | ||
| 90 | |||
| 91 | public Platform Platform { get; set; } | ||
| 92 | |||
| 93 | public XDocument SourceDocument { get; set; } | ||
| 94 | |||
| 95 | /// <summary> | 87 | /// <summary> |
| 96 | /// Gets or sets the platform which the compiler will use when defaulting 64-bit attributes and elements. | 88 | /// Gets or sets the platform which the compiler will use when defaulting 64-bit attributes and elements. |
| 97 | /// </summary> | 89 | /// </summary> |
| @@ -109,22 +101,17 @@ namespace WixToolset.Core | |||
| 109 | /// </summary> | 101 | /// </summary> |
| 110 | /// <returns>Intermediate object representing compiled source document.</returns> | 102 | /// <returns>Intermediate object representing compiled source document.</returns> |
| 111 | /// <remarks>This method is not thread-safe.</remarks> | 103 | /// <remarks>This method is not thread-safe.</remarks> |
| 112 | public Intermediate Execute() | 104 | public Intermediate Compile(ICompileContext context) |
| 113 | { | 105 | { |
| 114 | this.Context = this.ServiceProvider.GetService<ICompileContext>(); | ||
| 115 | this.Context.Extensions = this.ServiceProvider.GetService<IExtensionManager>().Create<ICompilerExtension>(); | ||
| 116 | this.Context.CompilationId = this.CompliationId; | ||
| 117 | this.Context.OutputPath = this.OutputPath; | ||
| 118 | this.Context.Platform = this.Platform; | ||
| 119 | this.Context.Source = this.SourceDocument; | ||
| 120 | |||
| 121 | var target = new Intermediate(); | 106 | var target = new Intermediate(); |
| 122 | 107 | ||
| 123 | if (String.IsNullOrEmpty(this.Context.CompilationId)) | 108 | if (String.IsNullOrEmpty(context.CompilationId)) |
| 124 | { | 109 | { |
| 125 | this.Context.CompilationId = target.Id; | 110 | context.CompilationId = target.Id; |
| 126 | } | 111 | } |
| 127 | 112 | ||
| 113 | this.Context = context; | ||
| 114 | |||
| 128 | var extensionsByNamespace = new Dictionary<XNamespace, ICompilerExtension>(); | 115 | var extensionsByNamespace = new Dictionary<XNamespace, ICompilerExtension>(); |
| 129 | 116 | ||
| 130 | foreach (var extension in this.Context.Extensions) | 117 | foreach (var extension in this.Context.Extensions) |
