2011-04-05 9 views
6

sbtは、次の場所にあるすべてのsbtプロジェクトのスカラコンパイラおよびスカラライブラリの新しいバージョンをダウンロードします。 ./project/boot/scala-2.8.1/lib/scala-library.jar
./project/boot/scala -2.8.1/lib/scala-compiler.jar

$ SCALA_HOMEが指す場所からコンパイラとライブラリを選択するにはどうすればよいですか?

また、私はそれが一般的な要件ではないことに驚いています。 Scalaの開発者は、すべてのプロジェクトにコンパイラとライブラリの別々のコピーを使用することを好みますか?

私は未回答だった同じ要求が見つかりました:あなたの助けを事前に http://groups.google.com/group/simple-build-tool/browse_thread/thread/9e2c7bc34253ad0f?pli=1

感謝を。

答えて

4

免責事項、私はこれを自分では使用しませんが、これが可能かどうか不思議でした。 project/build/build.propertiesで次に

​​

コンソールターゲットが正常に動作することを

build.scala.versions=2.8.1-local 

は、その後、私が見ることができる、お勧めしlocal scala instanceを使用してに基づいて

は、私は次のプロジェクトを定義しそれはコンパイルと実行のためにもうまくいくでしょう。

+0

私は家に帰るとこの解決策を試してみます。本当にありがとう! – Salil

+0

それは動作します!ありがとう:) – Salil

+0

'build.sbt'ファイルのシステム環境変数をどのように参照しますか? – expert

3

私は懸念を理解しながら、私は独立したコピーを使用して

  • 良いことですあなたが 異なるScalaのバージョンを使用してインストールし、いくつかのScalaのバージョン、およびいくつかのプロジェクトを持っていることを主張するだろう。これは珍しいことではありません(私は現在、2.8.0を使用するプロジェクト 、2.8.1を使用するその他のプロジェクト、2.9.0.RC1 ...を使用するその他のプロジェクトを持っています) - に切り替えるたびに$ SCALA_HOMEを編集しますか?別のプロジェクト?ローカルivy2キャッシュで快適
  • 実行可能ではないのsbt格納し、そのバージョンを取得することは、あなたが他の人のプロジェクトのクローンを作成する場合は、あなただけのSBT更新とwooopスカラを行うことができます
  • 非常に高速であることはあなたが持っていたかどうか、そこ ありますその特定のバージョンは既にありますか
  • project/bootは通常はリポジトリにチェックインされませんので、プロジェクトフォルダ はローカルハードディスク上にあるだけです。あなたは 開発者のコ​​ンピュータ上で持っているものの量を考えると、私は

はあなたがもう一度質問してみました プロジェクトごとにライブラリやコンパイラのための余分なサイズは、標準のハードディスクには、いくつかのhundered GBであるとピーナッツをしていると言うでしょうgooglegroupのsbtに?

+0

ivy2キャッシュについて指摘してくれてありがとう。 Scalaが絶えず進化していることを考えると意味があります。 – Salil

関連する問題