1. sbt への貢献

sbt への貢献 

以下は、貢献できる可能性のある分野のリストです。このリストはすぐに古くなる可能性があるため、特定のトピックに関心がある場合は、sbt-dev メーリングリストを確認することをお勧めします。

  1. 視覚化と分析の機会はたくさんあります。

    • 「compile」は、以下を含むソースコードの解析を生成します

      • ソース依存関係
      • プロジェクト間のソース依存関係
      • バイナリ依存関係 (jar + クラスファイル)
      • API を表すデータ構造。ソースコードのドットファイルを生成するためのコードが既にありますが、接続されていません。ただし、依存関係と継承関係をグラフ化することは、一般的な作業領域です。
    • 「update」は、構成/ModuleID/Artifact を取得したファイルにマッピングする[更新レポート][Update-Report]を生成します
    • Ivy は、依存関係に関するより詳細な XML レポートを生成します。これらには、表示するための XSL スタイルシートが付属していますが、これは多数の依存関係には拡張されません。これに取り組むのは非常に簡単です。XML ファイルは ~/.ivy2 に作成され、.xsl.css もそこにあるため、sbt を使用する必要すらありません。メールスレッドで説明されている他のアプローチ
    • タスクは静的グラフと動的グラフの組み合わせであり、実行のグラフを表示すると役立ちます
    • 設定は静的グラフであり、ドットファイルを生成するコードがありますが、どこにも接続されていません。
  2. GitHub のような外部プロジェクトへの依存関係のサポートがあります。より便利にするには、依存関係を更新できるようにする必要があります。また、これを他のプロジェクト取得方法に拡張することも簡単です。たとえば、svn と hg のサポートは最近の貢献です。
  3. パーサーが好きなら、sbt コマンドと入力タスクは、タブ補完とエラー処理を提供するカスタムパーサーコンビネーターを使用して記述されています。とりわけ、効率を改善できます。
  4. javap タスクは再統合されていません
  5. 拡張された 0.11 スタイルの warn/debug/info/error/trace コマンドを実装します。現在、他の設定と同様に設定します
set logLevel := Level.Warn

または:set 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 語の短い説明を付けることができます。