あなたの説明は、Gradle のマルチプロジェクト サポートと Eclipse およびアプリケーション プラグインにぴったりのように思えます。これは、私がどのようにアプローチするかの簡単な例です。
プロジェクトは同じ Eclipse ワークスペースにある場合がありますが、必ずしも同じフォルダーの下にあるとは限りません。そのため、次のディレクトリ構造はプロジェクトを自由に移動できることを前提としていることに注意してください。
|-- component1
|-- component2
`-- myRunnableApp
最初のステップは、最上位の build.gradle ファイルと settings.gradle を作成することです。
|-- build.gradle
|-- settings.gradle
|-- component1
|-- component2
`-- myRunnableApp
settings.gradle は、サブディレクトリをサブプロジェクトとして扱うように gradle に指示します。
include ':component1', ':component2', ':myRunnableApp'
build.gradle には、すべてのサブプロジェクトに共通の設定が含まれます。この特定のケースでは、java および eclipse プラグインを適用します。
subprojects {
apply plugin: 'eclipse'
apply plugin: 'java'
repositories {
mavenCentral()
}
}
を発行してEclipseプロジェクトを生成するには、これで十分ですgradle eclipse
。次に、プロジェクト間の依存関係を次のように宣言します。
component1/build.gradle
dependencies {
// declare your 3rd party jar dependencies as needed
compile 'group:artifact:version'
}
プロジェクト間の依存関係を宣言できるようになりました。これは、生成時に Eclipse プロジェクト ファイルに反映されます。
component2/build.gradle
dependencies {
compile project(':component1')
}
最後に、アプリケーション プラグインを実行可能なプロジェクトに適用します。UnixおよびWindows用のラッパーsh / batファイルとともにjarファイルを生成します。
myRunnableApp/build.gradle
apply plugin: 'application'
mainClassName = 'my.custom.app.Main'
dependencies {
// component 1 is a transitive dependency of component 2
compile project(':component2')
}
以上です!これは、独自のビルドを展開するための良い出発点になると思います。マルチプロジェクト ビルド、Java プラグイン、アプリケーション プラグイン、および依存関係管理に関する gradle ドキュメントを確認してください。
それが役立つことを願っています!