5

SBTでは、「〜」マークを使用して、ソースファイルが変更されるたびにアクションをトリガーできます。例えば、

sbt> ~test

ソースが変更されるたびに単体テストを実行します。

ソースが変更されたり、ローカルの依存関係が変更されたりするたびにアクションをトリガーする良い方法はありますか?これは、一方が他方に依存している2つのプロジェクトを同時に開発する場合に役立ちます。

ファイルまたはベースプロジェクトへのパスを手動で指定することでこの動作を実現できることは知っていますが、それは脆弱であり、SBTはローカルアーティファクトを取得する場所をすでに認識しているため、避けたいものです。

4

1 に答える 1

1

Triggered Executionのドキュメントから、watchSources監視するファイルを追加できるタスクがあります。

別の質問から、managedClasspathタスクは管理された依存関係から来るクラスパスの一部を提供します。

次に、次の定義により、管理対象テストのクラスパスがファイルに追加され、トリガーされた実行を監視します。

watchSources <++=
  (managedClasspath in Test) map { cp => cp.files }

トリガーする各プロジェクトでこれを定義します。

于 2013-03-22T19:17:37.713 に答える