投稿Gradle multiple jars from single source folderは複数のファイル.jar
を生成する方法について説明しています。しかし、マルチプロジェクトビルドの他のサブプロジェクトにあるファイル.jar
にどうやって依存することができますか?例えば異なるサブプロジェクトのカスタムjarファイルを参照してください
、私はこのようなプロジェクト構造があるとします。
./
├── build.gradle
├── settings.gradle
├── foo/
│ ├── src/
│ │ ├── main/java/
│ │ └── plugins/java/
│ └── build.gradle
└── bar/
├── src/main/java/
└── build.gradle
foo/build.gradle
は、このタスクで余分.jar
を構築します:
sourceSets {
plugins
}
task pluginsJar(type: Jar) {
from sourceSets.plugins.output
}
私はbar
がplugins.jar
に依存するためにbar/build.gradle
に何を置くことができます?
dependencies {
runtime project(':foo:plugins')
}
しかし、Gradleのは言う:私はこれをやってみましたパスを持つ
プロジェクト ':FOO:プラグインは' プロジェクトでは見つかりませんでした ':バー'
OK、しかし 'server'のソースは' main'ソースセット(これを示すために更新質問)の一部ではないと仮定します。私が 'project( ':foo')'に依存している場合、 'main'ソースセットだけが含まれます。どのように 'server'にも依存できますか? – z0r
なぜあなたはそれをこのように構成しますか?私はちょうどあなたの構造を見直しました。私はあなたが本当に全体的に達成しようとしているものを見てみることを求めています。また、サーバが個別のモジュールとして設定ファイルに設定されていない限り、 ':foo:server'を通してサーバにアクセスすることはできません。 – Underbalanced
私の[実際のプロジェクト](https://github.com/vpac-innovations/rsa/tree/a4bd29ba7904a42d5d24f6eb3106fb68c8cb9711/src/rsaquery)は画像処理システムです。 'main'ソースセットには画像処理システムが含まれています。それから私は一連のプラグイン(画像処理操作)を提供する 'filter'ソースセットを持っています。私はそれらを別々のプラグインに置き換えることができることを明確にするためにそれらを分離しておきたい。私は別のプロジェクトを使うことができると思いますが、それがそれを保証するような気がしません。この種のことをしていない場合のソースセットは何ですか?(正直な質問) – z0r