내 프로젝트는 표준 규칙 (src/main, src/test ..)을 따르는 자바 프로젝트입니다. 단지 테스트 클래스 및 종속성을 포함하는 항아리가 필요다른 구성의 종속성 추가
내 응용 프로그램 코드를 포함 Gradle을 방출
"기본"항아리 : 나는 두 개의 jar 파일을 방출하는 간단한 Gradle을 작업을 쓰기 위해 노력하고있어 그들을 실행 (예 : Junit). 이 jar에는 비 테스트 코드 (예 : 아래 예의 구아바)에서만 필요한 종속성이 없어야합니다.
아래의 testJar 작업에서 "testCompile"을 사용하려고했지만 테스트 Jar 이외의 것을 선택합니다. 그래서 테스트 종속성을 나열한 별도의 구성을 만들었지 만 'testCompile'구성이 올바르게 채워지지 않아 테스트를 컴파일 할 수 없기를 기대합니다.
Gradle에 대한 제한된 지식으로 종속성 블록에서 DSL을 정의하는 DependencyHandler API에서 한 구성을 다른 구성에 할당하는 방법을 보지 못했습니다. 어떻게 testJars 종속성을 testCompile 세트 (바꾸지 않음)로 설정하여 모든 것을 "작동"시킬 수 있습니까? 누락 된 간격이 있다고 가정하는 아래 코드에 주석을 달았지만 잘못된 것일 수 있습니다!
configurations {
testJars
testCompile {
extendsFrom testJars
}
}
에 testCompile
을 증가합니다 어떤 : 사용자 정의 testJars
구성을 가정
apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7
repositories {
mavenCentral()
}
configurations {
testJars
}
dependencies {
compile group: 'com.google.guava', name: 'guava', version: '14.0.1'
testJars group: 'junit', name: 'junit', version: '4.+'
//"testCompile append testJars"??
}
task testJar(type: Jar) {
classifier = 'tests'
from sourceSets.test.output
from { configurations.testJars.collect { it.isDirectory() ? it : zipTree(it) } }
}
정확히 무엇을 하려는지 확실하지 않지만 이것을 'configurations' 블록에 추가하면됩니다.'testCompile {extendsFrom testJars}' – superEb