2012-11-28 3 views
19

이 문제는 Gradle Multi-Module Project Setup과 동일하지만 프로젝트를 컴파일 할 때 종속성을 사용해야하고 위의 질문에서 해결 방법으로 제공된 라이브러리 (병) 종속성 솔루션을 사용할 수 없습니다. .프로젝트 종속성이있는 중첩 된 다중 프로젝트 프로젝트

Root 
|__ P1 
| |_ PP1 
| |_ PP2 
| 
|__ P2 
    |_PP3 
    |_PP4 

PP1, PP2, PP3 및 PP4는 하위 프로젝트이며, 각각 자신의 build.gradle 파일이; P1과 P2에는 build.gradle 및 settings.gradle 파일도 있습니다.

PP3의 build.gradle 파일에서 PP1을 컴파일 종속성으로 선언하려면 어떻게해야합니까?

apply plugin: 'java' 
dependencies { 
    compile('P1:PP1') //does not work 
    compile group: 'P1', name: 'PP1', version: '0.1' // jar library dependency not an option 

    compile('{ant_target}')? //follow up question - an ant target as a dependency 
} 

나는 빌드는 하나의 settings.gradle 파일을 가질 수 Gradle을 1.2

+0

[2 단계 이상의 gradle 프로젝트를 설정할 수 있습니까?] (http://stackoverflow.com/questions/15299004/is-it-possible-to-set-up-a-) gradle-project-with-more-than-2-levels) –

답변

33

를 실행하고 있습니다. settings.gradle 가정하면 루트 디렉토리에있는 등 같은 프로젝트가 포함 자세한 내용은

dependencies { 
    compile(project(":P1:PP1")) 
} 

에 장을 "다중 프로젝트 빌드"를 참조하십시오

include "P1:PP1" 

당신과 같이 컴파일 종속성을 추가 할 수 있습니다 Gradle User Guide.

+0

고마워요! 관련된 질문에, build.gradle 의존성 클로저에서 의존성으로 선언 된 Ant 타겟을 가질 수 있습니까? 시나리오 : P2의 build.gradle 파일이 P2의 build.xml을 가져옵니다. "myAntTask"는 build.xml의 대상입니다. 프로젝트 설정 .gradle에는'P1 ': PP1', 'P2'; Gradle을 사용하여 P2의 "myAntTask"ant 타겟을 실행할 수 있습니다. 내 컴파일 종속성 요구 사항을 준수하면서 "myAntTask"를 P1의 build.gradle에서 컴파일 종속성으로 선언 할 수 있습니까? 새로운 Ant 프로젝트를 Gradle로 천천히 변환하면서 새로운 Gradle 프로젝트를 추가합니다. – meja

+0

작업 종속성과 이슈 종속성에 혼란을주는 것처럼 들립니다. –

+0

"PP1의 build.gradle 파일에서 PP1을 컴파일 종속성으로 선언하려면 어떻게해야합니까?"라는 질문에 대답하지 않았습니다. 이 솔루션은 P1과 PP1만을 보여줍니다. – AndroidDev