我想知道是否有可能从主要的scala源中读取设置键的值。
例如,我的build.sbt包含:
name := "hello"
version := "0.1"
Run Code Online (Sandbox Code Playgroud)
我想读的价值version,并name在我的Scala源文件(src/main/scala/*.scala)。这可能吗?
您需要sbt-buildinfo(https://github.com/sbt/sbt-buildinfo)插件
buildInfoSettings
sourceGenerators in Compile <+= buildInfo
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion)
buildInfoPackage := "hello"
Run Code Online (Sandbox Code Playgroud)
它将生成具有所需所有属性的scala文件,并且您可以从scala源访问它们
package hello
/** This object was generated by sbt-buildinfo. */
case object BuildInfo {
/** The value is "helloworld". */
val name = "helloworld"
/** The value is "0.1-SNAPSHOT". */
val version = "0.1-SNAPSHOT"
/** The value is "2.10.3". */
val scalaVersion = "2.10.3"
.....
Run Code Online (Sandbox Code Playgroud)