Apache Ant 프로젝트를 Gradle로 컴파일하기위한 작업을 진행하고 있으며 다른 하위 프로젝트 세트가 있습니다.다른 모듈의 디버그 클래스를 사용하여 Gradle 하위 프로젝트를 컴파일하는 방법
내 목표는 기본 프로젝트의 출력을 일부 하위 프로젝트의 종속성으로 사용하는 것입니다.
MainProject:
-> src/main/java
-> src/main/resources
-> src/test/java
-> src/test/resources
-> src/mocks/java
ChildProject1:
-> src/main/java
-> src/main/resources
-> src/test/java
-> src/test/resources
-> src/mocks/java
주요 프로젝트는 제대로 자식 빌드 경로에 포함되어 있으며이 링크를 이클립스에 관해서 모든 링크가 올바르게 발견 : 글로벌 구성은 다음과 같다.
나는 메인ChildProject
에 대한
settings.gradle
파일에서 프로젝트 빌드에서 종속성 포함했다
:
이dependencies {
compile project(':MainProject')
}
이 보인다 내 문제가 ChildProject
컴파일하기 위해 모의 객체/자바에서 출력을 필요로하고 있지만를 Gradle 컴파일 프로세스에 main/java 파일 인 "default"출력이 포함되어있는 경우, mocks의 "symbols"을 찾을 수 없다는 오류 메시지가 나타납니다.
MainProject
테스트 자바 파일을 컴파일와 비슷한 문제가 있었다 :
sourceSets {
mocks {
java {
srcDir 'src/mocks/java'
}
compileClasspath += sourceSets.main.runtimeClasspath
}
test {
compileClasspath += sourceSets.mocks.output
runtimeClasspath += sourceSets.mocks.output
}
}
모의 소스가 제대로 테스트 클래스 패스에 추가됩니다.
ChilProject
에 MainProject
의 출력물을 사용하여 테스트를 컴파일하는 방법은 무엇입니까?
답장을 보내 주셔서 감사합니다. 현재 제안 사항부터 문제를 해결하고 있습니다. 그러나 주 프로젝트에서 이슈를 어떻게 선언해야할지 모르겠다. 예를 들어 구성 블록을 이해하는 것으로부터 "구성 {mocks}"라인을 얻지 못한다. 다른 소스 세트 컴파일 프로세스를 정의하기 위해 여기에있다. Gradle에서 유물을 사용한 적이 없으며 Gradle 공식 문서가 명확하지 않음을 확인했습니다. 다음 답변을 기다리고 있습니다. –
이중 게시에 대해 죄송합니다. 설정에 "mocks"를 추가했으나 이 일이 무엇인지 잘 모르겠다.) 편집이 순조롭게 진행되었지만 예문에 나오는 이슈/항아리 선언이 어디에 있어야 하는지를 정확히 알 수는 없습니까? –
1. 섹션을 배치 할 수 있습니다 'jarMocks'는'mocks' 소스 셋에 정의 된 모의 소스 코드로 JAR을 빌드하는 태스크 여야합니다. mcoks JA R에 기본 클래스 파일이 누락되었습니다. 2. 섹션 응답을 업데이트했습니다. – cmcginty