[안드로이드] kakao sample gradle 분석 1.settings.gradle
안녕하세요. 개발자 드리머즈입니다.
안드로이드를 본격적으로 개발하기 전에.. Gradle에 대해 개념을 좀 공부해야 할 것 같습니다.
카카오 디벨로퍼 사이트의 Android용 [카카오 계정으로 로그인하기]에는 매우 많은 Gradle 파일과 문법이 등장합니다. 조금조금씩 분석해보려고 합니다.
위의 사진처럼.. Gradle Scripts에 관련된 파일이 상당히 많습니다.
먼저 사진의 아래쪽에 보이는 프로젝트의 루트 경로에 위치한 settings.gradle 파일을 보겠습니다.
(gradle이 실행되면.. 이 파일이 제일 먼저 실행된다고 하네요)
settings.gradle (Project Settings) |
// Include SDK modulees |
다행히.. 그나마 코드가 길지 않습니다.
안드로이드 디벨로퍼 사이트에 아래의 설명이 있습니다.
Gradle 설정 파일루트 프로젝트 디렉토리에 있는 include ‘:app’ 그러나, 다중 모듈 프로젝트에서는 최종 빌드에 들어가야 하는 각 모듈을 지정해야 합니다. |
카카오 sdk 예제의 경우, 하나의 프로젝트에 여러 개의.. 모듈?이 있습니다. 이 모듈마다 gradle이 존재하는데 지금 보고 있는 settings.gradle에 위와 같이 include 되어야 빌드 시 포함됩니다.
(마치.. mk파일에서 하위 mk파일을 표시하기 위한 코드와 비슷한 것 같네요)
include ':libraries:auth'
include ':applications:kakao-open-android-sdk-sample'
include 구문을 보면 libraries와 applications 가 보입니다.
이게 뭔지 했는데, 단순히 모듈의 경로에 따라 붙은거네요.
카카오에서.. 사용되는 여러 모듈들은 성격에 따라, applications라는 폴더와 libraries라는 폴더에 나눠져 있습니다.
프로젝트 루트의 입장에서 봤을 때 상대경로로 :application과 :libraries가 추가된 것입니다.
빌드 시 include된 경로에 있는 gradle 파일이 실행될 것입니다.
그 다음 남은 코드는,
rootProject.children.each { project -> |
위와 같습니다.
이 코드가 쓰인 이유는 하위 프로젝트의 gradle 파일의 이름(buildFileName)이 기본 이름인 build.gradle이 아니기 때문에, gradle이 변경된 파일 이름을 가진 gradle을 인식하도록 하기 위함입니다.
실제 파일을 보면
루트에서 가장 먼저 보이는 /applications 경로에 위치한 gradle 파일의 이름은, applications.gradle이고,
/libraries 경로에 위치한 gradle 파일의 이름은, libraries.gradle입니다. 이처럼 파일의 이름이 build.gradle이 아니기 때문에 이 변경된 이름을 올바르게 인식하려면 위의 코드가 필요합니다.
*참고
권남님 위키? : http://kwonnam.pe.kr/wiki/gradle/buildlifecycle
gradle 공식 사이트?(영어) : https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:subprojects(groovy.lang.Closure)
안드로이드 디벨로퍼 사이트- 빌드 구성 : https://developer.android.com/studio/build/index.html?hl=ko)%3E
댓글 영역