2012-07-19 5 views
4

저는 스칼라 프로젝트의 빌드 도구로 Gradle을 사용하고 있습니다. 또한 개발 용으로 Eclipse를 사용하고 있으므로 항상 빌드 파일에 apply plugin: 'eclipse'을 사용합니다.Gradle의 글로벌 플러그인

apply plugin을 전역으로 정의하는 방법이 있습니까? SBT는 이미 such a feature입니다. 필자가 원하는 이유는 내 프로젝트를 사용하는 다른 개발자가 Eclipse를 사용하지 않고 다른 IDE를 사용하고 있기 때문에 필요에 맞게 빌드 스크립트를 변경해야한다는 것입니다. 글로벌 구성 파일이 있으면 개인 구성을 거기에 넣을 수 있으며 다른 구성 파일과 충돌하지 않습니다.

+1

다른 사용자가 Eclipse를 사용하지 않고 'gradle eclipse'를 실행하지 않으면 어떤 문제인지 모르겠습니다. 다른 플러그인 (IDEA 용)도 추가 할 수 있으며 원하는 경우 사용할 수 있습니다. 내가 이해하고 있듯이,'apply'는 단지 플러그인을 사용할 수 있도록합니다. 모든 사용자가 사용하도록 강제하지는 않습니다. –

+0

음, 맞습니다. 이런 식으로 생각하지 마십시오. 나는 SBT에서 왔고이 기능을 놓쳤다. :) – pvorb

답변

5

당신은 ~/.gradle/init.gradle에이를 넣을 수 있습니다 :

rootProject.allprojects { 
    apply plugin: "eclipse" 
} 

이 방법의 단점은 빌드 덜 재현 할 수 있다는 것입니다. 사람들은 이제 빌드 작업의 일부를 만들기 위해 init.gradle에 뭔가를 추가해야합니다. 따라서 기본 빌드 스크립트에서 Eclipse 플러그인을 적용하는 것이 좋습니다. 그것을 사용하지 않는 사람들을 해치지 않을 것입니다.

+0

이것은 단지 다음과 같아야합니다 :'rootProject {apply plugin : "eclipse"}' –

+0

다중 프로젝트 빌드의 경우, 모든 프로젝트에 'eclipse' 플러그인을 적용해야합니다. –

+0

@PeterNiederwieser gralde와 함께 제공되지 않고 classpath에 추가해야하는 제 3 자 플러그인 인 경우 어떻게해야합니까? init.gradle을 여전히이 방법으로 사용할 수 있습니까? – Andrejs

0

build.gradle을 사용자 지정 논리를 구현하는 buildSrc에 만들 수 있습니다. 버전 컨트롤에 체크인하지 마십시오. 여러 프로젝트에 적용하려면 buildSrc 디렉토리를 만들고 적용 할 프로젝트에 심볼릭 링크를 만들 수 있습니다.