From 5b4db424b5ada34e41daeffbd89798aadfa9290b Mon Sep 17 00:00:00 2001 From: Christoph Hagen Date: Thu, 25 Aug 2022 00:11:53 +0200 Subject: [PATCH] Log accessed files --- WebsiteGenerator/Generic/FileAccess.swift | 27 +++++++++++++++++++++++ WebsiteGenerator/main.swift | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/WebsiteGenerator/Generic/FileAccess.swift b/WebsiteGenerator/Generic/FileAccess.swift index a10dc7a..5a231b1 100644 --- a/WebsiteGenerator/Generic/FileAccess.swift +++ b/WebsiteGenerator/Generic/FileAccess.swift @@ -27,6 +27,8 @@ final class FileAccess { private var changedFiles: Set = [] + private var accessedFiles: Set = [] + init(in root: URL, errorOutput: ErrorOutput) { self.sourceFolder = root self.errorOutput = errorOutput @@ -63,6 +65,7 @@ final class FileAccess { } private func didAccess(inputPath: String, modified lastModified: Date, source: String) { + accessedFiles.insert(inputPath) guard let previousDate = sourceLastModifiedTimes[inputPath] else { // File not processed before, so mark as changed changedFiles.insert(inputPath) @@ -143,4 +146,28 @@ final class FileAccess { print(" ...") } } + + func printAccessedFilesOverview() { + let count = accessedFiles.count + guard count > 0 else { + print("No files accessed") + return + } + print("\(count) files accessed:") + accessedFiles.prefix(10).forEach { print(" " + $0) } + if count > 10 { + print(" ...") + } + } + + func printAllTouchedFiles() { + print("\(accessedFiles.count) files accessed:") + accessedFiles.sorted().forEach { file in + if changedFiles.contains(file) { + print(" \(file) (changed)") + } else { + print(" " + file) + } + } + } } diff --git a/WebsiteGenerator/main.swift b/WebsiteGenerator/main.swift index febde28..21a7412 100644 --- a/WebsiteGenerator/main.swift +++ b/WebsiteGenerator/main.swift @@ -17,7 +17,7 @@ do { } siteData.printTree() -context.fileSystem.printChangedFilesOverview() +context.fileSystem.printAllTouchedFiles() context.fileSystem.didGenerateAllFiles() exit(0)