문제

Gradle multiproject structure

RootProject에는 build.gralde와 settings.gradle이 있습니다.common, subProj1 및 subProj2는 settings.gradle의 하위 프로젝트입니다.

중간 디렉터리 아니다 하위 프로젝트!subProj1, subProj2는 서로 관련되어 있으므로 그룹화하는 데에만 사용됩니다.

루트 디렉토리에서 "gradle eclipse"를 실행할 때마다 IntermediateDir에도 .classpath 및 .project 파일이 표시됩니다. 이는 하위 프로젝트가 아니기 때문에 가져서는 안 됩니다!따라서 기본적으로 IntermediateDir은 settings.gradle에 없더라도 일부 작업의 하위 프로젝트로 간주됩니다.이 문제를 빠르게 해결할 수 있는 방법이 있나요?

도움이 되었습니까?

해결책

당신이 쓴 방식 settings.gradle, 중간 디렉토리 ~이다 하위 프로젝트.중간 프로젝트에 자체 파일이나 작업이 없는 경우에도 하위 프로젝트를 한 번에 쉽게 구성하고 실행할 수 있으므로 이는 종종 바람직합니다.

중간 프로젝트에서 원하지 않는 동작을 제거하려면 해당 동작을 적용하지 않도록 하십시오(예: apply plugin: "eclipse")를 해당 프로젝트에 추가합니다(아마도 적용하고 있을 것입니다). allprojects 지금 당장) 또는 변경 settings.gradle 중간 프로젝트를 생성하지 않습니다.예를 들어:

include "common"   
// name it any way you like, but not 
// "intermediateDir:subProj1", i.e. no ":"
include "subProj1" 
include "subProj2"

project(":subProj1").projectDir = file("intermediateDir/subProj1")
project(":subProj2").projectDir = file("intermediateDir/subProj2")
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top