[英]Configuring Coffeescript SBT in Build.scala not build.sbt?
[英]What is the difference between build.sbt and build.scala?
我開始學習Scala,幾乎在每個教程中我都看到了一個描述項目設置的build.sbt
文件。 但是現在我已經安裝了giter8
並從模板創建了一個項目。 並且從模板生成的項目錯過了build.sbt
文件,但它有build.scala
(它似乎用於相同的目的,但它更靈活)。
那么build.sbt
和build.scala
什么build.scala
?
哪個更受歡迎,為什么?
舉一個簡短的例子,這個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
,它們就是在那種與project
目錄中的.scala
文件合並之前。 它們不能用於遞歸任務,也就是說,例如,你無法從sbt
自定義sbt
。 有關更多詳細信息,請參閱閱讀相關部分是sbt文檔: http : //www.scala-sbt.org/release/docs/Getting-Started/Basic-Def.html#sbt-vs-scala-definition
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.