diff options
author | Bob Arnson <bob@firegiant.com> | 2020-03-17 21:16:55 -0400 |
---|---|---|
committer | Bob Arnson <bob@firegiant.com> | 2020-03-17 21:24:05 -0400 |
commit | f1ddeb81aa8c709582fc11a5711b39da596f4f22 (patch) | |
tree | 1967def37a2f78789150c1c128315f15e50e7c4c /src | |
parent | d097c7deb98803f6e9e46fe20261dd761efeb993 (diff) | |
download | wix-f1ddeb81aa8c709582fc11a5711b39da596f4f22.tar.gz wix-f1ddeb81aa8c709582fc11a5711b39da596f4f22.tar.bz2 wix-f1ddeb81aa8c709582fc11a5711b39da596f4f22.zip |
Partial WixPdbs stop the backend before binding.
Diffstat (limited to 'src')
-rw-r--r-- | src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs | 2 | ||||
-rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | 10 | ||||
-rw-r--r-- | src/WixToolset.Core/BindContext.cs | 4 | ||||
-rw-r--r-- | src/WixToolset.Core/Binder.cs | 2 | ||||
-rw-r--r-- | src/WixToolset.Core/CommandLine/BuildCommand.cs | 32 |
5 files changed, 41 insertions, 9 deletions
diff --git a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs index 283cd115..da655469 100644 --- a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs +++ b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs | |||
@@ -38,7 +38,7 @@ namespace WixToolset.Core.Burn | |||
38 | this.IntermediateFolder = context.IntermediateFolder; | 38 | this.IntermediateFolder = context.IntermediateFolder; |
39 | this.Output = context.IntermediateRepresentation; | 39 | this.Output = context.IntermediateRepresentation; |
40 | this.OutputPath = context.OutputPath; | 40 | this.OutputPath = context.OutputPath; |
41 | this.OutputPdbPath = context.OutputPdbPath; | 41 | this.OutputPdbPath = context.PdbPath; |
42 | //this.VariableResolver = context.VariableResolver; | 42 | //this.VariableResolver = context.VariableResolver; |
43 | 43 | ||
44 | this.BackendExtensions = backedExtensions; | 44 | this.BackendExtensions = backedExtensions; |
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index 67985df6..7412e6da 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | |||
@@ -45,7 +45,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
45 | this.FileSystemExtensions = context.FileSystemExtensions; | 45 | this.FileSystemExtensions = context.FileSystemExtensions; |
46 | this.Intermediate = context.IntermediateRepresentation; | 46 | this.Intermediate = context.IntermediateRepresentation; |
47 | this.OutputPath = context.OutputPath; | 47 | this.OutputPath = context.OutputPath; |
48 | this.OutputPdbPath = context.OutputPdbPath; | 48 | this.OutputPdbPath = context.PdbPath; |
49 | this.PdbType = context.PdbType; | ||
49 | this.IntermediateFolder = context.IntermediateFolder; | 50 | this.IntermediateFolder = context.IntermediateFolder; |
50 | this.SubStorages = subStorages; | 51 | this.SubStorages = subStorages; |
51 | this.Validator = validator; | 52 | this.Validator = validator; |
@@ -85,6 +86,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
85 | 86 | ||
86 | private string OutputPath { get; } | 87 | private string OutputPath { get; } |
87 | 88 | ||
89 | public PdbType PdbType { get; set; } | ||
90 | |||
88 | private string OutputPdbPath { get; } | 91 | private string OutputPdbPath { get; } |
89 | 92 | ||
90 | private bool SuppressAddingValidationRows { get; } | 93 | private bool SuppressAddingValidationRows { get; } |
@@ -213,11 +216,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
213 | return null; | 216 | return null; |
214 | } | 217 | } |
215 | 218 | ||
216 | // Call extension | ||
217 | var ExtensionSaidSkip = false; | ||
218 | |||
219 | WindowsInstallerData output; | 219 | WindowsInstallerData output; |
220 | if (ExtensionSaidSkip) | 220 | if (this.PdbType == PdbType.Partial) |
221 | { | 221 | { |
222 | // Time to create the output object, since we're bypassing everything that touches files. | 222 | // Time to create the output object, since we're bypassing everything that touches files. |
223 | var command = new CreateOutputFromIRCommand(this.Messaging, section, tableDefinitions, this.BackendExtensions); | 223 | var command = new CreateOutputFromIRCommand(this.Messaging, section, tableDefinitions, this.BackendExtensions); |
diff --git a/src/WixToolset.Core/BindContext.cs b/src/WixToolset.Core/BindContext.cs index 7882b22d..67ce744a 100644 --- a/src/WixToolset.Core/BindContext.cs +++ b/src/WixToolset.Core/BindContext.cs | |||
@@ -45,7 +45,9 @@ namespace WixToolset.Core | |||
45 | 45 | ||
46 | public string OutputPath { get; set; } | 46 | public string OutputPath { get; set; } |
47 | 47 | ||
48 | public string OutputPdbPath { get; set; } | 48 | public PdbType PdbType { get; set; } |
49 | |||
50 | public string PdbPath { get; set; } | ||
49 | 51 | ||
50 | public IEnumerable<string> SuppressIces { get; set; } | 52 | public IEnumerable<string> SuppressIces { get; set; } |
51 | 53 | ||
diff --git a/src/WixToolset.Core/Binder.cs b/src/WixToolset.Core/Binder.cs index 29fad7f0..fcf5a669 100644 --- a/src/WixToolset.Core/Binder.cs +++ b/src/WixToolset.Core/Binder.cs | |||
@@ -35,7 +35,7 @@ namespace WixToolset.Core | |||
35 | 35 | ||
36 | // Bind. | 36 | // Bind. |
37 | // | 37 | // |
38 | this.WriteBuildInfoTuple(context.IntermediateRepresentation, context.OutputPath, context.OutputPdbPath); | 38 | this.WriteBuildInfoTuple(context.IntermediateRepresentation, context.OutputPath, context.PdbPath); |
39 | 39 | ||
40 | var bindResult = this.BackendBind(context); | 40 | var bindResult = this.BackendBind(context); |
41 | 41 | ||
diff --git a/src/WixToolset.Core/CommandLine/BuildCommand.cs b/src/WixToolset.Core/CommandLine/BuildCommand.cs index a55fb55b..718b3015 100644 --- a/src/WixToolset.Core/CommandLine/BuildCommand.cs +++ b/src/WixToolset.Core/CommandLine/BuildCommand.cs | |||
@@ -40,6 +40,10 @@ namespace WixToolset.Core.CommandLine | |||
40 | 40 | ||
41 | private List<string> IncludeSearchPaths { get; set; } | 41 | private List<string> IncludeSearchPaths { get; set; } |
42 | 42 | ||
43 | public string PdbFile { get; set; } | ||
44 | |||
45 | public PdbType PdbType { get; set; } | ||
46 | |||
43 | private Platform Platform { get; set; } | 47 | private Platform Platform { get; set; } |
44 | 48 | ||
45 | private string OutputFile { get; set; } | 49 | private string OutputFile { get; set; } |
@@ -64,6 +68,10 @@ namespace WixToolset.Core.CommandLine | |||
64 | 68 | ||
65 | this.IncludeSearchPaths = this.commandLine.IncludeSearchPaths; | 69 | this.IncludeSearchPaths = this.commandLine.IncludeSearchPaths; |
66 | 70 | ||
71 | this.PdbFile = this.commandLine.PdbFile; | ||
72 | |||
73 | this.PdbType = this.commandLine.PdbType; | ||
74 | |||
67 | this.Platform = this.commandLine.Platform; | 75 | this.Platform = this.commandLine.Platform; |
68 | 76 | ||
69 | this.OutputFile = this.commandLine.OutputFile; | 77 | this.OutputFile = this.commandLine.OutputFile; |
@@ -311,7 +319,8 @@ namespace WixToolset.Core.CommandLine | |||
311 | context.IntermediateFolder = intermediateFolder; | 319 | context.IntermediateFolder = intermediateFolder; |
312 | context.IntermediateRepresentation = resolveResult.IntermediateRepresentation; | 320 | context.IntermediateRepresentation = resolveResult.IntermediateRepresentation; |
313 | context.OutputPath = this.OutputFile; | 321 | context.OutputPath = this.OutputFile; |
314 | context.OutputPdbPath = Path.ChangeExtension(this.OutputFile, ".wixpdb"); | 322 | context.PdbType = this.PdbType; |
323 | context.PdbPath = this.PdbType == PdbType.None ? null : this.PdbFile ?? Path.ChangeExtension(this.OutputFile, ".wixpdb"); | ||
315 | context.SuppressIces = Array.Empty<string>(); // TODO: set this correctly | 324 | context.SuppressIces = Array.Empty<string>(); // TODO: set this correctly |
316 | context.SuppressValidation = true; // TODO: set this correctly | 325 | context.SuppressValidation = true; // TODO: set this correctly |
317 | 326 | ||
@@ -433,6 +442,10 @@ namespace WixToolset.Core.CommandLine | |||
433 | 442 | ||
434 | public Platform Platform { get; private set; } | 443 | public Platform Platform { get; private set; } |
435 | 444 | ||
445 | public string PdbFile { get; private set; } | ||
446 | |||
447 | public PdbType PdbType { get; private set; } | ||
448 | |||
436 | public bool ShowLogo { get; private set; } | 449 | public bool ShowLogo { get; private set; } |
437 | 450 | ||
438 | public bool ShowHelp { get; private set; } | 451 | public bool ShowHelp { get; private set; } |
@@ -514,9 +527,11 @@ namespace WixToolset.Core.CommandLine | |||
514 | case "contentsfile": | 527 | case "contentsfile": |
515 | this.ContentsFile = parser.GetNextArgumentAsFilePathOrError(arg); | 528 | this.ContentsFile = parser.GetNextArgumentAsFilePathOrError(arg); |
516 | return true; | 529 | return true; |
530 | |||
517 | case "outputsfile": | 531 | case "outputsfile": |
518 | this.OutputsFile = parser.GetNextArgumentAsFilePathOrError(arg); | 532 | this.OutputsFile = parser.GetNextArgumentAsFilePathOrError(arg); |
519 | return true; | 533 | return true; |
534 | |||
520 | case "builtoutputsfile": | 535 | case "builtoutputsfile": |
521 | this.BuiltOutputsFile = parser.GetNextArgumentAsFilePathOrError(arg); | 536 | this.BuiltOutputsFile = parser.GetNextArgumentAsFilePathOrError(arg); |
522 | return true; | 537 | return true; |
@@ -552,6 +567,21 @@ namespace WixToolset.Core.CommandLine | |||
552 | this.OutputType = parser.GetNextArgumentOrError(arg); | 567 | this.OutputType = parser.GetNextArgumentOrError(arg); |
553 | return true; | 568 | return true; |
554 | 569 | ||
570 | case "pdb": | ||
571 | this.PdbFile = parser.GetNextArgumentAsFilePathOrError(arg); | ||
572 | return true; | ||
573 | |||
574 | case "pdbtype": | ||
575 | { | ||
576 | var value = parser.GetNextArgumentOrError(arg); | ||
577 | if (Enum.TryParse(value, true, out PdbType pdbType)) | ||
578 | { | ||
579 | this.PdbType = pdbType; | ||
580 | return true; | ||
581 | } | ||
582 | break; | ||
583 | } | ||
584 | |||
555 | case "nologo": | 585 | case "nologo": |
556 | this.ShowLogo = false; | 586 | this.ShowLogo = false; |
557 | return true; | 587 | return true; |