diff options
author | Ying Wang <wangying@google.com> | 2014-06-03 10:40:10 -0700 |
---|---|---|
committer | Ying Wang <wangying@google.com> | 2014-06-16 15:04:22 -0700 |
commit | 78e75a9abf5a1e4c592d121e62244deab4aaf851 (patch) | |
tree | cd7041d1a5f1c12b59f0ec4b3d08eb5d9e84f314 /build/Android.mk | |
parent | 7ed02dc7bddc2e9c89f768a63e79b1043d900323 (diff) | |
download | android_development-78e75a9abf5a1e4c592d121e62244deab4aaf851.tar.gz android_development-78e75a9abf5a1e4c592d121e62244deab4aaf851.tar.bz2 android_development-78e75a9abf5a1e4c592d121e62244deab4aaf851.zip |
Build system API stubs.
Run "make android_system_stubs" to build the system API jar file.
Change-Id: I0c221e110683f9315f4082e68ed3835162f91320
Diffstat (limited to 'build/Android.mk')
-rw-r--r-- | build/Android.mk | 65 |
1 files changed, 17 insertions, 48 deletions
diff --git a/build/Android.mk b/build/Android.mk index b815bf75e..e91ff989d 100644 --- a/build/Android.mk +++ b/build/Android.mk @@ -1,3 +1,5 @@ +LOCAL_PATH := $(call my-dir) + # ===== SDK source.property files ===== # Add all files to be generated from the source.prop templates to the SDK pre-requisites @@ -52,53 +54,11 @@ $(HOST_OUT)/development/samples/%_source.properties : $(TOPDIR)development/sampl $< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@ -# ===== Android Support/Compatibility Library ===== - -LOCAL_PATH := $(call my-dir) - -# The source files for this library are _all_ generated, something we don't do -# anywhere else, and the rules don't support. Aditionally, the depenencies on -# these files don't really matter, because they are all generated as part of -# building the docs. So for the dependency, we just use the -# api-stubs-timestamp file, which is the $@ of the droiddoc rule. -# We also need to depend on framework-res.apk, in order to pull the -# resource files out of there for aapt. -# -# Normally the package rule runs aapt, which includes the resource, -# but we're not running that in our package rule so just copy in the -# resource files here. -intermediates := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_stubs_current_intermediates -full_target := $(intermediates)/classes.jar -src_dir := $(intermediates)/src -classes_dir := $(intermediates)/classes -framework_res_package := $(call intermediates-dir-for,APPS,framework-res,,COMMON)/package-export.apk - -$(full_target): PRIVATE_SRC_DIR := $(src_dir) -$(full_target): PRIVATE_INTERMEDIATES_DIR := $(intermediates) -$(full_target): PRIVATE_CLASS_INTERMEDIATES_DIR := $(classes_dir) -$(full_target): PRIVATE_FRAMEWORK_RES_PACKAGE := $(framework_res_package) - -$(full_target): $(OUT_DOCS)/api-stubs-timestamp $(framework_res_package) - @echo Compiling SDK Stubs: $@ - $(hide) rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) - $(hide) mkdir -p $(PRIVATE_CLASS_INTERMEDIATES_DIR) - $(hide) find $(PRIVATE_SRC_DIR) -name "*.java" > \ - $(PRIVATE_INTERMEDIATES_DIR)/java-source-list - $(hide) $(TARGET_JAVAC) -encoding ascii -bootclasspath "" \ - -g $(xlint_unchecked) \ - -extdirs "" -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) \ - \@$(PRIVATE_INTERMEDIATES_DIR)/java-source-list \ - || ( rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) ; exit 41 ) - $(hide) if [ ! -f $(PRIVATE_FRAMEWORK_RES_PACKAGE) ]; then \ - echo Missing file $(PRIVATE_FRAMEWORK_RES_PACKAGE); \ - rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR); \ - exit 1; \ - fi; - $(hide) unzip -qo $(PRIVATE_FRAMEWORK_RES_PACKAGE) -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) - $(hide) (cd $(PRIVATE_CLASS_INTERMEDIATES_DIR) && rm -rf classes.dex META-INF) - $(hide) mkdir -p $(dir $@) - $(hide) jar -cf $@ -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) . - $(hide) jar -u0f $@ -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) resources.arsc +# ===== SDK jar file of stubs ===== +# A.k.a the "current" version of the public SDK (android.jar inside the SDK package). +sdk_stub_name := android_stubs_current +stub_timestamp := $(OUT_DOCS)/api-stubs-timestamp +include $(LOCAL_PATH)/build_android_stubs.mk .PHONY: android_stubs android_stubs: $(full_target) @@ -110,7 +70,7 @@ android_stubs: $(full_target) $(dir $(full_target))javalib.jar: $(full_target) $(hide)$(ACP) $< $@ - +# android.jar is what we put in the SDK package. android_jar_intermediates := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/android_jar_intermediates android_jar_full_target := $(android_jar_intermediates)/android.jar @@ -121,6 +81,8 @@ $(android_jar_full_target): $(full_target) ALL_SDK_FILES += $(android_jar_full_target) +# ==================================================== + # The uiautomator stubs ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_uiautomator_intermediates/javalib.jar @@ -174,3 +136,10 @@ $(HOST_OUT)/development/sdk/generated-api-versions.xml : $@ +# ============ System SDK ============ +sdk_stub_name := android_system_stubs_current +stub_timestamp := $(OUT_DOCS)/system-api-stubs-timestamp +include $(LOCAL_PATH)/build_android_stubs.mk + +.PHONY: android_system_stubs +android_system_stubs: $(full_target) |