diff --git a/build/Android.mk b/build/Android.mk index c7241d92d..63c553857 100644 --- a/build/Android.mk +++ b/build/Android.mk @@ -80,6 +80,30 @@ $(android_jar_src_target): $(full_src_target) ALL_SDK_FILES += $(android_jar_full_target) ALL_SDK_FILES += $(android_jar_src_target) +# ============ Metalava SDK jar file of stubs ============ +full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,metalava_android_stubs_current,,COMMON)/classes.jar +full_src_target := $(OUT_DOCS)/metalava-api-stubs-docs-stubs.srcjar + +.PHONY: metalava_android_stubs +metalava_android_stubs: $(full_target) $(full_src_target) + +# android.jar is what we put in the SDK package. +android_jar_intermediates := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/metalava_android_jar_intermediates +android_jar_full_target := $(android_jar_intermediates)/metalava-android.jar +android_jar_src_target := $(android_jar_intermediates)/metalava-android-stubs-src.jar + +$(android_jar_full_target): $(full_target) + @echo Package SDK Stubs: $@ + $(copy-file-to-target) + +$(android_jar_src_target): $(full_src_target) + @echo Package SDK Stubs Source: $@ + $(hide)mkdir -p $(dir $@) + $(hide)$(ACP) $< $@ + +ALL_SDK_FILES += $(android_jar_full_target) +ALL_SDK_FILES += $(android_jar_src_target) + # ==================================================== # The uiautomator stubs @@ -154,3 +178,21 @@ android_test_stubs: $(full_target) # Build and store the android_test.jar. $(call dist-for-goals,sdk win_sdk,$(full_target):android_test.jar) + +# ============ Metalava System SDK ============ +full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,metalava_android_system_stubs_current,,COMMON)/classes.jar + +.PHONY: metalava_android_system_stubs +metalava_android_system_stubs: $(full_target) + +# Build and store the android_system.jar. +$(call dist-for-goals,sdk win_sdk,$(full_target):metalava_android_system.jar) + +# ============ Metalava Test SDK ============ +full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,metalava_android_test_stubs_current,,COMMON)/classes.jar + +.PHONY: metalava_android_test_stubs +metalava_android_test_stubs: $(full_target) + +# Build and store the android_test.jar. +$(call dist-for-goals,sdk win_sdk,$(full_target):metalava_android_test.jar) diff --git a/build/sdk.atree b/build/sdk.atree index d4c7a0e6d..74f4355dd 100644 --- a/build/sdk.atree +++ b/build/sdk.atree @@ -64,7 +64,7 @@ external/chromium-trace/UPSTREAM_REVISION platfo # Compatibility: moved to platform but also leave them in platform-tools for a little # longer until all active Gradle plugins have support for looking in both places development/sdk/generated-api-versions.xml platform-tools/api/api-versions.xml -prebuilts/sdk/sdk-annotations/annotations.zip platform-tools/api/annotations.zip +${OUT_DIR}/target/common/obj/PACKAGING/metalava-api-stubs-docs_annotations.zip platform-tools/api/annotations.zip ############################################################################## # Build Tools Component @@ -158,8 +158,9 @@ ${HOST_OUT}/development/sdk/platform_source.properties sdk/sdk-build.prop platforms/${PLATFORM_NAME}/build.prop # Main Public API jar -${OUT_DIR}/target/common/obj/PACKAGING/android_jar_intermediates/android.jar platforms/${PLATFORM_NAME}/android.jar -${OUT_DIR}/target/common/obj/PACKAGING/android_jar_intermediates/android-stubs-src.jar platforms/${PLATFORM_NAME}/android-stubs-src.jar +${OUT_DIR}/target/common/obj/PACKAGING/metalava_android_jar_intermediates/metalava-android.jar platforms/${PLATFORM_NAME}/android.jar +${OUT_DIR}/target/common/obj/PACKAGING/metalava_android_jar_intermediates/metalava-android-stubs-src.jar platforms/${PLATFORM_NAME}/android-stubs-src.jar + # optional API files. development/build/optional.json platforms/${PLATFORM_NAME}/optional/optional.json ${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/org.apache.http.legacy.stubs_intermediates/classes.jar platforms/${PLATFORM_NAME}/optional/org.apache.http.legacy.jar @@ -205,6 +206,7 @@ development/sdk/generated-api-versions.xml platforms/${PLATFORM_NAME}/data/api- # API annotations database for lint prebuilts/sdk/sdk-annotations/annotations.zip platforms/${PLATFORM_NAME}/data/annotations.zip +${OUT_DIR}/target/common/obj/PACKAGING/metalava-api-stubs-docs_annotations.zip platforms/${PLATFORM_NAME}/data/annotations.zip # Eclipse Editors support framework/layoutlib-legacy.jar platforms/${PLATFORM_NAME}/data/layoutlib.jar