in src/main/scala/com/spotify/scio/AnnotationTypeInjector.scala [77:111]
private def file(filename: String): Option[File] = {
val sysPropOverride =
Seq("generated.class.cache.directory", "bigquery.class.cache.directory")
.flatMap(sys.props.get)
.headOption
.map(Paths.get(_).resolve(filename))
val resolved = sysPropOverride.getOrElse {
val oldBqPath = Paths
.get(sys.props("java.io.tmpdir"))
.resolve("bigquery-classes")
.resolve(filename)
val newBqPath = Paths
.get(sys.props("java.io.tmpdir"))
.resolve(sys.props("user.name"))
.resolve("bigquery-classes")
.resolve(filename)
val path = Paths
.get(sys.props("java.io.tmpdir"))
.resolve(sys.props("user.name"))
.resolve("generated-classes")
.resolve(filename)
Seq(path, newBqPath, oldBqPath).find(JFiles.exists(_)).getOrElse(path)
}
val file = resolved.toFile
if (file.exists()) {
Log.debug(s"Found $resolved")
Some(file)
} else {
Log.warn(s"missing file: $resolved")
None
}
}