diff options
| author | Rob Mensching <rob@firegiant.com> | 2019-10-07 11:18:13 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2019-10-07 11:59:14 -0700 |
| commit | 860676fa5b40a1904478151e9b4934c004e7db63 (patch) | |
| tree | 83fabd53f2a68dcf56bc8da66d88e115af3764b0 /src/WixToolset.Core.Burn/BundleBackend.cs | |
| parent | 3b98dac62b47d590f3465985362d6e6fd100b1c0 (diff) | |
| download | wix-860676fa5b40a1904478151e9b4934c004e7db63.tar.gz wix-860676fa5b40a1904478151e9b4934c004e7db63.tar.bz2 wix-860676fa5b40a1904478151e9b4934c004e7db63.zip | |
Implement Bundle build
Diffstat (limited to 'src/WixToolset.Core.Burn/BundleBackend.cs')
| -rw-r--r-- | src/WixToolset.Core.Burn/BundleBackend.cs | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/src/WixToolset.Core.Burn/BundleBackend.cs b/src/WixToolset.Core.Burn/BundleBackend.cs index f859cbec..99442403 100644 --- a/src/WixToolset.Core.Burn/BundleBackend.cs +++ b/src/WixToolset.Core.Burn/BundleBackend.cs | |||
| @@ -15,20 +15,26 @@ namespace WixToolset.Core.Burn | |||
| 15 | { | 15 | { |
| 16 | public IBindResult Bind(IBindContext context) | 16 | public IBindResult Bind(IBindContext context) |
| 17 | { | 17 | { |
| 18 | BindBundleCommand command = new BindBundleCommand(context); | 18 | var extensionManager = context.ServiceProvider.GetService<IExtensionManager>(); |
| 19 | //command.DefaultCompressionLevel = context.DefaultCompressionLevel; | 19 | |
| 20 | //command.Extensions = context.Extensions; | 20 | var backendExtensions = extensionManager.GetServices<IBurnBackendExtension>(); |
| 21 | //command.IntermediateFolder = context.IntermediateFolder; | 21 | |
| 22 | //command.Output = context.IntermediateRepresentation; | 22 | foreach (var extension in backendExtensions) |
| 23 | //command.OutputPath = context.OutputPath; | 23 | { |
| 24 | //command.PdbFile = context.OutputPdbPath; | 24 | extension.PreBackendBind(context); |
| 25 | //command.WixVariableResolver = context.WixVariableResolver; | 25 | } |
| 26 | |||
| 27 | var command = new BindBundleCommand(context, backendExtensions); | ||
| 26 | command.Execute(); | 28 | command.Execute(); |
| 27 | 29 | ||
| 28 | var result = context.ServiceProvider.GetService<IBindResult>(); | 30 | var result = context.ServiceProvider.GetService<IBindResult>(); |
| 29 | result.FileTransfers = command.FileTransfers; | 31 | result.FileTransfers = command.FileTransfers; |
| 30 | result.TrackedFiles = command.TrackedFiles; | 32 | result.TrackedFiles = command.TrackedFiles; |
| 31 | 33 | ||
| 34 | foreach (var extension in backendExtensions) | ||
| 35 | { | ||
| 36 | extension.PostBackendBind(result); | ||
| 37 | } | ||
| 32 | return result; | 38 | return result; |
| 33 | } | 39 | } |
| 34 | 40 | ||
| @@ -53,10 +59,10 @@ namespace WixToolset.Core.Burn | |||
| 53 | 59 | ||
| 54 | public Intermediate Unbind(IUnbindContext context) | 60 | public Intermediate Unbind(IUnbindContext context) |
| 55 | { | 61 | { |
| 56 | string uxExtractPath = Path.Combine(context.ExportBasePath, "UX"); | 62 | var uxExtractPath = Path.Combine(context.ExportBasePath, "UX"); |
| 57 | string acExtractPath = Path.Combine(context.ExportBasePath, "AttachedContainer"); | 63 | var acExtractPath = Path.Combine(context.ExportBasePath, "AttachedContainer"); |
| 58 | 64 | ||
| 59 | using (BurnReader reader = BurnReader.Open(context.InputFilePath)) | 65 | using (var reader = BurnReader.Open(context.InputFilePath)) |
| 60 | { | 66 | { |
| 61 | reader.ExtractUXContainer(uxExtractPath, context.IntermediateFolder); | 67 | reader.ExtractUXContainer(uxExtractPath, context.IntermediateFolder); |
| 62 | reader.ExtractAttachedContainer(acExtractPath, context.IntermediateFolder); | 68 | reader.ExtractAttachedContainer(acExtractPath, context.IntermediateFolder); |
