JavaプロジェクトのビルドツールとしてGradleに移行しています。 メインプロジェクト(A)は他のプロジェクト(BとC)に依存しています。現時点でSCMを使用したGradle Multiproject
は、これらのプロジェクトのそれぞれが個別にCVSにあり、私はAIをコンパイルするときにAをチェックアウトする必要があり、私は同じB.はC.
のために行くのチェックアウトれるいわゆるBにサブディレクトリを作ります私は、BとCを公開できるリポジトリマネージャ(nexus)に移行します。これが起こると、モジュールAはBとCに依存するだけで、それはNexusから得ることができます。
しかし、BとC(テスト目的のため)を公開したくなく、BとCの最新のコードでAをNexusにコミットせずにビルドしたい場合は、問題が発生します。
私の最初の考えは、BとC用のjarファイルをビルドして、それをA用の "lib"フォルダにプルすることです。しかし、確かに良い方法があります。
mavenでは、ローカルのMavenキャッシュにBとCをインストールする "mvn clean install"を実行できます。 Aは適切なジャーを探します。
しかし、これが最良の方法であることはまだ分かりません。私はgradleサブプロジェクトを見ていたが、私はそれらを完全に理解していない。サブモジュールはSCMでどのように扱われますか(私もgitサブモジュールを使用する必要がありますか?)
この状況のベストプラクティスについては、いくつかのガイダンスを参考にしてください。 おかげ
EDIT:
ヴャチェスラフShvetsから以下の回答が、私がこれまでに発見した最も正確な答えです。 Mavenスタイルの依存関係を持つgradleプロジェクトの依存関係を切り替えるもう1つの方法があります。この方法の
if(project.hasProperty("someSwitch")){
configurations.all{.....
....
}
}
使い方は次のようになります:
gradle build -Psomeswitch