From 96d37e2e21e8daec7bb90a788e667e2022fb7ec9 Mon Sep 17 00:00:00 2001 From: Dmitry Kovba Date: Tue, 9 Dec 2025 12:32:09 -0800 Subject: [PATCH] Fix multi-sentence error messages (#443) Fixes multi-sentence error messages, where they start from a lowercased letter. --- .../Image/ImageStore/ImageStore+Import.swift | 2 +- .../Containerization/Image/ImageStore/ImageStore.swift | 2 +- Sources/ContainerizationArchive/ArchiveError.swift | 8 ++++---- .../ContainerizationOCI/Client/LocalOCILayoutClient.swift | 2 +- Sources/ContainerizationOCI/Content/ContentWriter.swift | 2 +- Sources/ContainerizationOCI/Reference.swift | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Sources/Containerization/Image/ImageStore/ImageStore+Import.swift b/Sources/Containerization/Image/ImageStore/ImageStore+Import.swift index e55d2d74..9f42ba83 100644 --- a/Sources/Containerization/Image/ImageStore/ImageStore+Import.swift +++ b/Sources/Containerization/Image/ImageStore/ImageStore+Import.swift @@ -209,7 +209,7 @@ extension ImageStore { throw ContainerizationError( .internalError, message: - "descriptor \(root.mediaType) with digest \(root.digest) does not list any supported platform or supports more than one platform. Supported platforms = \(supportedPlatforms)" + "descriptor \(root.mediaType) with digest \(root.digest) does not list any supported platform or supports more than one platform, supported platforms: \(supportedPlatforms)" ) } let platform = supportedPlatforms.first! diff --git a/Sources/Containerization/Image/ImageStore/ImageStore.swift b/Sources/Containerization/Image/ImageStore/ImageStore.swift index fde673c7..7db197ff 100644 --- a/Sources/Containerization/Image/ImageStore/ImageStore.swift +++ b/Sources/Containerization/Image/ImageStore/ImageStore.swift @@ -208,7 +208,7 @@ extension ImageStore { do { _ = try Reference.parse(new) } catch { - throw ContainerizationError(.invalidArgument, message: "invalid reference \(new). Error: \(error)") + throw ContainerizationError(.invalidArgument, message: "invalid reference \(new), error: \(error)") } let newDescription = Image.Description(reference: new, descriptor: descriptor) return try await self.create(description: newDescription) diff --git a/Sources/ContainerizationArchive/ArchiveError.swift b/Sources/ContainerizationArchive/ArchiveError.swift index f4a43d95..be30d19c 100644 --- a/Sources/ContainerizationArchive/ArchiveError.swift +++ b/Sources/ContainerizationArchive/ArchiveError.swift @@ -55,13 +55,13 @@ public enum ArchiveError: Error, CustomStringConvertible { case .unableToAddFilter(let code, let name): return "unable to set the archive filter \(name), code \(code)" case .unableToWriteEntryHeader(let code): - return "unable to write the entry header to the archive. Error code \(code)" + return "unable to write the entry header to the archive, code \(code)" case .unableToWriteData(let code): - return "unable to write data to the archive. Error code \(code)" + return "unable to write data to the archive, code \(code)" case .unableToCloseArchive(let code): - return "unable to close the archive. Error code \(code)" + return "unable to close the archive, code \(code)" case .unableToOpenArchive(let code): - return "unable to open the archive. Error code \(code)" + return "unable to open the archive, code \(code)" case .unableToSetOption(_): return "unable to set an option on the archive." case .failedToSetLocale(let locales): diff --git a/Sources/ContainerizationOCI/Client/LocalOCILayoutClient.swift b/Sources/ContainerizationOCI/Client/LocalOCILayoutClient.swift index b843133d..2ec58ac7 100644 --- a/Sources/ContainerizationOCI/Client/LocalOCILayoutClient.swift +++ b/Sources/ContainerizationOCI/Client/LocalOCILayoutClient.swift @@ -87,7 +87,7 @@ package final class LocalOCILayoutClient: ContentClient { throw ContainerizationError( .internalError, message: - "file \(filePath) exists but contains different content. expected digest: \(expectedDigest.digestString), existing digest: \(existingDigest.digestString)" + "file \(filePath) exists but contains different content, expected digest: \(expectedDigest.digestString), existing digest: \(existingDigest.digestString)" ) } diff --git a/Sources/ContainerizationOCI/Content/ContentWriter.swift b/Sources/ContainerizationOCI/Content/ContentWriter.swift index f6e330a0..0e70edcc 100644 --- a/Sources/ContainerizationOCI/Content/ContentWriter.swift +++ b/Sources/ContainerizationOCI/Content/ContentWriter.swift @@ -36,7 +36,7 @@ public class ContentWriter { let exists = FileManager.default.fileExists(atPath: base.path, isDirectory: &isDirectory) guard exists && isDirectory.boolValue else { - throw ContainerizationError(.internalError, message: "cannot create ContentWriter for path \(base.absolutePath()). Not a directory") + throw ContainerizationError(.internalError, message: "cannot create ContentWriter for path \(base.absolutePath()), not a directory") } } diff --git a/Sources/ContainerizationOCI/Reference.swift b/Sources/ContainerizationOCI/Reference.swift index c4a7d8cf..bb3d8a40 100644 --- a/Sources/ContainerizationOCI/Reference.swift +++ b/Sources/ContainerizationOCI/Reference.swift @@ -188,7 +188,7 @@ public class Reference: CustomStringConvertible { tag = fields["tag"] ?? "" if tag.isEmpty { - throw ContainerizationError(.invalidArgument, message: "invalid format for image reference. Missing tag") + throw ContainerizationError(.invalidArgument, message: "invalid format for image reference, missing tag") } return try Reference(path: self.path, domain: self.domain, tag: tag) } @@ -202,7 +202,7 @@ public class Reference: CustomStringConvertible { digest = fields["digest"] ?? "" if digest.isEmpty { - throw ContainerizationError(.invalidArgument, message: "invalid format for image reference. Missing digest") + throw ContainerizationError(.invalidArgument, message: "invalid format for image reference, missing digest") } return try Reference(path: self.path, domain: self.domain, digest: digest) }