in scrooge-linter/src/main/scala/com/twitter/scrooge/linter/Linter.scala [97:128]
def lint(): Int = {
val requiresIncludes = rules.exists { _.requiresIncludes }
val importer = Importer(new File(".")) +: Importer(cfg.includePaths)
val parser = new ThriftParser(
importer,
cfg.strict,
defaultOptional = false,
skipIncludes = !requiresIncludes
)
val errorCounts = cfg.files.map { inputFile =>
if (cfg.verbose)
log.info("\n+ Linting %s".format(inputFile))
try {
val doc0 = parser.parseFile(inputFile)
apply(doc0, inputFile)
} catch {
case e: FileParseException if cfg.ignoreParseErrors =>
e.printStackTrace()
0
}
}
if (errMsgs.nonEmpty) {
error("\nERROR SUMMARY:")
errMsgs.foreach {
case (msg, inputFiles) => error(s"${msg}:\n${inputFiles.mkString("\n")}")
}
}
errorCounts.sum
}