aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.Burn/BundleBackend.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2019-10-07 11:18:13 -0700
committerRob Mensching <rob@firegiant.com>2019-10-07 11:59:14 -0700
commit860676fa5b40a1904478151e9b4934c004e7db63 (patch)
tree83fabd53f2a68dcf56bc8da66d88e115af3764b0 /src/WixToolset.Core.Burn/BundleBackend.cs
parent3b98dac62b47d590f3465985362d6e6fd100b1c0 (diff)
downloadwix-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.cs28
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);