マルチプロジェクトセットアップ(ProjectB-> ProjectA)があり、flatDirを使用して各プロジェクトに単一のlibディレクトリを指定しています。
ProjectA:
repositories {
flatDir name: 'localRepository', dirs: 'lib'
}
dependencies {
compile group: 'com.google.guava', name: 'guava', version: 'r08'
compile group: 'com.miglayout', name: 'miglayout', version: '3.7.4'
testCompile group: 'junit', name: 'junit', version: '4.+'
testCompile group: 'org.easymock', name: 'easymock', version: '2.5.2'
}
ProjectB:
repositories {
flatDir name: 'localRepository', dirs: 'lib'
}
dependencies {
compile group: 'yan', name: 'yan', version: '5.0.2'
runtime group: 'yan', name: 'jfunutil', version: '5.0.2'
compile project(':ProjectA')
testCompile group: 'junit', name: 'junit', version: '4.+'
testCompile group: 'org.easymock', name: 'easymock', version: '2.5.2'
}
ProjectBに使用するgradle dependencies
と、正しい依存関係リストが生成され、ProjectAからの推移的な依存関係が示されます(例:guava-r08)。ただし、Iの場合gradle build
、javacに使用される実際のクラスパスには、ProjectBの直接の依存関係と、ProjectAのビルドによって生成されたjarのみが含まれます。
もう1つの厄介な点は、testCompileのようです。ProjectBのjunitへの依存関係を再宣言する必要があります。そうgradle dependencies
しないと、成功しません。
どんなポインタも大歓迎です-私はGradleを初めて使用します。