sbt核心概念
- 基于Scala,由于sbt是基于Scala編寫的,所以相關(guān)的配置語法和Scala很相似
- .sbt 工程構(gòu)建定義
- 可以定義一個大的 Setting對象序列,最后被轉(zhuǎn)化為一個key-value鍵值對供sbt使用
- 可以通過
:=,+=或++=配置一個配置
- 配置是不可變的,僅可以通過轉(zhuǎn)換來修改。例如,一個 Setting對象轉(zhuǎn)換成一個key-value鍵值對后是構(gòu)建一個新的Map對象來修改的配置的,原值沒有任何修改
- 每個配置都有一個類型,通過key的定義來決定
- 任務(wù)是一種特殊的配置,它是可以重復(fù)調(diào)用運算的,而參數(shù)配置是在項目加載中只初始化一次
- 作用域
- 每個配置可能有多個值在不同的作用域中
- 作用域有三個維度:項目、配置、任務(wù)
- 作用域概念使得一個配置可以再每個項目、每個任務(wù)、每個配置下都可能產(chǎn)生不同的行為
- 配置維度指的是構(gòu)建類型,如對于主項目(main)為(Compile)或測試為(Test)
- 項目維度也支持工程級別的作用域
- 作用域具有備選和委托的特性
- .sbt vs .scala 配置文件定義
- 將參數(shù)配置放到
.sbt配置文件中,將任務(wù)配置或者大的代碼段配置放到.scala配置文件中
- 插件可以擴展配置
- 通過
addSbtPlugin方法添加一個插件
如果以上的概念有任何疑惑可以尋求幫助、重新返回去閱讀或者在交互模式下做一些試驗。。
祝好運!