2014-01-15 3 views
3

우리는 3-5 개의 다른 프로젝트를 가지고 있습니다. 한 프로젝트에서 다른 프로젝트로 구성의 일부분을 복사/붙여 넣기하고 싶지는 않습니다 (일반적인 Maven 저장소 추가와 같은). 서로 다른 프로젝트에서 공통적 인 구성을 공유하는 가장 좋은 방법은 무엇입니까?다른 프로젝트간에 구성을 공유하는 가장 좋은 방법은 무엇입니까?

나는 apply from: "http://path/to/common.build.gradle" 구조를 사용했지만 건축가는 이것이 common.build.gradle을 저장하는 외부 서버에 의존하기 때문에 이것이 최선의 해결책이 아니라고 생각합니다. 이 서버에 연결하지 않으면 프로젝트를 빌드 할 수 없습니다. 당신이 그것에 대해 어떻게 생각하십니까?

+0

초기화 스크립트 http://www.gradle.org/docs/current/userguide/init_scripts.html에 대해 생각해 보셨습니까? –

+0

동일한 다중 프로젝트 빌드의 다른 '빌드'또는 다른 '프로젝트'에 대해 이야기하고 있습니까? –

+0

공통된 부모 프로젝트가없는 다른 프로젝트에 대해 이야기하고 있습니다. –

답변

2

빌드간에 구성을 공유하는 가장 신뢰할 수있는 방법은 플러그인 클래스 (즉, org.gradle.api.Plugin 인터페이스를 구현하는 클래스)로 코딩하고,이를 Maven 또는 Ivy 저장소에 Jar로 게시하고이를 소비로 가져 오는 것입니다 buildscript 블록을 사용하여 빌드합니다. 그러면 플러그인 Jar가 다른 이슈 종속성처럼 캐시됩니다. 이 문제를 해결하는 방법은 Gradle User Guide에 설명되어 있습니다.

+0

재미 있습니다. 플러그인을 사용하여 일반적인 구성 설정을 공유하는 구체적인 예 (블로그 게시물, 기사)가 있습니까? –

+0

저는 그러한 자원을 알지 못하지만 웹 검색이 도움이 될 수 있습니다. 공통 구성을 수행하는 것이 플러그인의 목적입니다. (Binary) 플러그인은 (재사용 가능한) 빌드 스크립트와 똑같은 일을하지만 클래스로 구현된다는 점만 다릅니다. –