Si desea utilizar dependencias de artefactos para tener:
- Las clases de origen de ProjectB dependen de las clases de origen de Project A
- Las clases de prueba de ProjectB dependen de las clases de prueba de Project A
entonces la sección de dependencias de ProjectB en build.gradle debería verse así:
dependencies {
compile("com.example:projecta:1.0.0")
testCompile("com.example:projecta:1.0.0:tests")
}
Para que esto funcione, ProjectA necesita construir un tarro de pruebas e incluirlo en los artefactos que produce.
El build.gradle de ProjectA debe contener una configuración como esta:
task testsJar(type: Jar, dependsOn: testClasses) {
classifier = 'tests'
from sourceSets.test.output
}
configurations {
tests
}
artifacts {
tests testsJar
archives testsJar
}
jar.finalizedBy(testsJar)
Cuando los artefactos de ProjectA se publiquen en su artefacto, incluirán un jar de prueba .
El testCompile en la sección de dependencias ProjectB traerá en las clases en el -pruebas frasco.
Si desea incluir las clases de fuente y prueba de Flat ProjectA en ProjectB para fines de desarrollo, la sección de dependencias en build.gradle de ProjectB se vería así:
dependencies {
compile project(':projecta')
testCompile project(path: ':projecta', configuration: 'tests')
}