アーティファクトの依存関係を使用する場合:
- ProjectBのソースクラスはProject Aのソースクラスに依存する
- ProjectBのテストクラスはProject Aのテストクラスに依存する
次に、build.gradleの ProjectBの依存関係セクションは次のようになります。
dependencies {
compile("com.example:projecta:1.0.0")
testCompile("com.example:projecta:1.0.0:tests")
}
これを機能させるには、ProjectAが-tests jar を作成し、生成するアーティファクトに含める必要があります。
ProjectAのbuild.gradleには、次のような構成が含まれている必要があります。
task testsJar(type: Jar, dependsOn: testClasses) {
classifier = 'tests'
from sourceSets.test.output
}
configurations {
tests
}
artifacts {
tests testsJar
archives testsJar
}
jar.finalizedBy(testsJar)
ProjectAのアーティファクトがアーティファクトに公開されると、-tests jar が含まれます。
testCompile ProjectBの依存関係のセクションでは、内のクラスにもたらすでしょう-tests瓶。
開発目的でProjectB にフラット ProjectAのソースクラスとテストクラスを含める場合、ProjectBのbuild.gradleの依存関係セクションは次のようになります。
dependencies {
compile project(':projecta')
testCompile project(path: ':projecta', configuration: 'tests')
}