1. 貢獻於 sbt

貢獻於 sbt 

以下是潛在貢獻領域的清單。此清單可能很快就會過時,因此如果您對特定主題感興趣,您可能需要查看 sbt-dev 郵件論壇

  1. 有很多可能的視覺化和分析機會。

    • 「compile」會產生包含原始程式碼分析的分析

      • 來源相依性
      • 專案間來源相依性
      • 二進位相依性 (jar + 類別檔案)
      • 表示原始程式碼 API 的資料結構。已經有一些程式碼用於產生未連結的 dot 檔案,但繪製相依性圖和繼承關係是一般工作領域。
    • 「update」會產生 [更新報告][Update-Report],將組態/模組 ID/構件對應到擷取的檔案
    • Ivy 會產生更詳細的 XML 相依性報告。它們帶有一個 XSL 樣式表來檢視它們,但這無法擴展到大量的相依性。在這方面工作非常簡單:XML 檔案建立在 ~/.ivy2 中,而 .xsl.css 也在那裡,因此您甚至不需要使用 sbt。在 電子郵件執行緒 中描述的其他方法
    • 任務是靜態和動態圖的組合,檢視執行圖會很有用
    • 設定是靜態圖,並且有程式碼產生 dot 檔案,但未在任何地方連結。
  2. 支援對外部專案 (例如 GitHub 上的專案) 的相依性。為了更有用,這應該支援更新相依性。將其擴展到其他擷取專案的方式也很容易。例如,最近新增了對 svn 和 hg 的支援。
  3. 如果您喜歡剖析器,sbt 命令和輸入任務是使用自訂剖析器組合器編寫的,這些組合器提供 Tab 鍵自動完成和錯誤處理。除其他事項外,效率可以提高。
  4. javap 任務尚未重新整合
  5. 實作增強的 0.11 風格 warn/debug/info/error/trace 命令。目前,您可以像設定其他任何設定一樣設定它
set logLevel := Level.Warn

或:設定 Test / logLevel := Level.Warn

您可以建立包裝此內容的命令,例如

warn Test/run

此外,trace 目前是一個整數,但實際上應該是一個抽象資料類型。

  1. 每個 sbt 版本都有更積極的增量編譯,並且重現錯誤可能很困難。如果有一種模式可以產生連續編譯之間的差異並記錄傳遞給 scalac 的選項會很有幫助。可以重播或檢查此選項以嘗試找出原因。

文件 

  1. 關於此文件有很多事情要做。如果您從 git 簽出它,會有一個名為 Dormant 的目錄,其中包含一些需要處理的內容。
  2. 主頁面提到外部專案參考 (例如,指向 git 儲存庫),但沒有任何連結說明如何使用這些參考。
  3. 非常需要 API 文件。
  4. 在其他文件中找到有用的答案或類型/方法/值,並將它們的參考拉到 /faq 或 /Name-Index 中,以便人們可以找到文件。一般而言,/faq 應該感覺更像是指向常規文件的一堆指標,而不是文件的替代方案。
  5. 許多頁面可能可以有更好的名稱,以及/或者在側邊欄中它們右側添加小的

    2-4 個字的簡短說明。