Answers:
举个简单的例子build.sbt:
name := "hello"
version := "1.0"
是一个大致等同于此的简写形式project/Build.scala:
import sbt._
import Keys._
object Build extends Build {
lazy val root = Project(id = "root", base = file(".")).settings(
name := "hello",
version := "1.0"
)
}
该.sbt文件还可以包含vals,lazy vals和defs(但不包括objects和classes)。
请参阅名为“ .scala构建定义”的SBT文档,尤其是“将build.sbt与Build.scala相关联”部分。
.scala如果您想在Scala的完整表现力中做复杂的事情,请考虑构建定义。
2016年7月更新(3年后)
Build.scalasbt 0.13.12中已正式弃用
Build不推荐使用此特性,而推荐使用.sbt格式
PR 2530实现了该弃用。
“ 附录:.scala构建定义 ”已更新。
在.sbt编译s时,它们在与.scala目录内的文件合并之前project。它们不能用于递归任务中,也就是说,例如,您不能sbt从中sbt进行自定义。有关更多详细信息,请考虑阅读sbt文档的相关部分:http : //www.scala-sbt.org/release/docs/Getting-Started/Basic-Def.html#sbt-vs-scala-definition