2012-05-31 4 views
4

ProjectB에서 사용할 수 있도록 모든 테스트 클래스가 포함 된 jar 파일을 생성하려면 내 프로젝트 (ProjectA) 중 하나를 가져 오려고합니다.Gradle : sourceSets.test.classes not

나는 약간의 연구를했으며 가능한 해결책으로 이것을 발견했습니다 : Create test jar artifact in gradle. 즉, 다음 코드 스 니펫이 트릭을 수행해야한다고 말합니다. 잘못된 무엇

  • :

문제는 '루트 프로젝트를 평가 발생했습니다 내 build.gradle에 위의 내용을 추가 할 때

apply plugin: 'java' 

task testJar(type: Jar) { 
    classifier = 'tests' 
    from sourceSets.test.classes 
} 

그러나, 나는 다음과 같은 오류 메시지가 gradle_project '.

작업 ': testJar'에서 'sourceSets'속성을 찾을 수 없습니다.

자세한 정보는 Google과 Gradle 설명서에서 모두 검색되었지만 찾을 수 있거나 잘못 사용하는 곳에서는 문서화하지 않고 삭제되었습니다. 나는 후자를 의심하고 있으며, 내가 뭘 잘못하고 있는지 모르겠습니다.

subprojects{} 섹션 내에서 동일한 코드를 시도했지만 나는 다음과 같은 오류 메시지가 있어요 : 'gradle_project

문제는 루트 프로젝트를 평가 발생했습니다

  • 잘못 무엇을 '.

    소스 집합 테스트에서 쓰기 전용 속성 'classes'의 값을 가져올 수 없습니다. 고정

답변

3

문제점 :

1 단계 : subprojects{}

단계 2 내부 코드를 이동 : sourceSets.test.classes 삭제되었습니다. sourceSets.test.output이 트릭을 수행하는 것으로 보입니다. 발견 된 항목 : Creating a Jar of test binaries - Gradle