build.sbt の変更を検知する sbt プラグインを作りました
git でブランチを切り替えたらうまくビルドできなくなって困ったけど、build.sbt が変わっているのに sbt の reload をするのを忘れていただけだった、ということがたまに起こります。これを防ぐために、.sbt や project/.scala が変更されていたら警告を表示する sbt プラグインを作りました。
tototoshi/sbt-build-files-watcher
作りました、というかよしださんの https://gist.github.com/xuwei-k/6278769 をだいたいパクった感じです。
インストールはプロジェクトごとに設定するよりはグローバルの設定にすると便利だと思います。
~/.sbt/0.13/plugins/build.sbt
addSbtPlugin("com.github.tototoshi" % "sbt-build-files-watcher" % "0.1.1")
~/.sbt/0.13/build.sbt
showMessageOnBuildFilesChanged
sbt-git などを使っている場合は showMessageOnBuildFilesChanged
が sbt-git のshowCurrentGitBranch
とぶつかるので messageOnBuildFilesChanged
という関数を使って shellPrompt
キーを設定します。
shellPrompt := { state => messageOnBuildFilesChanged(state) + GitCommand.prompt(state) }
これで .sbt や project/.scala を編集すると reload しろという警告が出るようになります。めでたし。