2012-01-24 8 views
2

私のプロジェクトは、ライブラリAバージョンnに依存しています。 また、順番にバージョンn-1のに依存ライブラリB、に依存します。Gradle's Idea Pluginを依存関係の「最新」バージョンに解決できますか?

gradle dependenciesツリーを実行している私のプロジェクトとの両方のバージョンnでに応じてBを示しています。私はgradle ideaを実行したときに

はしかし、私はバージョンnと報告されたn-1の両方を持つワークスペースを取得します。

は、私はそれを回避するために何かをして、バージョンを強制的にまたは私はに依存したバージョンを変更せずにGradleののdependeny解像度に準拠アイデアワークスペースを取得することはできますか?

私はすでにGradle listにこれを撮影したが、無駄にしています。

更新:sample configurationをアップロードしました。あなた自身で試してみることができます。 グアバ(A)はは、両方のバージョンでは、それに応じて、両方の私とものがたり(B)から10.0と11.0、感謝をどのように表示されるかを注意してください。
この例では、これは、ABの依存関係がサブモジュールにまたがっている場合にのみ発生することがわかりました。
:Reflections 0.96はGuava 11.0では動作しません。それはちょうど心に来た最初のものだった。

[これ]は、IDEAプラグインのためではなく、一般的にはGradleのためだけではなく、正常な動作です:

+1

問題を示す最小限の完全スタンドアロンプ​​ロジェクトを提供できますか? IJでどのように処理されているかを確認します。 –

+0

私はできると思ったが、明らかに私が想定していた以上に問題がある。それに取り組む。 –

+0

それが更新され、質問が更新されました。 –

答えて

1

ただ、これを閉じることができるようにするためには、ここでピーターNiederwieserが書いたものです。これは、コンフリクトの解決がビルドごとではなく、設定ごとに行われているためです。 Module1とModule2でgradle dependenciesを実行すると、IDEAモジュールと同じ結果が得られます。

両方のモジュールが直接グアバを使用する場合は、問題を解決した、直接の依存関係を指定する必要があります。これは、依存関係宣言を親ビルドスクリプトに分解し、子スクリプトから名前で参照することによって行われます。 (これは、MavenのdependencyManagementのセクションと多少似ています)。すべての設定のバージョンを強制することも、別の解決策です。私はGradleの将来のバージョンがビルド全体の紛争解決をサポートすることを期待しています。

サンプルプロジェクトを作成していただきありがとうございます。これにより、問題を再現するのがずっと簡単になります。ちなみに、質問するのに最適な場所はhttp://forums.gradle.orgです。

関連する問題