Changed droiddoc.mk to support Metalava annotations.
Test: manually cp stub-annotations.jar to pi-dev; and m -j metalava_android_stubs Bug: b/78245848 Change-Id: If1ff99ca6d7c55a4d6880ad2fe85c66a0a62a490 Merged-In: I53bb68f7bdedd768a7e3dd7cb1c6fc18c2181b9b
This commit is contained in:
parent
ff48801c0d
commit
013b0d42dd
|
@ -78,6 +78,7 @@ LOCAL_DROIDDOC_USE_METALAVA:=
|
||||||
LOCAL_DROIDDOC_METALAVA_PREVIOUS_API:=
|
LOCAL_DROIDDOC_METALAVA_PREVIOUS_API:=
|
||||||
LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED:=
|
LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED:=
|
||||||
LOCAL_DROIDDOC_METALAVA_MERGE_ANNOTATIONS_DIR:=
|
LOCAL_DROIDDOC_METALAVA_MERGE_ANNOTATIONS_DIR:=
|
||||||
|
LOCAL_DROIDDOC_METALAVA_DOCS_STUB_OUT_DIR:=
|
||||||
LOCAL_DX_FLAGS:=
|
LOCAL_DX_FLAGS:=
|
||||||
LOCAL_EMMA_COVERAGE_FILTER:=
|
LOCAL_EMMA_COVERAGE_FILTER:=
|
||||||
LOCAL_EMMA_INSTRUMENT:=
|
LOCAL_EMMA_INSTRUMENT:=
|
||||||
|
|
|
@ -114,6 +114,7 @@ endif
|
||||||
$(full_target): PRIVATE_OUT_DIR := $(out_dir)
|
$(full_target): PRIVATE_OUT_DIR := $(out_dir)
|
||||||
$(full_target): PRIVATE_DROIDDOC_OPTIONS := $(LOCAL_DROIDDOC_OPTIONS)
|
$(full_target): PRIVATE_DROIDDOC_OPTIONS := $(LOCAL_DROIDDOC_OPTIONS)
|
||||||
$(full_target): PRIVATE_STUB_OUT_DIR := $(LOCAL_DROIDDOC_STUB_OUT_DIR)
|
$(full_target): PRIVATE_STUB_OUT_DIR := $(LOCAL_DROIDDOC_STUB_OUT_DIR)
|
||||||
|
$(full_target): PRIVATE_METALAVA_DOCS_STUB_OUT_DIR := $(LOCAL_DROIDDOC_METALAVA_DOCS_STUB_OUT_DIR)
|
||||||
|
|
||||||
# Lists the input files for the doc build into a text file
|
# Lists the input files for the doc build into a text file
|
||||||
# suitable for the @ syntax of javadoc.
|
# suitable for the @ syntax of javadoc.
|
||||||
|
@ -165,17 +166,8 @@ endif
|
||||||
$(full_target): PRIVATE_LOCAL_PATH := $(LOCAL_PATH)
|
$(full_target): PRIVATE_LOCAL_PATH := $(LOCAL_PATH)
|
||||||
|
|
||||||
ifeq ($(strip $(LOCAL_DROIDDOC_USE_METALAVA)),true)
|
ifeq ($(strip $(LOCAL_DROIDDOC_USE_METALAVA)),true)
|
||||||
ifneq (,$(filter --generate-documentation,$(LOCAL_DROIDDOC_OPTIONS)))
|
|
||||||
|
|
||||||
pos = $(if $(findstring $1,$2),$(call pos,$1,$(wordlist 2,$(words $2),$2),x $3),$3)
|
|
||||||
metalava_args := $(wordlist 1, $(words $(call pos,--generate-documentation,$(LOCAL_DROIDDOC_OPTIONS))), \
|
|
||||||
$(LOCAL_DROIDDOC_OPTIONS))
|
|
||||||
remaining_args := $(wordlist $(words $(call pos,--generate-documentation,$(LOCAL_DROIDDOC_OPTIONS))), \
|
|
||||||
$(words $(LOCAL_DROIDDOC_OPTIONS)), $(LOCAL_DROIDDOC_OPTIONS))
|
|
||||||
doclava_args := $(wordlist 2, $(words $(remaining_args)), $(remaining_args))
|
|
||||||
|
|
||||||
ifneq ($(LOCAL_DROIDDOC_METALAVA_PREVIOUS_API),)
|
ifneq ($(LOCAL_DROIDDOC_METALAVA_PREVIOUS_API),)
|
||||||
$(full_target): PRIVATE_DROIDDOC_METALAVA_PREVIOUS_API := --check-compatibility --previous-api $(LOCAL_DROIDDOC_METALAVA_PREVIOUS_API)
|
$(full_target): PRIVATE_DROIDDOC_METALAVA_PREVIOUS_API := --previous-api $(LOCAL_DROIDDOC_METALAVA_PREVIOUS_API)
|
||||||
else
|
else
|
||||||
$(full_target): PRIVATE_DROIDDOC_METALAVA_PREVIOUS_API :=
|
$(full_target): PRIVATE_DROIDDOC_METALAVA_PREVIOUS_API :=
|
||||||
endif #!LOCAL_DROIDDOC_METALAVA_PREVIOUS_API
|
endif #!LOCAL_DROIDDOC_METALAVA_PREVIOUS_API
|
||||||
|
@ -198,6 +190,15 @@ else
|
||||||
$(full_target): PRIVATE_DROIDDOC_METALAVA_ANNOTATIONS :=
|
$(full_target): PRIVATE_DROIDDOC_METALAVA_ANNOTATIONS :=
|
||||||
endif #LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED=true
|
endif #LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED=true
|
||||||
|
|
||||||
|
ifneq (,$(filter --generate-documentation,$(LOCAL_DROIDDOC_OPTIONS)))
|
||||||
|
|
||||||
|
pos = $(if $(findstring $1,$2),$(call pos,$1,$(wordlist 2,$(words $2),$2),x $3),$3)
|
||||||
|
metalava_args := $(wordlist 1, $(words $(call pos,--generate-documentation,$(LOCAL_DROIDDOC_OPTIONS))), \
|
||||||
|
$(LOCAL_DROIDDOC_OPTIONS))
|
||||||
|
remaining_args := $(wordlist $(words $(call pos,--generate-documentation,$(LOCAL_DROIDDOC_OPTIONS))), \
|
||||||
|
$(words $(LOCAL_DROIDDOC_OPTIONS)), $(LOCAL_DROIDDOC_OPTIONS))
|
||||||
|
doclava_args := $(wordlist 2, $(words $(remaining_args)), $(remaining_args))
|
||||||
|
|
||||||
$(full_target): \
|
$(full_target): \
|
||||||
$(full_src_files) $(LOCAL_GENERATED_SOURCES) \
|
$(full_src_files) $(LOCAL_GENERATED_SOURCES) \
|
||||||
$(droiddoc_templates) \
|
$(droiddoc_templates) \
|
||||||
|
@ -215,6 +216,7 @@ $(full_target): \
|
||||||
@echo metalava based docs: $(PRIVATE_OUT_DIR)
|
@echo metalava based docs: $(PRIVATE_OUT_DIR)
|
||||||
$(hide) mkdir -p $(dir $@)
|
$(hide) mkdir -p $(dir $@)
|
||||||
$(hide) rm -rf $(PRIVATE_STUB_OUT_DIR)
|
$(hide) rm -rf $(PRIVATE_STUB_OUT_DIR)
|
||||||
|
$(hide) rm -rf $(PRIVATE_METALAVA_DOCS_STUB_OUT_DIR)
|
||||||
$(call prepare-doc-source-list,$(PRIVATE_SRC_LIST_FILE),$(PRIVATE_JAVA_FILES), \
|
$(call prepare-doc-source-list,$(PRIVATE_SRC_LIST_FILE),$(PRIVATE_JAVA_FILES), \
|
||||||
$(PRIVATE_SOURCE_INTERMEDIATES_DIR) $(PRIVATE_ADDITIONAL_JAVA_DIR))
|
$(PRIVATE_SOURCE_INTERMEDIATES_DIR) $(PRIVATE_ADDITIONAL_JAVA_DIR))
|
||||||
$(ZIPSYNC) -d $(PRIVATE_SRCJAR_INTERMEDIATES_DIR) -l $(PRIVATE_SRCJAR_LIST_FILE) -f "*.java" $(PRIVATE_SRCJARS)
|
$(ZIPSYNC) -d $(PRIVATE_SRCJAR_INTERMEDIATES_DIR) -l $(PRIVATE_SRCJAR_LIST_FILE) -f "*.java" $(PRIVATE_SRCJARS)
|
||||||
|
@ -226,6 +228,7 @@ $(full_target): \
|
||||||
--sourcepath $(PRIVATE_SOURCE_PATH) \
|
--sourcepath $(PRIVATE_SOURCE_PATH) \
|
||||||
--no-banner --color --quiet \
|
--no-banner --color --quiet \
|
||||||
$(addprefix --stubs ,$(PRIVATE_STUB_OUT_DIR)) \
|
$(addprefix --stubs ,$(PRIVATE_STUB_OUT_DIR)) \
|
||||||
|
$(addprefix --doc-stubs ,$(PRIVATE_METALAVA_DOCS_STUB_OUT_DIR)) \
|
||||||
--write-stubs-source-list $(intermediates.COMMON)/stubs-src-list \
|
--write-stubs-source-list $(intermediates.COMMON)/stubs-src-list \
|
||||||
$(metalava_args) $(PRIVATE_DROIDDOC_METALAVA_PREVIOUS_API) $(PRIVATE_DROIDDOC_METALAVA_ANNOTATIONS) \
|
$(metalava_args) $(PRIVATE_DROIDDOC_METALAVA_PREVIOUS_API) $(PRIVATE_DROIDDOC_METALAVA_ANNOTATIONS) \
|
||||||
$(JAVADOC) -encoding UTF-8 -source 1.8 STUBS_SOURCE_LIST \
|
$(JAVADOC) -encoding UTF-8 -source 1.8 STUBS_SOURCE_LIST \
|
||||||
|
@ -239,10 +242,6 @@ $(full_target): \
|
||||||
-d $(PRIVATE_OUT_DIR) \
|
-d $(PRIVATE_OUT_DIR) \
|
||||||
$(PRIVATE_CURRENT_BUILD) $(PRIVATE_CURRENT_TIME) $(doclava_args) \
|
$(PRIVATE_CURRENT_BUILD) $(PRIVATE_CURRENT_TIME) $(doclava_args) \
|
||||||
&& touch -f $@ ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
|
&& touch -f $@ ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
|
||||||
|
|
||||||
ifeq ($(strip $(LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED)),true)
|
|
||||||
$(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(LOCAL_MODULE)_annotations.zip: $(full_target)
|
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
# no docs generation
|
# no docs generation
|
||||||
$(full_target): \
|
$(full_target): \
|
||||||
|
@ -264,13 +263,17 @@ $(full_target): \
|
||||||
$(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \
|
$(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \
|
||||||
$(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
|
$(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
|
||||||
--sourcepath $(PRIVATE_SOURCE_PATH) \
|
--sourcepath $(PRIVATE_SOURCE_PATH) \
|
||||||
$(PRIVATE_DROIDDOC_OPTIONS) --no-banner --color --quiet \
|
$(PRIVATE_DROIDDOC_OPTIONS) $(PRIVATE_DROIDDOC_METALAVA_PREVIOUS_API) $(PRIVATE_DROIDDOC_METALAVA_ANNOTATIONS) \
|
||||||
|
--no-banner --color --quiet \
|
||||||
$(addprefix --stubs ,$(PRIVATE_STUB_OUT_DIR)) \
|
$(addprefix --stubs ,$(PRIVATE_STUB_OUT_DIR)) \
|
||||||
&& touch -f $@ ) || (rm -rf $(PRIVATE_SRC_LIST_FILE); exit 45)
|
&& touch -f $@ ) || (rm -rf $(PRIVATE_SRC_LIST_FILE); exit 45)
|
||||||
|
|
||||||
endif # stubs + docs generation
|
endif # stubs + docs generation
|
||||||
|
ifeq ($(strip $(LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED)),true)
|
||||||
|
$(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(LOCAL_MODULE)_annotations.zip: $(full_target)
|
||||||
|
endif
|
||||||
|
|
||||||
else
|
else # doclava based droiddoc generation
|
||||||
|
|
||||||
# TODO(tobiast): Clean this up once we move to -source 1.9.
|
# TODO(tobiast): Clean this up once we move to -source 1.9.
|
||||||
# OpenJDK 9 does not have the concept of a "boot classpath" so we should
|
# OpenJDK 9 does not have the concept of a "boot classpath" so we should
|
||||||
|
|
Loading…
Reference in New Issue