หากคุณต้องการใช้การพึ่งพาสิ่งประดิษฐ์ที่จะมี:
- คลาสซอร์สของ ProjectB ขึ้นอยู่กับคลาสซอร์สของ Project A
- คลาสการทดสอบของ ProjectB ขึ้นอยู่กับคลาสการทดสอบของ Project A
ส่วนการพึ่งพาของ ProjectB ในbuild.gradleควรมีลักษณะดังนี้:
dependencies {
compile("com.example:projecta:1.0.0")
testCompile("com.example:projecta:1.0.0:tests")
}
สำหรับการทำงาน Projecta ความต้องการที่จะสร้าง-testsขวดและรวมไว้ในสิ่งประดิษฐ์ที่จะผลิต
build.gradle ของProjectAควรมีการกำหนดค่าดังนี้:
task testsJar(type: Jar, dependsOn: testClasses) {
classifier = 'tests'
from sourceSets.test.output
}
configurations {
tests
}
artifacts {
tests testsJar
archives testsJar
}
jar.finalizedBy(testsJar)
เมื่อสิ่งประดิษฐ์ของ ProjectA ถูกเผยแพร่ไปยังวัตถุของคุณพวกเขาจะรวมถึงการทดสอบขวด
testCompileในส่วนการอ้างอิง ProjectB จะนำมาในชั้นเรียนใน-testsขวด
ถ้าคุณต้องการรวมซอร์สของคลาส ProjectA และคลาสการทดสอบใน ProjectB เพื่อวัตถุประสงค์ในการพัฒนาส่วนการอ้างอิงในbuild.gradleของ ProjectB จะมีลักษณะดังนี้:
dependencies {
compile project(':projecta')
testCompile project(path: ':projecta', configuration: 'tests')
}