如果要使用工件依赖项,请执行以下操作:
- 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。
ProjectB的“ dependencies”部分中的testCompile将在-tests jar中引入这些类。
如果你想includeFlat项目A的来源和测试类的项目B为发展目的则依赖于项目B的部分的build.gradle是这样的:
dependencies {
compile project(':projecta')
testCompile project(path: ':projecta', configuration: 'tests')
}