1
我承認我的預期SBT有內置的類似任務的一般設置爲ant是否具有與Ant類似的內置buld步驟或類似的插件項目?
看似根本任務的能力等簡單copy一個任意的文件似乎並沒有在SBT存在(或他們和我錯過了)?
我最好在這裏使用community ant plugin?這似乎有點錯過了使用sbt :)
或者有一個社區的努力或東西本地創建許多這些實用工具類型的任務?
(我使用的SBT 0.13)。
我承認我的預期SBT有內置的類似任務的一般設置爲ant是否具有與Ant類似的內置buld步驟或類似的插件項目?
看似根本任務的能力等簡單copy一個任意的文件似乎並沒有在SBT存在(或他們和我錯過了)?
我最好在這裏使用community ant plugin?這似乎有點錯過了使用sbt :)
或者有一個社區的努力或東西本地創建許多這些實用工具類型的任務?
(我使用的SBT 0.13)。
如果你從螞蟻的到來,SBT可能會有點震驚你的,但如果你保持耐心,我相信你會很喜歡它。
與Ant不同的是,通過將任務拼湊在一起來實現事情,用sbt創建設置和任務之間的依賴關係,而任務只是Scala代碼。所以如果你可以在Scala中做到這一點,你也應該可以做到。
對於複製文件等基本任務,請參見sbt.IO
object和sbt.PathFinder
類,其中File
可以隱式轉換爲。這是一個複製一個文件的例子。
val someFileTask = taskKey[File]("describe it.")
someFileTask := {
val src: File = baseDirectory.value/"data.txt"
val out: File = baseDirectory.value/"data2.txt"
IO.copyFile(src, out)
out
}
放置在上面build.sbt
,你可以通過在shell中運行someFileTask
執行它。