これ
https://github.com/paulp/sbt-extras
きっかけは、
- さくらのVPNが新しいプラン発表される ↓
- 新しい方に申しこむ ↓
- いままで使っていたものがそのまま移行できないらしいので手動で以降ェ・・・ ↓
- 今まで sbt7 sbt10 sbt11 sbt12 ってそれぞれファイルつくってたけど、この際やりかた変えようかな・・・
という感じで。sbt はご存知の通り(?) それぞれ
0.7系 ⇔ 0.10系 ⇔ 0.11系 ⇔ 0.12系
で、相互にlauncherの互換性がないわけです。(たとえば0.11.1と0.11.2とかならば互換性ある)
どういうことかというと、0.10.0のlancuherを使って0.11.0を起動させることができない。
で、それらをうまくやってくれたりその他いろいろやってくれるのが*1 sbt-extras なわけです。おもにシェルスクリプトとかです*2なのでもちろんwindowsとかでは使えません。
これつかえば、sbtって打つだけで、ちゃんと
- build.propertiesに0.10.0って書いてあれば0.10.0で起動
- build.propertiesに0.11.0って書いてあれば0.11.0で起動
とかできます。*3
で、最初grepのオプションがbash_profileで
export GREP_OPTIONS='--color=always -n -r'
と指定していたことにより、以下のようなURLにアクセスしにいってしまったので
http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/1:sbt.version=0.11.2/sbt-launch.jar
ちょっと変えました。*4
もう1点、デフォルトだと project ディレクトリまたは build.properties がない場合、単にsbtって打つと何もせずに終了するという動作で、微妙に使いづらかったので*5sbtというコマンド打った後に選択できようにするなど、forkして改変しました。
https://github.com/xuwei-k/sbt-extras/commit/22428d32a5c3f8f7851b113603620b69b9608585
bash詳しくないので、もっと良い書き方あったら教えて下さい。
まだ使いこなしてないのであれですが、とりあえずsbt7 sbt10 sbt11 sbt12 って大量にファイル作って使い分けるよりはよっぽど便利そうです