如何引用生成的源文件?
How to refer to generated source files?
如何引用 sourceGenerators
sbt 任务生成的文件?我知道源文件存放在 target/scala-<version>/src_managed/path/to/File.Scala
但我不知道如何在我的项目中引用它。有什么想法吗?
/server
/app
/models
Driver.scala (can't use MyGeneratedCode here)
/project
/src/main/scala/
ModelGenerator.scala (the code used to create MyGeneratedCode.scala)
/target/scala-2.12
/classes
/src_managed
/main/generated/
MyGeneratedCode.scala
生成文件与任何普通的 Scala 文件一样工作,但在一个奇特的文件夹中,因此它不会被 git (或任何其他 VCS)跟踪).
作为任何 Scala 文件,它应该在开头有一个 package whatever
语句,您可以从中导入您的 类 (import whatever._
)。通常包名与目录结构相匹配,但它们不必 (特别是因为它只是生成文件).
如果它没有包,它的所有成员可能都驻留在 __root__
包中。但这可能会造成麻烦,我建议编辑您的生成器以添加 package 语句。
如何引用 sourceGenerators
sbt 任务生成的文件?我知道源文件存放在 target/scala-<version>/src_managed/path/to/File.Scala
但我不知道如何在我的项目中引用它。有什么想法吗?
/server
/app
/models
Driver.scala (can't use MyGeneratedCode here)
/project
/src/main/scala/
ModelGenerator.scala (the code used to create MyGeneratedCode.scala)
/target/scala-2.12
/classes
/src_managed
/main/generated/
MyGeneratedCode.scala
生成文件与任何普通的 Scala 文件一样工作,但在一个奇特的文件夹中,因此它不会被 git (或任何其他 VCS)跟踪).
作为任何 Scala 文件,它应该在开头有一个 package whatever
语句,您可以从中导入您的 类 (import whatever._
)。通常包名与目录结构相匹配,但它们不必 (特别是因为它只是生成文件).
如果它没有包,它的所有成员可能都驻留在 __root__
包中。但这可能会造成麻烦,我建议编辑您的生成器以添加 package 语句。