Fix nondeterministic handling of input files

This commit is contained in:
Ian Keen 2017-11-09 12:39:09 +10:00 committed by Tadeas Kriz
parent 2bf60e5dc1
commit 96ebbbf9ca
1 changed files with 2 additions and 2 deletions

View File

@ -24,8 +24,8 @@ public struct GenerateMocksCommand: CommandProtocol {
public func run(_ options: Options) -> Result<Void, CuckooGeneratorError> { public func run(_ options: Options) -> Result<Void, CuckooGeneratorError> {
let inputPathValues = Array(Set(options.files.map { Path($0).standardRawValue })) let inputPathValues = Array(Set(options.files.map { Path($0).standardRawValue }))
let inputFiles = inputPathValues.map { File(path: $0) } let inputFiles = inputPathValues.map { File(path: $0) }.flatMap { $0 }.sorted(by: { $0.path ?? "" > $1.path ?? "" })
let tokens = inputFiles.flatMap { $0 }.map { Tokenizer(sourceFile: $0).tokenize() } let tokens = inputFiles.map { Tokenizer(sourceFile: $0).tokenize() }
let tokensWithInheritance = options.noInheritance ? tokens : mergeInheritance(tokens) let tokensWithInheritance = options.noInheritance ? tokens : mergeInheritance(tokens)
let tokensWithoutClasses = options.noClassMocking ? removeClasses(tokensWithInheritance) : tokensWithInheritance let tokensWithoutClasses = options.noClassMocking ? removeClasses(tokensWithInheritance) : tokensWithInheritance
// filter excluded classes/protocols // filter excluded classes/protocols