Thursday, September 17, 2015

[AndroidAnnotations_Build] 5. AndroidAnnotations 4.0 SNASHOT maven build

시작하기에 앞서 AndroidAnnotaions가 4.0 SNAPSHOT 버전에서 보면 3.3.2 버전과 매우 다르게 프로젝트 구조가 격변했음을 알 수 있었다. 따라서 해당 프로젝트를 빌드하기 위해 처음에 Eclipse인줄만 알고(원래 3.3.2 까지 eclipse에서 작업을 했었다)작업을 했지만 정상적으로 수행되지 않았고, 열심히 Contributer에게 Gitter로 건의한 결과 Intellij에서 개발하는 환경 구축 방법을 얻을 수 있었다. 수행 해본 결과 Build에 성공하였고 이에 따라 로컬에 jar파일도 생성되어서 이미 구성해둔 Project에 import도 가능하게 되었다.:) 아래는 AndroidAnnotations 에 대한 4.0 SNAPSHOT 빌드 방법과 프로젝트 전체 구성방식에 대한 설명이다.

1. AndroidAnnotations 4.0 SNAPSHOT 빌드

빌드 환경은 InstallingEnvironment 에서 확인 가능하며, Maven Build 방식을 가지고 있다. Maven 에 대한 설명은 Build Label의 4번을 참고해도 되고 더 많은 정보는 구글링을 통해 찾아보면 된다. 여기서 나온 환경과 같이 해당 프로젝트를 빌드 하기 위해서는 3가지 조건이 필요하다.

빌드 환경 구성에 대한 내용에서는 Fork를 받으라고 되어있지만 해당 페이지는 Contributing에 관한 이야기이기 때문에 굳이 Fork를 받지 않아도 상관없습니다. 따라서 그냥 Clone을 내 저장소에 받으면됩니다. (저는 컨트리뷰팅이 목적임으로 Fork를 받고 Clone을 받았습니다. 아래 사진과 같이 SourceTree에서)

다음은 Console 창을 활성화 시킨뒤 Clone을 한 Repostiory로 이동하여 mvn install 을 작성하여 줍니다. 해당 명령어를 작성하게 되면 빌드가 실패가 되거나 정상적으로 수행되거나 둘중하나가 되게됩니다. 빌드가 성공하게 되면 다음과 같은 화면이 뜨게 됩니다. (수행하게되면 Maven에 명시된 모든 build가 수행됨으로 unittest케이스에 대한 실행도 모두 되게 됩니다.)


1.1. [BUG] JAVA_HOME 이 지정되있지 않은경우

환경변수에 JAVA_HOME 가 지정이 되어있지 않은 경우 정상적으로 install 되지 않을 수 있습니다. 빌드 실패시 로그가 눈에 보이기 때문에, 명령 오류에 따른 수정을 하면되지만 혹시라도 모르는 사람이 있을수도있기 때문에 환경변수 추가에 대한 내용을 적어두었습니다. 환경변수에 JAVA_HOME을 추가하면 되고 보통 oracle에서 받은 java를 설치할경우 설치 Driectory는 다음과 같습니다. "C:\Program Files\Java"

설치경로를 확인한뒤 환경변수에 다음과 같이 JAVA_HOME을 지정해주면 됩니다.

Window
------
변수 이름(N) : JAVA_HOME
변수 값(V) : C:\Program Files\Java\jdk1.7.0_76

1.2. [BUG] Android SDK 가 지정되있지 않은 경우

Android SDK 또한 ANDROID_PATH에 대한 것이 Path에 지정되어 있지 않다면 빌드가 정상적으로 이루어지지 않는다. 따라서 이 역시 환경변수에 추가해주어야 한다.

Window
------
변수 이름(N) : ANDROID_HOME
변수 값(V) : C:\Development\android_sdk

변수 이름(N) : Path
변수 값(V) : ...;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;...


Linux
------
export ANDROID_HOME=/home/francis/Android/Sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

1.3. [BUG] Android SDK 16이 없는 경우

Android SDK 16 platform을 설치하면 됩니다. SDK Manager 를 활성화 시키고 아래의 화면과 같은 부분이 install 되어 있으면 됩니다.

2. AndroidAnnotations Maven Build 구조 분석

생각했던것 보다 엄청난 Maven 상속 구조를 가지고 있었습니다. 실제로 이런 프로젝트 빌드와 배포를 수행해 보지 않았기 때문에 빌드에 성공한뒤 프로젝트에 대한 구성 내용에 대한 파악을 진행해 보았습니다.

추후 업데이트 예정...

No comments:

Post a Comment