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 | 53052e3 | 2021-09-16 14:22:45 -0700 | [diff] [blame] | 6 | sdk_props := $(HOST_OUT)/development/sdk/doc_source.properties \ |
| 7 | $(HOST_OUT)/development/sdk/platform_source.properties \ |
| 8 | $(HOST_OUT)/development/sdk/source_source.properties |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 9 | sample_props := $(patsubst \ |
| 10 | $(TOPDIR)development/samples/%_source.prop_template, \ |
| 11 | $(HOST_OUT)/development/samples/%_source.properties, \ |
| 12 | $(wildcard $(TOPDIR)development/samples/*_source.prop_template)) |
| 13 | sys_img_props := $(patsubst \ |
Raphael Moll | 26bcf6a | 2014-06-03 10:44:56 -0700 | [diff] [blame] | 14 | $(TOPDIR)development/sys-img/%_source.prop_template, \ |
| 15 | $(HOST_OUT)/development/sys-img-$(TARGET_CPU_ABI)/%_source.properties, \ |
| 16 | $(wildcard $(TOPDIR)development/sys-img/*_source.prop_template)) |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 17 | ALL_SDK_FILES += $(sdk_props) $(sample_props) $(sys_img_props) |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 18 | |
| 19 | # Rule to convert a source.prop template into the desired source.property |
Raphael Moll | 26bcf6a | 2014-06-03 10:44:56 -0700 | [diff] [blame] | 20 | # 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] | 21 | # Rewritten variables: |
Anton Hansson | b6edd7a | 2021-08-26 17:07:09 +0100 | [diff] [blame] | 22 | # - ${PLATFORM_VERSION} e.g. "1.0" |
| 23 | # - ${PLATFORM_SDK_VERSION} e.g. "3", aka the API level |
| 24 | # - ${PLATFORM_EXTENSION_SDK_VERSION} e.g. "7" -- the extension sdk level |
| 25 | # - ${PLATFORM_IS_BASE_SDK} bool. -- whether the current extension sdk is the base extension for this api level |
| 26 | # - ${PLATFORM_VERSION_CODENAME} e.g. "REL" (transformed into "") or "Cupcake" |
| 27 | # - ${TARGET_ARCH} e.g. "arm", "x86", "mips" and their 64-bit variants. |
| 28 | # - ${TARGET_CPU_ABI} e.g. "armeabi", "x86", "mips" and their 64-bit variants. |
| 29 | define process_prop_template |
| 30 | @echo Generate $@ |
| 31 | $(hide) mkdir -p $(dir $@) |
| 32 | $(hide) sed \ |
| 33 | -e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \ |
| 34 | -e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \ |
| 35 | -e 's/$${PLATFORM_SDK_EXTENSION_VERSION}/$(PLATFORM_SDK_EXTENSION_VERSION)/' \ |
| 36 | -e 's/$${PLATFORM_IS_BASE_SDK}/$(if $(filter $(PLATFORM_SDK_EXTENSION_VERSION),$(PLATFORM_BASE_SDK_EXTENSION_VERSION)),true,false)/' \ |
| 37 | -e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \ |
| 38 | -e 's/$${TARGET_ARCH}/$(TARGET_ARCH)/' \ |
| 39 | -e 's/$${TARGET_CPU_ABI}/$(TARGET_CPU_ABI)/' \ |
| 40 | $< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@ |
| 41 | endef |
| 42 | |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 43 | $(sys_img_props) : $(HOST_OUT)/development/sys-img-$(TARGET_CPU_ABI)/%_source.properties : $(TOPDIR)development/sys-img/%_source.prop_template |
Anton Hansson | b6edd7a | 2021-08-26 17:07:09 +0100 | [diff] [blame] | 44 | $(process_prop_template) |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 45 | |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 46 | $(sdk_props) : $(HOST_OUT)/development/sdk/%_source.properties : $(TOPDIR)development/sdk/%_source.prop_template |
Anton Hansson | b6edd7a | 2021-08-26 17:07:09 +0100 | [diff] [blame] | 47 | $(process_prop_template) |
Raphael Moll | 26bcf6a | 2014-06-03 10:44:56 -0700 | [diff] [blame] | 48 | |
Dan Willemsen | 55a8f53 | 2018-06-16 10:41:44 -0700 | [diff] [blame] | 49 | $(sample_props) : $(HOST_OUT)/development/samples/%_source.properties : $(TOPDIR)development/samples/%_source.prop_template |
Anton Hansson | b6edd7a | 2021-08-26 17:07:09 +0100 | [diff] [blame] | 50 | $(process_prop_template) |
Raphael | d79eab5 | 2011-11-15 16:30:14 -0800 | [diff] [blame] | 51 | |
Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 52 | # ===== SDK jar file of stubs ===== |
| 53 | # A.k.a the "current" version of the public SDK (android.jar inside the SDK package). |
Jihoon Kang | 91b7985 | 2024-02-06 00:04:21 +0000 | [diff] [blame] | 54 | full_target := $(call intermediates-dir-for,JAVA_LIBRARIES,$(ANDROID_PUBLIC_EXPORTABLE_STUBS),,COMMON)/classes.jar |
Anton Hansson | 1ed8eb8 | 2020-11-05 21:08:45 +0000 | [diff] [blame] | 55 | full_src_target := $(call intermediates-dir-for,ETC,frameworks-base-api-current.srcjar)/frameworks-base-api-current.srcjar |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 56 | |
Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 57 | # android.jar is what we put in the SDK package. |
Colin Cross | 89c5517 | 2019-11-04 14:52:47 -0800 | [diff] [blame] | 58 | 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] | 59 | android_jar_full_target := $(android_jar_intermediates)/android.jar |
Narayan Kamath | e54bbd8 | 2016-02-05 13:56:15 +0000 | [diff] [blame] | 60 | 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] | 61 | |
Jaewoong Jung | 3626b04 | 2019-03-12 18:17:14 -0700 | [diff] [blame] | 62 | # unzip and zip android.jar before packaging it. (workaround for b/127733650) |
| 63 | full_target_repackaged := $(android_jar_intermediates)/repackaged/repackaged.jar |
| 64 | $(full_target_repackaged): $(full_target) | $(ZIPTIME) |
| 65 | @echo Repackaging SDK jar: $@ |
| 66 | $(hide) rm -rf $(dir $@) && mkdir -p $(dir $@) |
| 67 | unzip -q $< -d $(dir $@) |
| 68 | cd $(dir $@) && zip -rqX $(notdir $@) * |
| 69 | $(remove-timestamps-from-package) |
| 70 | |
| 71 | $(android_jar_full_target): $(full_target_repackaged) |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 72 | @echo Package SDK Stubs: $@ |
Dan Willemsen | f230a38 | 2016-03-22 23:32:17 -0700 | [diff] [blame] | 73 | $(copy-file-to-target) |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 74 | |
Narayan Kamath | e54bbd8 | 2016-02-05 13:56:15 +0000 | [diff] [blame] | 75 | $(android_jar_src_target): $(full_src_target) |
| 76 | @echo Package SDK Stubs Source: $@ |
| 77 | $(hide)mkdir -p $(dir $@) |
| 78 | $(hide)$(ACP) $< $@ |
| 79 | |
The Android Open Source Project | 52d4c30 | 2009-03-03 19:29:09 -0800 | [diff] [blame] | 80 | ALL_SDK_FILES += $(android_jar_full_target) |
Narayan Kamath | e54bbd8 | 2016-02-05 13:56:15 +0000 | [diff] [blame] | 81 | ALL_SDK_FILES += $(android_jar_src_target) |
Ying Wang | d46eaa6 | 2011-03-01 17:12:12 -0800 | [diff] [blame] | 82 | |
Colin Cross | 89c5517 | 2019-11-04 14:52:47 -0800 | [diff] [blame] | 83 | # ===== SDK for system modules ===== |
| 84 | # A subset of the public SDK to convert to system modules for use with javac -source 9 -target 9 |
| 85 | ALL_SDK_FILES += $(call intermediates-dir-for,JAVA_LIBRARIES,core-current-stubs-for-system-modules,,COMMON)/classes.jar |
| 86 | |
Ying Wang | 78e75a9 | 2014-06-03 10:40:10 -0700 | [diff] [blame] | 87 | # ==================================================== |
| 88 | |
Ying Wang | 020d4ab | 2012-08-14 16:38:02 -0700 | [diff] [blame] | 89 | # The uiautomator stubs |
Jiyong Park | e43dd95 | 2018-03-23 12:19:44 +0900 | [diff] [blame] | 90 | 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] | 91 | |
Ying Wang | a89998d | 2015-04-21 16:56:05 -0700 | [diff] [blame] | 92 | # org.apache.http.legacy.jar stubs |
Jiyong Park | d06181a | 2018-05-02 20:44:00 +0900 | [diff] [blame] | 93 | 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] | 94 | |
Zhomart Mukhamejanov | bdb2a60 | 2020-07-24 15:24:50 -0700 | [diff] [blame] | 95 | # Android Automotive OS stubs |
Cole Faust | d01c3b2 | 2022-10-06 13:40:11 -0700 | [diff] [blame] | 96 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.car-stubs_intermediates/classes.jar |
Zhomart Mukhamejanov | bdb2a60 | 2020-07-24 15:24:50 -0700 | [diff] [blame] | 97 | |
Paul Duffin | 317f8c8 | 2017-10-16 12:38:04 +0100 | [diff] [blame] | 98 | # test stubs |
Jiyong Park | e43dd95 | 2018-03-23 12:19:44 +0900 | [diff] [blame] | 99 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.mock.stubs_intermediates/classes.jar |
| 100 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.base.stubs_intermediates/classes.jar |
| 101 | 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] | 102 | |
Raphael Moll | 4f8a38e | 2014-06-04 23:19:19 -0700 | [diff] [blame] | 103 | # ======= Lint API XML =========== |
Anton Hansson | 1d75c7f | 2022-05-09 09:55:45 +0000 | [diff] [blame] | 104 | full_target := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/api_versions_public_generated-api-versions.xml |
Colin Cross | 0c40b60 | 2020-07-06 11:20:07 -0700 | [diff] [blame] | 105 | ALL_SDK_FILES += $(full_target) |
Anton Hansson | 3d6f964 | 2022-01-04 09:11:17 +0000 | [diff] [blame] | 106 | $(call dist-for-goals,sdk,$(full_target):data/api-versions.xml) |
Aurimas Liutikas | 1a6d508 | 2020-03-12 16:26:06 -0700 | [diff] [blame] | 107 | |
| 108 | # ======= Lint Annotations zip =========== |
Anton Hansson | 2918f63 | 2021-10-15 14:50:56 +0100 | [diff] [blame] | 109 | full_target := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/sdk-annotations.zip |
| 110 | $(eval $(call copy-one-file,$(call intermediates-dir-for,ETC,sdk-annotations.zip)/sdk-annotations.zip,$(full_target))) |
Colin Cross | 0c40b60 | 2020-07-06 11:20:07 -0700 | [diff] [blame] | 111 | ALL_SDK_FILES += $(full_target) |
Anton Hansson | 3d6f964 | 2022-01-04 09:11:17 +0000 | [diff] [blame] | 112 | $(call dist-for-goals,sdk,$(full_target):data/annotations.zip) |
Raphael Moll | 4f8a38e | 2014-06-04 23:19:19 -0700 | [diff] [blame] | 113 | |
satayev | 80819a2 | 2021-07-12 21:09:05 +0100 | [diff] [blame] | 114 | # ======= Lint system API XML =========== |
Cole Faust | d01c3b2 | 2022-10-06 13:40:11 -0700 | [diff] [blame] | 115 | full_target := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/api_versions_system_generated-api-versions.xml |
Anton Hansson | 3d6f964 | 2022-01-04 09:11:17 +0000 | [diff] [blame] | 116 | $(call dist-for-goals,sdk,$(full_target):system-data/api-versions.xml) |
satayev | 80819a2 | 2021-07-12 21:09:05 +0100 | [diff] [blame] | 117 | |
| 118 | # ======= Lint system Annotations zip =========== |
Anton Hansson | 8e63be9 | 2022-06-23 10:14:39 +0000 | [diff] [blame] | 119 | full_target := $(call intermediates-dir-for,ETC,sdk-annotations-system.zip)/sdk-annotations-system.zip |
Anton Hansson | 3d6f964 | 2022-01-04 09:11:17 +0000 | [diff] [blame] | 120 | $(call dist-for-goals,sdk,$(full_target):system-data/annotations.zip) |
satayev | 80819a2 | 2021-07-12 21:09:05 +0100 | [diff] [blame] | 121 | |
Cole Faust | d01c3b2 | 2022-10-06 13:40:11 -0700 | [diff] [blame] | 122 | # ======= Lint module-lib API XML =========== |
| 123 | full_target := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/api_versions_module_lib_generated-api-versions.xml |
| 124 | $(call dist-for-goals,sdk,$(full_target):module-lib-data/api-versions.xml) |
| 125 | |
| 126 | # ======= Lint module-lib Annotations zip =========== |
| 127 | full_target := $(call intermediates-dir-for,ETC,sdk-annotations-module-lib.zip)/sdk-annotations-module-lib.zip |
| 128 | $(call dist-for-goals,sdk,$(full_target):module-lib-data/annotations.zip) |
| 129 | |
| 130 | # ======= Lint system-server API XML =========== |
| 131 | full_target := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/api_versions_system_server_generated-api-versions.xml |
| 132 | $(call dist-for-goals,sdk,$(full_target):system-server-data/api-versions.xml) |
| 133 | |
| 134 | # ======= Lint system-server Annotations zip =========== |
| 135 | full_target := $(call intermediates-dir-for,ETC,sdk-annotations-system-server.zip)/sdk-annotations-system-server.zip |
| 136 | $(call dist-for-goals,sdk,$(full_target):system-server-data/annotations.zip) |
| 137 | |
Colin Cross | 76aa9e1 | 2019-04-18 12:10:41 -0700 | [diff] [blame] | 138 | # ============ SDK AIDL ============ |
| 139 | $(eval $(call copy-one-file,$(FRAMEWORK_AIDL),$(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/framework.aidl)) |
| 140 | ALL_SDK_FILES += $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/framework.aidl |