Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 1 | LOCAL_PATH := $(call my-dir) |
| 2 | |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 3 | # ===== SDK source.property files ===== |
| 4 | |
| 5 | # Add all files to be generated from the source.prop templates to the SDK pre-requisites |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 6 | sdk_props := $(patsubst \ |
| 7 | $(TOPDIR)development/sdk/%_source.prop_template, \ |
| 8 | $(HOST_OUT)/development/sdk/%_source.properties, \ |
| 9 | $(wildcard $(TOPDIR)development/sdk/*_source.prop_template)) |
| 10 | sample_props := $(patsubst \ |
| 11 | $(TOPDIR)development/samples/%_source.prop_template, \ |
| 12 | $(HOST_OUT)/development/samples/%_source.properties, \ |
| 13 | $(wildcard $(TOPDIR)development/samples/*_source.prop_template)) |
| 14 | sys_img_props := $(patsubst \ |
Raphael Moll | 26bcf6a | 2014-06-03 10:44:56 -0700 | [diff] [blame] | 15 | $(TOPDIR)development/sys-img/%_source.prop_template, \ |
| 16 | $(HOST_OUT)/development/sys-img-$(TARGET_CPU_ABI)/%_source.properties, \ |
| 17 | $(wildcard $(TOPDIR)development/sys-img/*_source.prop_template)) |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 18 | ALL_SDK_FILES += $(sdk_props) $(sample_props) $(sys_img_props) |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 19 | |
| 20 | # Rule to convert a source.prop template into the desired source.property |
Raphael Moll | 26bcf6a | 2014-06-03 10:44:56 -0700 | [diff] [blame] | 21 | # This needs to vary based on the CPU ABI for the system-image files. |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 22 | # Rewritten variables: |
| 23 | # - ${PLATFORM_VERSION} e.g. "1.0" |
| 24 | # - ${PLATFORM_SDK_VERSION} e.g. "3", aka the API level |
| 25 | # - ${PLATFORM_VERSION_CODENAME} e.g. "REL" (transformed into "") or "Cupcake" |
Raphael Moll | 26bcf6a | 2014-06-03 10:44:56 -0700 | [diff] [blame] | 26 | # - ${TARGET_ARCH} e.g. "arm", "x86", "mips" and their 64-bit variants. |
| 27 | # - ${TARGET_CPU_ABI} e.g. "armeabi", "x86", "mips" and their 64-bit variants. |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 28 | $(sys_img_props) : $(HOST_OUT)/development/sys-img-$(TARGET_CPU_ABI)/%_source.properties : $(TOPDIR)development/sys-img/%_source.prop_template |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 29 | @echo Generate $@ |
| 30 | $(hide) mkdir -p $(dir $@) |
Raphael Moll | 40c7126 | 2014-05-16 11:40:45 -0700 | [diff] [blame] | 31 | $(hide) sed \ |
| 32 | -e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \ |
| 33 | -e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \ |
| 34 | -e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \ |
| 35 | -e 's/$${TARGET_ARCH}/$(TARGET_ARCH)/' \ |
| 36 | -e 's/$${TARGET_CPU_ABI}/$(TARGET_CPU_ABI)/' \ |
| 37 | $< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@ |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 38 | |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 39 | $(sdk_props) : $(HOST_OUT)/development/sdk/%_source.properties : $(TOPDIR)development/sdk/%_source.prop_template |
Raphael Moll | 26bcf6a | 2014-06-03 10:44:56 -0700 | [diff] [blame] | 40 | @echo Generate $@ |
| 41 | $(hide) mkdir -p $(dir $@) |
| 42 | $(hide) sed \ |
| 43 | -e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \ |
| 44 | -e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \ |
| 45 | -e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \ |
| 46 | $< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@ |
| 47 | |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 48 | $(sample_props) : $(HOST_OUT)/development/samples/%_source.properties : $(TOPDIR)development/samples/%_source.prop_template |
Xavier Ducrohet | bea50d3 | 2012-02-15 18:31:46 -0800 | [diff] [blame] | 49 | @echo Generate $@ |
| 50 | $(hide) mkdir -p $(dir $@) |
Raphael Moll | 40c7126 | 2014-05-16 11:40:45 -0700 | [diff] [blame] | 51 | $(hide) sed\ |
| 52 | -e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \ |
| 53 | -e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \ |
| 54 | -e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \ |
| 55 | $< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@ |
Xavier Ducrohet | bea50d3 | 2012-02-15 18:31:46 -0800 | [diff] [blame] | 56 | |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 57 | |
Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 58 | # ===== SDK jar file of stubs ===== |
| 59 | # A.k.a the "current" version of the public SDK (android.jar inside the SDK package). |
Nan Zhang | 1c7b1a1 | 2018-02-28 16:28:17 -0800 | [diff] [blame] | 60 | full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,android_stubs_current,,COMMON)/classes.jar |
| 61 | full_src_target := $(OUT_DOCS)/api-stubs-docs-stubs.srcjar |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 62 | |
| 63 | .PHONY: android_stubs |
Narayan Kamath | e54bbd8 | 2016-02-05 13:56:15 +0000 | [diff] [blame] | 64 | android_stubs: $(full_target) $(full_src_target) |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 65 | |
Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 66 | # android.jar is what we put in the SDK package. |
Colin Cross | 18b3f5f | 2019-11-04 14:52:47 -0800 | [diff] [blame] | 67 | android_jar_intermediates := $(call intermediates-dir-for,PACKAGING,android_jar,,COMMON) |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 68 | android_jar_full_target := $(android_jar_intermediates)/android.jar |
Narayan Kamath | e54bbd8 | 2016-02-05 13:56:15 +0000 | [diff] [blame] | 69 | android_jar_src_target := $(android_jar_intermediates)/android-stubs-src.jar |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 70 | |
Jaewoong Jung | 3626b04 | 2019-03-12 18:17:14 -0700 | [diff] [blame] | 71 | # unzip and zip android.jar before packaging it. (workaround for b/127733650) |
| 72 | full_target_repackaged := $(android_jar_intermediates)/repackaged/repackaged.jar |
| 73 | $(full_target_repackaged): $(full_target) | $(ZIPTIME) |
| 74 | @echo Repackaging SDK jar: $@ |
| 75 | $(hide) rm -rf $(dir $@) && mkdir -p $(dir $@) |
| 76 | unzip -q $< -d $(dir $@) |
| 77 | cd $(dir $@) && zip -rqX $(notdir $@) * |
| 78 | $(remove-timestamps-from-package) |
| 79 | |
| 80 | $(android_jar_full_target): $(full_target_repackaged) |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 81 | @echo Package SDK Stubs: $@ |
Dan Willemsen | f230a38 | 2016-03-22 23:32:17 -0700 | [diff] [blame] | 82 | $(copy-file-to-target) |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 83 | |
Narayan Kamath | e54bbd8 | 2016-02-05 13:56:15 +0000 | [diff] [blame] | 84 | $(android_jar_src_target): $(full_src_target) |
| 85 | @echo Package SDK Stubs Source: $@ |
| 86 | $(hide)mkdir -p $(dir $@) |
| 87 | $(hide)$(ACP) $< $@ |
| 88 | |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 89 | ALL_SDK_FILES += $(android_jar_full_target) |
Narayan Kamath | e54bbd8 | 2016-02-05 13:56:15 +0000 | [diff] [blame] | 90 | ALL_SDK_FILES += $(android_jar_src_target) |
Ying Wang | d46eaa6 | 2011-03-01 17:12:12 -0800 | [diff] [blame] | 91 | |
Colin Cross | 18b3f5f | 2019-11-04 14:52:47 -0800 | [diff] [blame] | 92 | # ===== SDK for system modules ===== |
| 93 | # A subset of the public SDK to convert to system modules for use with javac -source 9 -target 9 |
| 94 | ALL_SDK_FILES += $(call intermediates-dir-for,JAVA_LIBRARIES,core-current-stubs-for-system-modules,,COMMON)/classes.jar |
| 95 | |
Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 96 | # ==================================================== |
| 97 | |
Ying Wang | 020d4ab | 2012-08-14 16:38:02 -0700 | [diff] [blame] | 98 | # The uiautomator stubs |
Jiyong Park | e43dd95 | 2018-03-23 12:19:44 +0900 | [diff] [blame] | 99 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_uiautomator_intermediates/classes.jar |
Ying Wang | d46eaa6 | 2011-03-01 17:12:12 -0800 | [diff] [blame] | 100 | |
Ying Wang | a89998d | 2015-04-21 16:56:05 -0700 | [diff] [blame] | 101 | # org.apache.http.legacy.jar stubs |
Jiyong Park | d06181a | 2018-05-02 20:44:00 +0900 | [diff] [blame] | 102 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy.stubs_intermediates/classes.jar |
Ying Wang | a89998d | 2015-04-21 16:56:05 -0700 | [diff] [blame] | 103 | |
Paul Duffin | 317f8c8 | 2017-10-16 12:38:04 +0100 | [diff] [blame] | 104 | # test stubs |
Jiyong Park | e43dd95 | 2018-03-23 12:19:44 +0900 | [diff] [blame] | 105 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.mock.stubs_intermediates/classes.jar |
| 106 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.base.stubs_intermediates/classes.jar |
| 107 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/classes.jar |
Paul Duffin | 317f8c8 | 2017-10-16 12:38:04 +0100 | [diff] [blame] | 108 | |
Colin Cross | 1552502 | 2017-09-21 17:34:08 -0700 | [diff] [blame] | 109 | # core-lambda-stubs |
| 110 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/core-lambda-stubs_intermediates/classes.jar |
| 111 | |
Ivan Gavrilovic | b6d3f47 | 2017-09-28 17:23:42 +0100 | [diff] [blame] | 112 | # shrinkedAndroid.jar for multidex support |
| 113 | ALL_SDK_FILES += $(HOST_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/shrinkedAndroid_intermediates/shrinkedAndroid.jar |
| 114 | |
Raphael Moll | 4f8a38e | 2014-06-04 23:19:19 -0700 | [diff] [blame] | 115 | # ======= Lint API XML =========== |
Colin Cross | 0bb7772 | 2020-07-06 11:20:07 -0700 | [diff] [blame] | 116 | full_target := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/framework-doc-stubs_generated-api-versions.xml |
| 117 | ALL_SDK_FILES += $(full_target) |
| 118 | $(call dist-for-goals,sdk win_sdk,$(full_target):data/api-versions.xml) |
Aurimas Liutikas | 3219aad | 2020-03-12 16:26:06 -0700 | [diff] [blame] | 119 | |
| 120 | # ======= Lint Annotations zip =========== |
Colin Cross | 0bb7772 | 2020-07-06 11:20:07 -0700 | [diff] [blame] | 121 | full_target := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/framework-doc-stubs_annotations.zip |
| 122 | ALL_SDK_FILES += $(full_target) |
| 123 | $(call dist-for-goals,sdk win_sdk,$(full_target):data/annotations.zip) |
Raphael Moll | 4f8a38e | 2014-06-04 23:19:19 -0700 | [diff] [blame] | 124 | |
Colin Cross | 76aa9e1 | 2019-04-18 12:10:41 -0700 | [diff] [blame] | 125 | # ============ SDK AIDL ============ |
| 126 | $(eval $(call copy-one-file,$(FRAMEWORK_AIDL),$(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/framework.aidl)) |
| 127 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/framework.aidl |
| 128 | |
Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 129 | # ============ System SDK ============ |
Nan Zhang | 1c7b1a1 | 2018-02-28 16:28:17 -0800 | [diff] [blame] | 130 | full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,android_system_stubs_current,,COMMON)/classes.jar |
Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 131 | |
| 132 | .PHONY: android_system_stubs |
| 133 | android_system_stubs: $(full_target) |
Ying Wang | c41276e | 2014-07-14 20:39:54 -0700 | [diff] [blame] | 134 | |
| 135 | # Build and store the android_system.jar. |
Ying Wang | 567a46b | 2014-07-18 09:16:40 -0700 | [diff] [blame] | 136 | $(call dist-for-goals,sdk win_sdk,$(full_target):android_system.jar) |
Sundong Ahn | f4b9f6e | 2018-09-19 12:30:29 +0900 | [diff] [blame] | 137 | $(call dist-for-goals,sdk win_sdk,$(full_target):apistubs/android/system/android.jar) |
Michael Wright | a2595fc | 2015-11-06 15:26:17 +0000 | [diff] [blame] | 138 | |
| 139 | # ============ Test SDK ============ |
Nan Zhang | 1c7b1a1 | 2018-02-28 16:28:17 -0800 | [diff] [blame] | 140 | full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,android_test_stubs_current,,COMMON)/classes.jar |
Michael Wright | a2595fc | 2015-11-06 15:26:17 +0000 | [diff] [blame] | 141 | |
| 142 | .PHONY: android_test_stubs |
| 143 | android_test_stubs: $(full_target) |
| 144 | |
| 145 | # Build and store the android_test.jar. |
| 146 | $(call dist-for-goals,sdk win_sdk,$(full_target):android_test.jar) |
Sundong Ahn | f4b9f6e | 2018-09-19 12:30:29 +0900 | [diff] [blame] | 147 | $(call dist-for-goals,sdk win_sdk,$(full_target):apistubs/android/test/android.jar) |
Anton Hansson | b4aca10 | 2020-03-19 15:17:52 +0000 | [diff] [blame] | 148 | |
| 149 | # ============ Module Lib SDK ============ |
| 150 | full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,android_module_lib_stubs_current,,COMMON)/classes.jar |
| 151 | |
| 152 | .PHONY: android_module_lib_stubs |
| 153 | android_module_lib_stubs: $(full_target) |
| 154 | |
| 155 | $(call dist-for-goals,sdk win_sdk,$(full_target):apistubs/android/module-lib/android.jar) |
| 156 | |
| 157 | # ============ System server SDK ============ |
| 158 | full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,android_system_server_stubs_current,,COMMON)/classes.jar |
| 159 | |
| 160 | .PHONY: android_system_server_stubs |
| 161 | android_system_server_stubs: $(full_target) |
| 162 | |
| 163 | $(call dist-for-goals,sdk win_sdk,$(full_target):apistubs/android/system-server/android.jar) |