aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.Burn/Bind
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-02-23 09:23:01 -0800
committerRob Mensching <rob@firegiant.com>2021-02-27 07:47:08 -0800
commit52f4ea0a7d85c2c83c7d6c771a3bdc6dd74fdbc0 (patch)
tree20b58ee7e2b7c724c477ef6e95a8ed4ebbfa8a92 /src/WixToolset.Core.Burn/Bind
parentda9f4cf9627ca628f87f0938414795258190439b (diff)
downloadwix-52f4ea0a7d85c2c83c7d6c771a3bdc6dd74fdbc0.tar.gz
wix-52f4ea0a7d85c2c83c7d6c771a3bdc6dd74fdbc0.tar.bz2
wix-52f4ea0a7d85c2c83c7d6c771a3bdc6dd74fdbc0.zip
Integrate the latest Extensibility changes
Diffstat (limited to 'src/WixToolset.Core.Burn/Bind')
-rw-r--r--src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs21
-rw-r--r--src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs6
2 files changed, 16 insertions, 11 deletions
diff --git a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
index dea1f47d..93620e1b 100644
--- a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
+++ b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
@@ -23,7 +23,7 @@ namespace WixToolset.Core.Burn
23 /// </summary> 23 /// </summary>
24 internal class BindBundleCommand 24 internal class BindBundleCommand
25 { 25 {
26 public BindBundleCommand(IBindContext context, IEnumerable<IBurnBackendExtension> backedExtensions) 26 public BindBundleCommand(IBindContext context, IEnumerable<IBurnBackendBinderExtension> backedExtensions)
27 { 27 {
28 this.ServiceProvider = context.ServiceProvider; 28 this.ServiceProvider = context.ServiceProvider;
29 29
@@ -58,7 +58,7 @@ namespace WixToolset.Core.Burn
58 58
59 public IEnumerable<IExpectedExtractFile> ExpectedEmbeddedFiles { get; } 59 public IEnumerable<IExpectedExtractFile> ExpectedEmbeddedFiles { get; }
60 60
61 private IEnumerable<IBurnBackendExtension> BackendExtensions { get; } 61 private IEnumerable<IBurnBackendBinderExtension> BackendExtensions { get; }
62 62
63 private Intermediate Output { get; } 63 private Intermediate Output { get; }
64 64
@@ -380,16 +380,21 @@ namespace WixToolset.Core.Burn
380 // Update the bundle per-machine/per-user scope based on the chained packages. 380 // Update the bundle per-machine/per-user scope based on the chained packages.
381 this.ResolveBundleInstallScope(section, bundleSymbol, orderedFacades); 381 this.ResolveBundleInstallScope(section, bundleSymbol, orderedFacades);
382 382
383 // Generate data for all manifests. 383 // Give the extension one last hook before generating the output files.
384 foreach (var extension in this.BackendExtensions)
384 { 385 {
385 var command = new GenerateManifestDataFromIRCommand(this.Messaging, section, this.BackendExtensions, this.InternalBurnBackendHelper, extensionSearchSymbolsById); 386 extension.SymbolsFinalized(section);
386 command.Execute();
387 } 387 }
388 388
389 // Give the extension one last hook before generating the output files. 389 if (this.Messaging.EncounteredError)
390 foreach (var extension in this.BackendExtensions)
391 { 390 {
392 extension.BundleFinalize(); 391 return;
392 }
393
394 // Generate data for all manifests.
395 {
396 var command = new GenerateManifestDataFromIRCommand(this.Messaging, section, this.BackendExtensions, this.InternalBurnBackendHelper, extensionSearchSymbolsById);
397 command.Execute();
393 } 398 }
394 399
395 if (this.Messaging.EncounteredError) 400 if (this.Messaging.EncounteredError)
diff --git a/src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs b/src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs
index 93a1a0bc..c51d380c 100644
--- a/src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs
+++ b/src/WixToolset.Core.Burn/Bind/GenerateManifestDataFromIRCommand.cs
@@ -16,7 +16,7 @@ namespace WixToolset.Core.Burn.Bind
16 16
17 internal class GenerateManifestDataFromIRCommand 17 internal class GenerateManifestDataFromIRCommand
18 { 18 {
19 public GenerateManifestDataFromIRCommand(IMessaging messaging, IntermediateSection section, IEnumerable<IBurnBackendExtension> backendExtensions, IBurnBackendHelper backendHelper, IDictionary<string, IList<IntermediateSymbol>> extensionSearchSymbolsById) 19 public GenerateManifestDataFromIRCommand(IMessaging messaging, IntermediateSection section, IEnumerable<IBurnBackendBinderExtension> backendExtensions, IBurnBackendHelper backendHelper, IDictionary<string, IList<IntermediateSymbol>> extensionSearchSymbolsById)
20 { 20 {
21 this.Messaging = messaging; 21 this.Messaging = messaging;
22 this.Section = section; 22 this.Section = section;
@@ -25,7 +25,7 @@ namespace WixToolset.Core.Burn.Bind
25 this.ExtensionSearchSymbolsById = extensionSearchSymbolsById; 25 this.ExtensionSearchSymbolsById = extensionSearchSymbolsById;
26 } 26 }
27 27
28 private IEnumerable<IBurnBackendExtension> BackendExtensions { get; } 28 private IEnumerable<IBurnBackendBinderExtension> BackendExtensions { get; }
29 29
30 private IBurnBackendHelper BackendHelper { get; } 30 private IBurnBackendHelper BackendHelper { get; }
31 31
@@ -220,7 +220,7 @@ namespace WixToolset.Core.Burn.Bind
220 { 220 {
221 foreach (var extension in this.BackendExtensions) 221 foreach (var extension in this.BackendExtensions)
222 { 222 {
223 if (extension.TryAddSymbolToDataManifest(this.Section, symbol)) 223 if (extension.TryProcessSymbol(this.Section, symbol))
224 { 224 {
225 return true; 225 return true;
226 } 226 }