이슈 종속성을 사용 하려면 다음을 수행하십시오.
- ProjectB의 소스 클래스는 프로젝트 A의 소스 클래스에 따라 다릅니다.
- ProjectB의 테스트 클래스는 프로젝트 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 항아리.
당신이 원하는 경우 includeFlat 개발 목적 ProjectB에 PROJECTA의 소스와 테스트 클래스 다음은 ProjectB의 섹션 종속 build.gradle은 다음과 같을 것이다 :
dependencies {
compile project(':projecta')
testCompile project(path: ':projecta', configuration: 'tests')
}