From 860676fa5b40a1904478151e9b4934c004e7db63 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Mon, 7 Oct 2019 11:18:13 -0700 Subject: Implement Bundle build --- src/WixToolset.Core.Burn/BundleBackend.cs | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'src/WixToolset.Core.Burn/BundleBackend.cs') 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 { public IBindResult Bind(IBindContext context) { - BindBundleCommand command = new BindBundleCommand(context); - //command.DefaultCompressionLevel = context.DefaultCompressionLevel; - //command.Extensions = context.Extensions; - //command.IntermediateFolder = context.IntermediateFolder; - //command.Output = context.IntermediateRepresentation; - //command.OutputPath = context.OutputPath; - //command.PdbFile = context.OutputPdbPath; - //command.WixVariableResolver = context.WixVariableResolver; + var extensionManager = context.ServiceProvider.GetService(); + + var backendExtensions = extensionManager.GetServices(); + + foreach (var extension in backendExtensions) + { + extension.PreBackendBind(context); + } + + var command = new BindBundleCommand(context, backendExtensions); command.Execute(); var result = context.ServiceProvider.GetService(); result.FileTransfers = command.FileTransfers; result.TrackedFiles = command.TrackedFiles; + foreach (var extension in backendExtensions) + { + extension.PostBackendBind(result); + } return result; } @@ -53,10 +59,10 @@ namespace WixToolset.Core.Burn public Intermediate Unbind(IUnbindContext context) { - string uxExtractPath = Path.Combine(context.ExportBasePath, "UX"); - string acExtractPath = Path.Combine(context.ExportBasePath, "AttachedContainer"); + var uxExtractPath = Path.Combine(context.ExportBasePath, "UX"); + var acExtractPath = Path.Combine(context.ExportBasePath, "AttachedContainer"); - using (BurnReader reader = BurnReader.Open(context.InputFilePath)) + using (var reader = BurnReader.Open(context.InputFilePath)) { reader.ExtractUXContainer(uxExtractPath, context.IntermediateFolder); reader.ExtractAttachedContainer(acExtractPath, context.IntermediateFolder); -- cgit v1.2.3-55-g6feb