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
文件还可以包含val
s,lazy val
s和def
s(但不包括object
s和class
es)。
请参阅名为“ .scala构建定义”的SBT文档,尤其是“将build.sbt与Build.scala相关联”部分。
.scala
如果您想在Scala的完整表现力中做复杂的事情,请考虑构建定义。
2016年7月更新(3年后)
Build.scala
sbt 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