我有一個SBT項目,特別是一個Play Framework 2.1項目,有一些子項目在配置中指定。編譯時依賴關係似乎很好,但「乾淨」似乎只清理當前選定的項目,不包括它的依賴關係。有沒有辦法清理選定的項目及其相關的子項目?運行「乾淨」所有從屬SBT子項目
回答
如果你的主要項目彙總科目,像這樣:
lazy val root = Project("name", file("."))
.aggregate(module1, module2, macros)
然後叫上這根項目的任何命令將所有子項目執行。如果您在SBT會議呼叫inspect clean
命令,你會看到,在相關章節內容涉及對這種清潔
在旁註中評論所有子項目
aggregate
和dependsOn
是不同的不同的命令目的。 彙總的目的是運行在根項目上調用的命令。在我的示例中,通過在我的根項目上調用test
命令,此命令也將被執行,還可用於module1
module2
和macros
。如果你想關閉這種行爲與以下設置:
aggregate in test := false
彙總項目是獨立於它們的代碼。它通常用於根項目,例如,不要在每個項目上調用test
,而要在根上調用它。請記住,如果彙總命令將並行執行。
和dependsOn表示您的項目將取決於其他項目的代碼。並且在這種情況下SBT會執行命令序列化,爲了compile
你的根項目,其中dependsOn
的一些模塊,它應該在第一步編譯這些模塊的根項目。
在旁註,如果我使用.aggregate,我仍然需要.dependsOn?當我使用聚合替換dependsOn時,我在聚合項目中出現了一些編譯錯誤,看起來好像它們都是並行編譯的。 –
@BenDilts我在你的旁註中加了一些解釋 – 4lex1v
- 1. 項目文摘乾淨後
- 2. SBT:運行在所有項目上的動作
- 3. SBT:對子項目
- 4. 什麼是乾淨的LINQ查詢來獲取沒有子項目的項目?
- 5. 運行項目在所有
- 6. 「的Heroku運行耙資產:乾淨」不乾淨東西
- 7. 從沒有憑據的乾淨的登錄shell運行
- 8. 在sbt項目中運行Scala腳本
- 9. 耙乾淨 - 排除子目錄
- 10. IntelliJ乾淨導入Hybris項目
- 11. `SBT從項目目錄
- 12. sbt運行失敗,因爲子項目「協議錯誤」
- 13. Scala SBT構建多模塊項目以運行罐子
- 14. Sbt與子項目合作
- 15. sbt-idea及子項目
- 16. sbt跳過子項目中的測試,除非在該項目中運行?
- 17. 如何爲所有子項目啓用root項目的sbt插件?
- 18. Cyanogen運行乾淨的早餐
- 19. PHP死了乾淨的所有頁面
- 20. 有沒有辦法在IntelliJ中乾淨地刪除項目?
- 21. 從sbt運行hprof
- 22. SBT:在多模塊項目中運行另一個項目後運行測試
- 23. 如何在SBT任務中獲取SBT項目中所有子項目的依賴關係?
- 24. 從cli運行sbt發佈任務的子項目不起作用
- 25. 在運行maven的乾淨目標時出現錯誤
- 26. IntelliJ IDEA不允許我從SBT項目運行ScalaTests
- 27. 在所有子目錄中運行Hunspell
- 28. Ant - 爲所有子目錄運行Build.xml
- 29. Netbeans運行我所有的項目
- 30. 如何從其他sbt項目引用外部sbt項目?
我不希望乾淨,以清除所有依賴項。你可能想要一個聚合? (只是谷歌SBT聚合) –