in project/Protobuf.scala [105:134]
private def generate(protoc: String, srcDir: File, targetDir: File, log: Logger, importPath: Option[File]): Unit = {
val protoFiles = (srcDir ** "*.proto").get
if (srcDir.exists)
if (protoFiles.isEmpty)
log.info("Skipping empty source directory %s".format(srcDir))
else {
targetDir.mkdirs()
log.info("Generating %d protobuf files from %s to %s".format(protoFiles.size, srcDir, targetDir))
protoFiles.foreach { proto =>
log.info("Compiling %s".format(proto))
}
val protoPathArg = importPath match {
case None => Nil
case Some(p) => Seq("--proto_path", p.absolutePath)
}
val exitCode = callProtoc(
protoc,
Seq("-I" + srcDir.absolutePath, "--java_out=%s".format(targetDir.absolutePath)) ++
protoPathArg ++ protoFiles.map(_.absolutePath),
log,
{ (p, l) =>
p ! l
})
if (exitCode != 0)
sys.error("protoc returned exit code: %d".format(exitCode))
}
}