Scalaに最適なビルドツールはどれですか?それぞれの長所と短所は何ですか?それらのどれをプロジェクトで使用するかを決定する方法は?
Mavenを使用して、ScalaプロジェクトをCIサーバーとうまく統合できるため、作業中です。もちろん、シェルスクリプトを実行してビルドを開始できますが、 Mavenから出てきてCIに送りたい情報がたくさんあります。これが、MavenをScalaプロジェクトに使用することを考えられる唯一の理由です。
それ以外の場合は、SBTを使用します。同じ依存関係にアクセスできます(maven、IMHOの最も良い部分)。また、インクリメンタルコンパイルも行われますが、これは巨大です。プロジェクト内でシェルを起動する機能も優れています。
ScalaMockはSBTでのみ動作するため、おそらくJavaモッキングライブラリではなく、それを使用したいと思うでしょう。その上、much完全なscala=コードをビルドファイルに記述できるため、SBTを拡張しやすくなります。したがって、Mojoの記述のすべての厳密な手順を実行する必要はありません。
つまり、CIサーバーへの緊密な統合が本当に必要でない限り、SBTを使用するだけです。
この質問は、単に多くの意見を生み出す危険にさらされています。要件の明確なリストまたは環境、事前知識などの説明を用意することをお勧めします。
FWIW、 this scalaメーリングリストスレッド にはさらに意見があります。
私の2cは:特定の要件がない場合はsbtで行く
gen-idea
タスク、およびプロジェクトを再度開きます:更新が完了しました。compile
、test
、run
、doc
、publish-local
、console
)-console
は最高の機能の1つです。依存関係の管理にIvyを使用しているためsbtが嫌いな人もいます(賛否両論についてはコメントできませんが、ほとんどの場合、それは問題ではありません)。 Scala XMLではなくDSL。一部の人々は、sbtの形式がv0.7からv0.10に変更されたことに失望しましたが、ゼロから始めた場合、移行は明らかに影響しません。