私は非常に最初のプレイアプリケーションを混合ビルド環境に設定しています。私の会社はすべて(これまでのところ)mavenを使用しています。私は、私のプレイ・アプリケーションを残りの人工物とうまくやりとりするように努めています。Play 2.0とSNAPSHOTの依存関係
これは、mavenと同様にSNAPSHOTを処理するための方法ですか?つまり、リモートのリポジトリから常に更新するか(ビルドワーカーなど)、ローカルを使用するかのどちらかです。依存関係が「期限切れになるまで」m2リポジトリを再起動し、サーバーからリフレッシュします。
私はBuild.scalaにアーティファクトのSNAPSHOT依存関係を宣言しています。この依存関係のローカル更新を私のプレイプロジェクトに見せたいと思います。 Mavenの側では、私は(もちろん)を構築し、(〜/ .m2 /リポジトリで)私の地元のMavenリポジトリに私の外部のアーティファクトをインストールし、次の
mvn clean install
を行います。これらの変更を私のプレイプロジェクトですぐに見ることができますが、SNAPSHOTをキャッシュしないようにsbt/playに指示する方法はわかりません。私が何をするにしても、この依存関係は決して再生されません。実際のプレイ・アイビー・キャッシュに入り、変更を手に取って依存関係を削除する必要があります。理想的には、私はsbt/ivyをローカルmavenリポジトリへのパスを解決し、内部的にキャッシュしないようにしたいと思います。私は遊びでビルドを実行すると、それが適切にこのレポを使用しますが、その後、ツタキャッシュに結果をキャッシュし、私のBuild.scala
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
resolvers += "Local Maven Repository" at "file://" + Path.userHome.absolutePath + "/.m2/repository",
testOptions in Test := Nil
)
に次のように持っています。私はIvy/sbtにこれをしないと言うことができますか?おそらくivysettings.xmlの何か?
あなたの試しはきれいでしたか? –
http://stackoverflow.com/questions/8224907/re-download-a-snapshot-version-of-a-dependency-using-sbtは役に立ちますか? –
はい - 私は考えることのできるすべての組み合わせを試しました。バニラプレイ2.0のインストールではスナップショットがキャッシュされ、手動で削除する必要があります。 sbt 0.11を使用すると(インストールされていない場合も同じです)さらに、最新のPlay 2.1 SNAPSHOTでsbt 0.12を使用すると、これも表示されます。私が何をするにしても、SNAPSHOTは〜/ .ivy2/cacheにキャッシュされ、sbt/play呪文の方法ではsbt/playがこのスナップショットをivyキャッシュで更新することはできません。 – dpratt