@@ -87,9 +87,10 @@ extension Analyze {
8787 . forEach { pair in
8888 guard let ( path, mod) = pair else { return }
8989 @Dependency ( \. date. now) var now
90+ @Dependency ( \. fileManager) var fileManager
9091 let cutoff = now. addingTimeInterval ( - Constants. gitCheckoutMaxAge)
9192 if mod < cutoff {
92- try Current . fileManager. removeItem ( atPath: path)
93+ try fileManager. removeItem ( atPath: path)
9394 AppMetrics . analyzeTrimCheckoutsCount? . inc ( )
9495 }
9596 }
@@ -143,7 +144,7 @@ extension Analyze {
143144 @Dependency ( \. fileManager) var fileManager
144145 let checkoutDir = fileManager. checkoutsDirectory ( )
145146 Current . logger ( ) . info ( " Checkout directory: \( checkoutDir) " )
146- if !Current . fileManager. fileExists ( atPath: checkoutDir) {
147+ if !fileManager. fileExists ( atPath: checkoutDir) {
147148 try await createCheckoutsDirectory ( client: client, path: checkoutDir)
148149 }
149150
@@ -236,9 +237,10 @@ extension Analyze {
236237 path: String) async throws {
237238 Current . logger ( ) . info ( " Creating checkouts directory at path: \( path) " )
238239 do {
239- try Current . fileManager. createDirectory ( atPath: path,
240- withIntermediateDirectories: false ,
241- attributes: nil )
240+ @Dependency ( \. fileManager) var fileManager
241+ try fileManager. createDirectory ( atPath: path,
242+ withIntermediateDirectories: false ,
243+ attributes: nil )
242244 } catch {
243245 let error = AppError . genericError ( nil , " Failed to create checkouts directory: \( error. localizedDescription) " )
244246 Current . logger ( ) . report ( error: error)
@@ -266,11 +268,12 @@ extension Analyze {
266268 /// - url: url to fetch from
267269 /// - Throws: Shell errors
268270 static func fetch( cacheDir: String, branch: String, url: String) async throws {
271+ @Dependency ( \. fileManager) var fileManager
269272 Current . logger ( ) . info ( " pulling \( url) in \( cacheDir) " )
270273 // clean up stray lock files that might have remained from aborted commands
271274 for fileName in [ " HEAD.lock " , " index.lock " ] {
272275 let filePath = cacheDir + " /.git/ \( fileName) "
273- if Current . fileManager. fileExists ( atPath: filePath) {
276+ if fileManager. fileExists ( atPath: filePath) {
274277 Current . logger ( ) . info ( " Removing stale \( fileName) at path: \( filePath) " )
275278 try await Current . shell. run ( command: . removeFile( from: filePath) )
276279 }
@@ -295,7 +298,7 @@ extension Analyze {
295298 }
296299
297300 do {
298- guard Current . fileManager. fileExists ( atPath: cacheDir) else {
301+ guard fileManager. fileExists ( atPath: cacheDir) else {
299302 try await clone ( cacheDir: cacheDir, url: package . model. url)
300303 return
301304 }
@@ -529,7 +532,8 @@ extension Analyze {
529532 /// - Throws: Shell errors or AppError.invalidRevision if there is no Package.swift file
530533 /// - Returns: `Manifest` data
531534 static func dumpPackage( at path: String) async throws -> Manifest {
532- guard Current . fileManager. fileExists ( atPath: path + " /Package.swift " ) else {
535+ @Dependency ( \. fileManager) var fileManager
536+ guard fileManager. fileExists ( atPath: path + " /Package.swift " ) else {
533537 // It's important to check for Package.swift - otherwise `dump-package` will go
534538 // up the tree through parent directories to find one
535539 throw AppError . invalidRevision ( nil , " no Package.swift " )
0 commit comments