summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-06-10 19:03:27 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-06-10 19:03:27 +0000
commit60ec2abfed7a1f94e2dac78eb6c5faf8b17f8dd5 (patch)
tree0d1a6c6f70996e50ad2483bd5fe32e9a9b130cb8
parent5571796bdb4482031f47a322b47d8c56ab0d7a7a (diff)
parent3a1dcff97b22cc566fc33b655d595fcd61dbb42e (diff)
downloadandroid_development-60ec2abfed7a1f94e2dac78eb6c5faf8b17f8dd5.tar.gz
android_development-60ec2abfed7a1f94e2dac78eb6c5faf8b17f8dd5.tar.bz2
android_development-60ec2abfed7a1f94e2dac78eb6c5faf8b17f8dd5.zip
Snap for 4832339 from 3a1dcff97b22cc566fc33b655d595fcd61dbb42e to pi-release
Change-Id: I1e9d12f483d7f384e06723b434d4172c878b54de
-rw-r--r--build/Android.mk48
-rw-r--r--build/build_android_stubs.mk9
2 files changed, 56 insertions, 1 deletions
diff --git a/build/Android.mk b/build/Android.mk
index eaa691abd..db55681d8 100644
--- a/build/Android.mk
+++ b/build/Android.mk
@@ -87,6 +87,31 @@ $(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 ============
+sdk_stub_name := metalava_android_stubs_current
+stub_timestamp := $(OUT_DOCS)/metalava-api-stubs-timestamp
+include $(LOCAL_PATH)/build_android_stubs.mk
+
+.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
@@ -166,3 +191,26 @@ 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 ============
+sdk_stub_name := metalava_android_system_stubs_current
+stub_timestamp := $(OUT_DOCS)/metalava-system-api-stubs-timestamp
+include $(LOCAL_PATH)/build_android_stubs.mk
+
+.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 ============
+sdk_stub_name := metalava_android_test_stubs_current
+stub_timestamp := $(OUT_DOCS)/metalava-test-api-stubs-timestamp
+include $(LOCAL_PATH)/build_android_stubs.mk
+
+.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/build_android_stubs.mk b/build/build_android_stubs.mk
index 144bcd0ba..d324934e5 100644
--- a/build/build_android_stubs.mk
+++ b/build/build_android_stubs.mk
@@ -39,6 +39,13 @@ else
$(full_target): PRIVATE_ERRORPRONE_FLAGS :=
endif
+ifneq ($(filter metalava%,$(sdk_stub_name)),)
+$(full_target): $(HOST_OUT_JAVA_LIBRARIES)/stub-annotations$(COMMON_JAVA_PACKAGE_SUFFIX)
+$(full_target): PRIVATE_METALAVA_CLASSPATH := -classpath $(HOST_OUT_JAVA_LIBRARIES)/stub-annotations$(COMMON_JAVA_PACKAGE_SUFFIX)
+else
+$(full_target): PRIVATE_METALAVA_CLASSPATH :=
+endif
+
$(full_src_target): $(stub_timestamp)
@echo Packaging SDK Stub sources: $@
$(hide) cd $(PRIVATE_INTERMEDIATES_DIR) && zip -rq $(notdir $@) $(notdir $(PRIVATE_SRC_DIR))
@@ -63,7 +70,7 @@ $(full_target): $(stub_timestamp) $(framework_res_package) $(ZIPTIME)
$(hide) find $(PRIVATE_SRC_DIR) -name "*.java" > \
$(PRIVATE_INTERMEDIATES_DIR)/java-source-list
$(hide) $(TARGET_JAVAC) $(PRIVATE_ERRORPRONE_FLAGS) \
- -source 1.8 -target 1.8 -encoding UTF-8 -bootclasspath "" \
+ -source 1.8 -target 1.8 -encoding UTF-8 -bootclasspath "" $(PRIVATE_METALAVA_CLASSPATH) \
-g -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) \
\@$(PRIVATE_INTERMEDIATES_DIR)/java-source-list \
|| ( rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) ; exit 41 )