diff --git a/Sources/MockoloFramework/Operations/Generator.swift b/Sources/MockoloFramework/Operations/Generator.swift index 6f0609c7..823bb6b1 100644 --- a/Sources/MockoloFramework/Operations/Generator.swift +++ b/Sources/MockoloFramework/Operations/Generator.swift @@ -59,6 +59,7 @@ public func generate(sourceDirs: [String], var annotatedProtocolMap = [String: Entity]() var pathToContentMap = [(String, Data, Int64)]() var pathToImportsMap = ImportMap() + var relevantPaths = [String]() signpost_begin(name: "Process input") let t0 = CFAbsoluteTimeGetCurrent() @@ -121,6 +122,7 @@ public func generate(sourceDirs: [String], completion: { container in pathToContentMap.append(contentsOf: container.imports) resolvedEntities.append(container.entity) + relevantPaths.append(contentsOf: container.paths) }) signpost_end(name: "Generate models") let t3 = CFAbsoluteTimeGetCurrent() @@ -149,7 +151,8 @@ public func generate(sourceDirs: [String], pathToContentMap: pathToContentMap, customImports: customImports, excludeImports: excludeImports, - testableImports: testableImports) + testableImports: testableImports, + relevantPaths: relevantPaths) let result = try write(candidates: candidates, header: header, diff --git a/Sources/MockoloFramework/Operations/ImportsHandler.swift b/Sources/MockoloFramework/Operations/ImportsHandler.swift index b7cd09ca..e3b63125 100644 --- a/Sources/MockoloFramework/Operations/ImportsHandler.swift +++ b/Sources/MockoloFramework/Operations/ImportsHandler.swift @@ -11,7 +11,8 @@ func handleImports(pathToImportsMap: ImportMap, pathToContentMap: [(String, Data, Int64)], customImports: [String]?, excludeImports: [String]?, - testableImports: [String]?) -> String { + testableImports: [String]?, + relevantPaths: [String]) -> String { var importLines = [String: [String]]() let defaultKey = "" @@ -19,7 +20,8 @@ func handleImports(pathToImportsMap: ImportMap, importLines[defaultKey] = [] } - for (_, importMap) in pathToImportsMap { + for (path, importMap) in pathToImportsMap { + guard relevantPaths.contains(path) else { continue } for (k, v) in importMap { if importLines[k] == nil { importLines[k] = []