From 4ccb67d7ef6e346aa0d45c95253d35599e2eb0aa Mon Sep 17 00:00:00 2001 From: Christoph Hagen Date: Sun, 8 Jan 2023 21:13:40 +0100 Subject: [PATCH] Remove log files if empty --- Sources/Generator/Processing/FileGenerator.swift | 11 ++++++++++- .../Processing/GenerationResultsHandler.swift | 10 +++++++++- Sources/Generator/Processing/ImageGenerator.swift | 10 +++++++++- Sources/Generator/Processing/MetadataInfoLogger.swift | 10 +++++++++- 4 files changed, 37 insertions(+), 4 deletions(-) diff --git a/Sources/Generator/Processing/FileGenerator.swift b/Sources/Generator/Processing/FileGenerator.swift index 98e1d66..3546460 100644 --- a/Sources/Generator/Processing/FileGenerator.swift +++ b/Sources/Generator/Processing/FileGenerator.swift @@ -259,6 +259,14 @@ final class FileGenerator { } func writeResults(to file: URL) { + guard !unreadableFiles.isEmpty || !unwritableFiles.isEmpty || !failedMinifications.isEmpty || !missingFiles.isEmpty || !copiedFiles.isEmpty || !minifiedFiles.isEmpty || !files.expected.isEmpty || !files.external.isEmpty else { + do { + try FileManager.default.removeItem(at: file) + } catch { + print(" Failed to delete file log: \(error)") + } + return + } var lines: [String] = [] func add(_ name: String, _ property: S, convert: (S.Element) -> String) where S: Sequence { let elements = property.map { " " + convert($0) }.sorted() @@ -275,12 +283,13 @@ final class FileGenerator { add("Copied files", copiedFiles) { $0 } add("Minified files", minifiedFiles) { $0 } add("Expected files", files.expected) { "\($0.key) (required by \($0.value))" } + add("External files", files.external) { "\($0.key) (required by \($0.value))" } let data = lines.joined(separator: "\n").data(using: .utf8)! do { try data.createFolderAndWrite(to: file) } catch { - print(" Failed to save log: \(error)") + print(" Failed to save file log: \(error)") } } } diff --git a/Sources/Generator/Processing/GenerationResultsHandler.swift b/Sources/Generator/Processing/GenerationResultsHandler.swift index 8cc91d7..912601e 100644 --- a/Sources/Generator/Processing/GenerationResultsHandler.swift +++ b/Sources/Generator/Processing/GenerationResultsHandler.swift @@ -455,6 +455,14 @@ final class GenerationResultsHandler { } func writeResults(to file: URL) { + guard !missingFiles.isEmpty || !unreadableFiles.isEmpty || !unwritableFiles.isEmpty || !missingLinkedPages.isEmpty || !pageWarnings.isEmpty || !generatedFiles.isEmpty || !draftPages.isEmpty || !emptyPages.isEmpty else { + do { + try FileManager.default.removeItem(at: file) + } catch { + print(" Failed to delete generation log: \(error)") + } + return + } var lines: [String] = [] func add(_ name: String, _ property: S, convert: (S.Element) -> String) where S: Sequence { let elements = property.map { " " + convert($0) }.sorted() @@ -476,7 +484,7 @@ final class GenerationResultsHandler { do { try data.createFolderAndWrite(to: file) } catch { - print(" Failed to save log: \(error)") + print(" Failed to save generation log: \(error)") } } } diff --git a/Sources/Generator/Processing/ImageGenerator.swift b/Sources/Generator/Processing/ImageGenerator.swift index 962d1eb..117ed9d 100644 --- a/Sources/Generator/Processing/ImageGenerator.swift +++ b/Sources/Generator/Processing/ImageGenerator.swift @@ -312,6 +312,14 @@ final class ImageGenerator { } func writeResults(to file: URL) { + guard !missingImages.isEmpty || !unreadableImages.isEmpty || !failedImages.isEmpty || !unhandledImages.isEmpty || !imageWarnings.isEmpty || !generatedImages.isEmpty || !optimizedImages.isEmpty else { + do { + try FileManager.default.removeItem(at: file) + } catch { + print(" Failed to delete image log: \(error)") + } + return + } var lines: [String] = [] func add(_ name: String, _ property: S, convert: (S.Element) -> String) where S: Sequence { let elements = property.map { " " + convert($0) }.sorted() @@ -332,7 +340,7 @@ final class ImageGenerator { do { try data.createFolderAndWrite(to: file) } catch { - print(" Failed to save log: \(error)") + print(" Failed to save image log: \(error)") } } } diff --git a/Sources/Generator/Processing/MetadataInfoLogger.swift b/Sources/Generator/Processing/MetadataInfoLogger.swift index 459b529..bca5c08 100644 --- a/Sources/Generator/Processing/MetadataInfoLogger.swift +++ b/Sources/Generator/Processing/MetadataInfoLogger.swift @@ -151,6 +151,14 @@ final class MetadataInfoLogger { } func writeResults(to file: URL) { + guard !errors.isEmpty || !warnings.isEmpty || !unreadableMetadata.isEmpty || !unusedProperties.isEmpty || !invalidProperties.isEmpty || !unknownProperties.isEmpty || !missingProperties.isEmpty else { + do { + try FileManager.default.removeItem(at: file) + } catch { + print(" Failed to delete metadata log: \(error)") + } + return + } var lines: [String] = [] func add(_ name: String, _ property: S, convert: (S.Element) -> String) where S: Sequence { let elements = property.map { " " + convert($0) }.sorted() @@ -172,7 +180,7 @@ final class MetadataInfoLogger { do { try data.createFolderAndWrite(to: file) } catch { - print(" Failed to save log: \(error)") + print(" Failed to save metadata log: \(error)") } } }