iOS & Android

안드로이드 소스 빌드에서 DroidDoc 제거

_침묵_ 2011. 2. 23. 16:21
안드로이드 전체 소스를 빌드하는데에 많은 시간이 걸리고, 
또 개인적인 이유로 DroidDoc을 빌드 과정에서 빼야 하는 상황이 발생했다.

여기저기 둘러보니 $ANDROID_SRC_HOME/build/core/ 에 다양한 make파일(.mk)들이 있다.
이 중에 droiddoc.mk 파일이 DroidDoc 빌드를 담당하는 것 같다.

droiddoc.mk의 내용을 살펴보니 중간에 "-doclet DroidDoc" 으로 옵션을 준 부분이 있다.
(froyo에선 150라인, gingerbread에선 157라인인데, doclet이나 DroidDoc으로 검색해보면 정확하겠다.)
그 아래쪽으로 일반 javadoc으로 문서화하는 내용이 있는데, 무시해도 될 듯하다.

"@echo Doc droiddoc: ..." 라인 부터 ") || (rm -rf $(PRIVATE_OUT_DIR) ...."이 있는 라인까지 지워버렸다. (혹은 주석처리)
froyo에선 151~180라인, gingerbread에선 158~188라인. ( <- 이건 언제든지 바뀔 수 있음. )

그리고 다시 make 해보자~


$(full_target): $(full_src_files) $(droiddoc_templates) $(droiddoc) $(html_dir_files) $(full_java_lib_deps)
        @echo Docs droiddoc: $(PRIVATE_OUT_DIR)
        $(hide) mkdir -p $(dir $(full_target))
        $(call prepare-doc-source-list,$(PRIVATE_SRC_LIST_FILE),$(PRIVATE_JAVA_FILES), \
                        $(PRIVATE_SOURCE_INTERMEDIATES_DIR) $(PRIVATE_ADDITIONAL_JAVA_DIR))
        $(hide) ( \
                LD_LIBRARY_PATH=$(HOST_OUT_SHARED_LIBRARIES) \
                javadoc \
                \@$(PRIVATE_SRC_LIST_FILE) \
                -J-Xmx768m \
                -J-Djava.library.path=$(HOST_OUT_SHARED_LIBRARIES) \
                $(PRIVATE_PROFILING_OPTIONS) \
                -quiet \
                -doclet DroidDoc \
                -docletpath $(PRIVATE_DOCLETPATH) \
                -templatedir $(PRIVATE_CUSTOM_TEMPLATE_DIR) \
                -templatedir $(PRIVATE_TEMPLATE_DIR) \
                $(PRIVATE_DROIDDOC_HTML_DIR) \
                $(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
                -sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \
                -d $(PRIVATE_OUT_DIR) \
                $(PRIVATE_CURRENT_BUILD) $(PRIVATE_CURRENT_TIME) \
                $(PRIVATE_DROIDDOC_OPTIONS) \
        && rm -rf $(PRIVATE_OUT_ASSET_DIR) \
        && rm -rf $(PRIVATE_OUT_CUSTOM_ASSET_DIR) \
        && mkdir -p $(PRIVATE_OUT_ASSET_DIR) \
        && mkdir -p $(PRIVATE_OUT_CUSTOM_ASSET_DIR) \
        && cp -fr $(PRIVATE_IN_ASSET_DIR)/* $(PRIVATE_OUT_ASSET_DIR)/ \
        && cp -fr $(PRIVATE_IN_CUSTOM_ASSET_DIR)/* $(PRIVATE_OUT_CUSTOM_ASSET_DIR)/ \
        && touch -f $@ \
    ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
위 내용을 첫 줄 빼고 날려버리는 것~
$(full_target): $(full_src_files) $(droiddoc_templates) $(droiddoc) $(html_dir_files) $(full_java_lib_deps)