From 13c7babf53b7c87e0147ea21732d2473477ac8cb Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 19 Mar 2021 10:29:21 -0700 Subject: Minor code cleanup --- .../Bind/BindDatabaseCommand.cs | 4 ++-- .../Bind/CabinetBuilder.cs | 27 +++++++++------------- .../Bind/GenerateDatabaseCommand.cs | 18 +++++++-------- 3 files changed, 21 insertions(+), 28 deletions(-) diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index f645c85e..fb5d7b83 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs @@ -502,9 +502,9 @@ namespace WixToolset.Core.WindowsInstaller.Bind } // Generate database file. - this.Messaging.Write(VerboseMessages.GeneratingDatabase()); - { + this.Messaging.Write(VerboseMessages.GeneratingDatabase()); + var trackMsi = this.WindowsInstallerBackendHelper.TrackFile(this.OutputPath, TrackedFileType.Final); trackedFiles.Add(trackMsi); diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs index 382e6515..13b079ad 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs @@ -3,7 +3,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind { using System; - using System.Collections; + using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading; @@ -17,9 +17,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind /// internal sealed class CabinetBuilder { - private readonly object lockObject = new object(); - - private readonly Queue cabinetWorkItems; + private readonly Queue cabinetWorkItems; private int threadCount; // Address of Binder's callback function for Cabinet Splitting @@ -35,10 +33,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind { if (0 >= threadCount) { - throw new ArgumentOutOfRangeException("threadCount"); + throw new ArgumentOutOfRangeException(nameof(threadCount)); } - this.cabinetWorkItems = new Queue(); + this.cabinetWorkItems = new Queue(); this.Messaging = messaging; this.threadCount = threadCount; @@ -65,23 +63,20 @@ namespace WixToolset.Core.WindowsInstaller.Bind public void CreateQueuedCabinets() { // don't create more threads than the number of cabinets to build - if (this.cabinetWorkItems.Count < this.threadCount) - { - this.threadCount = this.cabinetWorkItems.Count; - } + var numberOfThreads = Math.Min(this.threadCount, this.cabinetWorkItems.Count); - if (0 < this.threadCount) + if (0 < numberOfThreads) { - Thread[] threads = new Thread[this.threadCount]; + var threads = new Thread[numberOfThreads]; - for (int i = 0; i < threads.Length; i++) + for (var i = 0; i < threads.Length; i++) { threads[i] = new Thread(new ThreadStart(this.ProcessWorkItems)); threads[i].Start(); } // wait for all threads to finish - foreach (Thread thread in threads) + foreach (var thread in threads) { thread.Join(); } @@ -109,7 +104,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind break; } - cabinetWorkItem = (CabinetWorkItem)this.cabinetWorkItems.Dequeue(); + cabinetWorkItem = this.cabinetWorkItems.Dequeue(); } // create a cabinet @@ -134,7 +129,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind { this.Messaging.Write(VerboseMessages.CreateCabinet(cabinetWorkItem.CabinetFile)); - int maxCabinetSize = 0; // The value of 0 corresponds to default of 2GB which means no cabinet splitting + var maxCabinetSize = 0; // The value of 0 corresponds to default of 2GB which means no cabinet splitting ulong maxPreCompressedSizeInBytes = 0; if (this.MaximumCabinetSizeForLargeFileSplitting != 0) diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs index 06fbf072..f125f497 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs @@ -16,6 +16,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind internal class GenerateDatabaseCommand { + private const string IdtsSubFolder = "_idts"; + public GenerateDatabaseCommand(IMessaging messaging, IBackendHelper backendHelper, FileSystemManager fileSystemManager, WindowsInstallerData data, string outputPath, TableDefinitionCollection tableDefinitions, string intermediateFolder, int codepage, bool keepAddedColumns, bool suppressAddingValidationRows, bool useSubdirectory) { this.Messaging = messaging; @@ -77,7 +79,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind baseDirectory = Path.Combine(baseDirectory, filename); } - var idtFolder = Path.Combine(baseDirectory, "_idts"); + var idtFolder = Path.Combine(baseDirectory, IdtsSubFolder); var type = OpenDatabase.CreateDirect; @@ -94,10 +96,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind try { -#if DEBUG - Console.WriteLine("Opening database at: {0}", this.OutputPath); -#endif - Directory.CreateDirectory(Path.GetDirectoryName(this.OutputPath)); Directory.CreateDirectory(idtFolder); @@ -221,8 +219,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind var command = new CreateIdtFileCommand(this.Messaging, importTable, this.Data.Codepage, idtDirectory, this.KeepAddedColumns); command.Execute(); - var buildOutput = this.BackendHelper.TrackFile(command.IdtPath, TrackedFileType.Temporary); - this.GeneratedTemporaryFiles.Add(buildOutput); + var trackIdt = this.BackendHelper.TrackFile(command.IdtPath, TrackedFileType.Temporary); + this.GeneratedTemporaryFiles.Add(trackIdt); db.Import(command.IdtPath); } @@ -401,8 +399,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind idtFile.WriteLine("\t_ForceCodepage"); } - var trackId = this.BackendHelper.TrackFile(idtPath, TrackedFileType.Temporary); - this.GeneratedTemporaryFiles.Add(trackId); + var trackIdt = this.BackendHelper.TrackFile(idtPath, TrackedFileType.Temporary); + this.GeneratedTemporaryFiles.Add(trackIdt); // Try to import the table into the MSI. try @@ -411,7 +409,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind } catch (WixInvalidIdtException) { - // The IDT should be valid, so an invalid code page was given. + // The IDT should always be generated correctly, so an invalid code page was given. throw new WixException(ErrorMessages.IllegalCodepage(codepage)); } } -- cgit v1.2.3-55-g6feb