0
SBT具有管理項目依賴項的功能,您可以在其中直接引用現有的github項目。SBT在啓動時執行自定義任務
val projectA = RootProject(uri("git://github.com/...."))
val projectB = Project("projectB", file(".")) dependsOn(project)
不幸的是,由於現有錯誤 - 在相關項目(了projectA)的任何更改將不會反映在使用這種依賴關係(項目B),即使你叫sbt update
項目。
https://github.com/sbt/sbt/issues/1284
它看起來並不像他們很快就會修復它。
但有解決方法: How do I refresh updated Git dependency artifacts in SBT? 刪除~/.sbt/staging/
幫助。顯然,這種移除應該在項目加載的早期階段發生。
我已經創建了簡單的刪除任務,並將其定義爲對update
任務的依賴關係 - 但它看起來已經太晚了,並且無法按預期工作。
[info] Loading project definition from projectB
// next 4 stages are skipped if it's already cloned.
// Cloning into ... projectA
// [info] Loading project definition from projectA
// [info] Updating projectA
// [info] Done updating.
[info] Updating projectB <<<--- where the removal is happening, too late...
我可以依賴的任務是什麼?