From 43a56ffa85375096ba3146c051276dadfc05389c Mon Sep 17 00:00:00 2001 From: JP Simard Date: Thu, 5 Jan 2017 18:08:29 -0800 Subject: [PATCH 1/2] use FileManager.DirectoryEnumerator to implement filesToLintAtPath(...) --- .../Extensions/NSFileManager+SwiftLint.swift | 26 ++++--------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/Source/SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift b/Source/SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift index ebd0293e3..bf8fd09f2 100644 --- a/Source/SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift +++ b/Source/SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift @@ -18,27 +18,11 @@ extension FileManager: LintableFileManager { let absolutePath = path.bridge() .absolutePathRepresentation(rootDirectory: rootPath).bridge() .standardizingPath - var isDirectoryObjC: ObjCBool = false - guard fileExists(atPath: absolutePath, isDirectory: &isDirectoryObjC) else { - return [] - } - #if os(Linux) - let isDirectory = isDirectoryObjC - #else - let isDirectory = isDirectoryObjC.boolValue - #endif - if isDirectory { - do { - return try subpathsOfDirectory(atPath: absolutePath) - .map(absolutePath.bridge().appendingPathComponent).filter { - $0.bridge().isSwiftFile() - } - } catch { - fatalError("Couldn't find files in \(absolutePath): \(error)") + return enumerator(atPath: absolutePath)?.flatMap { element in + if let element = element as? String, element.hasSuffix(".swift") { + return absolutePath.bridge().appendingPathComponent(element) } - } else if absolutePath.bridge().isSwiftFile() { - return [absolutePath] - } - return [] + return nil + } ?? [] } } From 1c0e0b7b61d515bdb41965a30249d269c5a89a57 Mon Sep 17 00:00:00 2001 From: JP Simard Date: Thu, 5 Jan 2017 20:43:04 -0800 Subject: [PATCH 2/2] use NSString.isSwiftFile() instead of hasSuffix(".swift") --- .../SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift b/Source/SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift index bf8fd09f2..653645466 100644 --- a/Source/SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift +++ b/Source/SwiftLintFramework/Extensions/NSFileManager+SwiftLint.swift @@ -19,7 +19,7 @@ extension FileManager: LintableFileManager { .absolutePathRepresentation(rootDirectory: rootPath).bridge() .standardizingPath return enumerator(atPath: absolutePath)?.flatMap { element in - if let element = element as? String, element.hasSuffix(".swift") { + if let element = element as? String, element.bridge().isSwiftFile() { return absolutePath.bridge().appendingPathComponent(element) } return nil