| package { | |
| default_applicable_licenses: ["Android-Apache-2.0"], | |
| } | |
| android_sdk_repo_host { | |
| name: "build-tools", | |
| base_dir: select(soong_config_variable("sdk", "sdk_platform_dir_name"), { | |
| any @ sdk_platform_dir_name: sdk_platform_dir_name, | |
| default: "android", | |
| }), | |
| srcs: [ | |
| ":build_tools_source_properties", | |
| ":build_tools_runtime_properties", | |
| ], | |
| multilib: { | |
| common: { | |
| deps: [ | |
| "build-tools_core-lambda-stubs", | |
| ], | |
| }, | |
| }, | |
| deps_remap: [ | |
| { | |
| from: "framework/build-tools_core-lambda-stubs.jar", | |
| to: "core-lambda-stubs.jar", | |
| }, | |
| { | |
| from: "bin/*", | |
| to: "./", | |
| }, | |
| { | |
| from: "framework/*", | |
| to: "./lib/", | |
| }, | |
| ], | |
| target: { | |
| linux: { | |
| strip_files: [ | |
| "lib64/*.so", | |
| ], | |
| }, | |
| linux_glibc: { | |
| merge_zips: [":deprecated-renderscript-tools"], | |
| }, | |
| darwin: { | |
| merge_zips: [":deprecated-renderscript-tools"], | |
| strip_files: [ | |
| "lib64/*.dylib", | |
| ], | |
| }, | |
| not_windows: { | |
| deps: [ | |
| "aapt", | |
| "aapt2", | |
| "aidl", | |
| "apksigner", | |
| "d8", | |
| "dexdump", | |
| "split-select", | |
| "zipalign", | |
| ], | |
| strip_files: [ | |
| "aapt", | |
| "aapt2", | |
| "aidl", | |
| "split-select", | |
| "zipalign", | |
| ], | |
| }, | |
| windows: { | |
| enabled: true, | |
| merge_zips: [":deprecated-renderscript-tools"], | |
| compile_multilib: "both", | |
| multilib: { | |
| lib32: { | |
| deps: [ | |
| "aapt", | |
| "aidl", | |
| "apksigner", | |
| "d8", | |
| "dexdump", | |
| "libwinpthread-1", | |
| "split-select", | |
| "zipalign", | |
| ], | |
| }, | |
| lib64: { | |
| deps: [ | |
| "aapt2", | |
| "libwinpthread-1", | |
| ], | |
| }, | |
| }, | |
| deps_remap: [ | |
| { | |
| from: "lib/*", | |
| to: "./", | |
| }, | |
| ], | |
| strip_files: [ | |
| "*.dll", | |
| "aapt.exe", | |
| "aapt2.exe", | |
| "aidl.exe", | |
| "dexdump.exe", | |
| "lib64/*.dll", | |
| "split-select.exe", | |
| "zipalign.exe", | |
| ], | |
| }, | |
| }, | |
| } | |
| android_sdk_repo_host { | |
| name: "deprecated-renderscript-tools", | |
| merge_zips: [ | |
| ":build-tools_renderscript_includes", | |
| ":renderscript-clang-include", | |
| ":renderscript_sdk_prebuilts", | |
| ], | |
| deps_remap: [ | |
| { | |
| from: "bin/*", | |
| to: "./", | |
| }, | |
| ], | |
| target: { | |
| linux: { | |
| merge_zips: [":build-tools-lld-linux"], | |
| strip_files: [ | |
| "lib64/*.so", | |
| "lld-bin/lld", | |
| "lib64/libc++.so.1", | |
| ], | |
| }, | |
| darwin: { | |
| merge_zips: [":build-tools-lld-darwin"], | |
| strip_files: [ | |
| "lib64/*.dylib", | |
| "lld-bin/lld", | |
| ], | |
| }, | |
| not_windows: { | |
| deps: [ | |
| "bcc_compat", | |
| "llvm-rs-cc", | |
| ], | |
| strip_files: [ | |
| "bcc_compat", | |
| "llvm-rs-cc", | |
| ], | |
| }, | |
| windows: { | |
| enabled: true, | |
| merge_zips: [":build-tools-lld-windows"], | |
| compile_multilib: "32", | |
| multilib: { | |
| lib32: { | |
| deps: [ | |
| "bcc_compat", | |
| "lld", | |
| "llvm-rs-cc", | |
| ], | |
| }, | |
| }, | |
| deps_remap: [ | |
| { | |
| from: "lib/*", | |
| to: "./", | |
| }, | |
| ], | |
| strip_files: [ | |
| "*.dll", | |
| "bcc_compat.exe", | |
| "lld-bin/*.dll", | |
| "lld-bin/*.exe", | |
| "lld.exe", | |
| "llvm-rs-cc.exe", | |
| ], | |
| }, | |
| }, | |
| } | |
| // Rename rs_script_api files to renderscript/include/... | |
| genrule { | |
| name: "build-tools_renderscript_includes", | |
| visibility: ["//visibility:private"], | |
| tools: ["soong_zip"], | |
| cmd: "echo $(in) >$(genDir)/list && " + | |
| "$(location soong_zip) -o $(out) -P renderscript " + | |
| "-C $$(dirname $$(dirname $$(awk '{ print $$1 }' $(genDir)/list))) -l $(genDir)/list", | |
| srcs: [":rs_script_api"], | |
| out: ["rs_script_api.zip"], | |
| } | |
| // This is a device library, so it can't be used by android_sdk_repo_host directly. | |
| java_device_for_host { | |
| name: "build-tools_core-lambda-stubs-device", | |
| visibility: ["//visibility:private"], | |
| // Use core-lambda-stubs-src instead of core-lambda-stubs to ensure the | |
| // copy built from source used and not the prebuilts from the ART module | |
| // SDK, otherwise Linux builds use the prebuilts and mac builds use | |
| // source, causing mismatches between build tools for mac and Linux | |
| // (see b/237299698). | |
| libs: ["core-lambda-stubs-src"], | |
| target: { | |
| windows: { | |
| enabled: true, | |
| }, | |
| }, | |
| } | |
| java_library_host { | |
| name: "build-tools_core-lambda-stubs", | |
| visibility: ["//visibility:private"], | |
| installable: true, | |
| static_libs: ["build-tools_core-lambda-stubs-device"], | |
| target: { | |
| windows: { | |
| enabled: true, | |
| }, | |
| }, | |
| } | |
| android_sdk_repo_host { | |
| name: "platform-tools", | |
| base_dir: "platform-tools", | |
| deps: [ | |
| "adb", | |
| "etc1tool", | |
| "fastboot", | |
| "hprof-conv", | |
| "make_f2fs", | |
| "make_f2fs_casefold", | |
| "mke2fs", | |
| "sqlite3", | |
| ], | |
| deps_remap: [ | |
| { | |
| from: "bin/*", | |
| to: "./", | |
| }, | |
| ], | |
| srcs: [ | |
| ":mke2fs_conf", | |
| ":platform_tools_properties", | |
| ], | |
| target: { | |
| linux: { | |
| strip_files: ["lib64/*.so"], | |
| }, | |
| linux_bionic: { | |
| enabled: false, | |
| }, | |
| darwin: { | |
| strip_files: ["lib64/*.dylib"], | |
| }, | |
| not_windows: { | |
| strip_files: [ | |
| "adb", | |
| "etc1tool", | |
| "fastboot", | |
| "hprof-conv", | |
| "make_f2fs_casefold", | |
| "make_f2fs", | |
| "mke2fs", | |
| "sqlite3", | |
| ], | |
| }, | |
| windows: { | |
| enabled: true, | |
| deps: [ | |
| "AdbWinUsbApi", | |
| "AdbWinApi", | |
| "libwinpthread-1", | |
| ], | |
| deps_remap: [ | |
| { | |
| from: "lib/*", | |
| to: "./", | |
| }, | |
| ], | |
| strip_files: [ | |
| "*.exe", | |
| ], | |
| }, | |
| }, | |
| } | |
| // For sdk-repo-platforms*.zip | |
| genrule { | |
| name: "sdk_build_prop", | |
| device_common_srcs: [":system-build.prop"], | |
| out: ["build.prop"], | |
| cmd: "sdk_build_prop_remove='ro.build.user= ro.build.host= ro.product.brand= ro.product.manufacturer= ro.product.device= ro.build.product=' && " + | |
| "grep -v '$$(subst $$(space),\\|,$$(strip $${sdk_build_prop_remove}))' $(in) > sdk-build.prop.tmp && " + | |
| "for x in $${sdk_build_prop_remove}; do echo \"$${x}generic\" >> sdk-build.prop.tmp; done && " + | |
| "cp sdk-build.prop.tmp $(out)", | |
| } | |
| genrule { | |
| name: "sdk_platforms_jars_zip", | |
| tools: ["soong_zip"], | |
| srcs: [ | |
| "optional.json", | |
| ], | |
| device_common_srcs: [ | |
| ":android_stubs_current_exportable{.jar}", | |
| ":frameworks-base-api-current.srcjar", | |
| ":core-current-stubs-for-system-modules-exportable", | |
| ":org.apache.http.legacy.stubs", | |
| ":android_uiautomator", | |
| ":android.car-stubs", | |
| ":android.test.mock.stubs{.jar}", | |
| ":android.test.base.stubs{.jar}", | |
| ":android.test.runner.stubs{.jar}", | |
| ":sdk-annotations.zip", | |
| ":api_versions_public{.api_versions.xml}", | |
| ":framework-doc-stubs{.metadata.zip}", | |
| ], | |
| out: ["sdk_platforms_jars.zip"], | |
| cmd: "mkdir -p $(genDir)/out/data/ && " + | |
| "mkdir -p $(genDir)/out/optional/ && " + | |
| "cp $(location :sdk-annotations.zip) $(genDir)/out/data/annotations.zip && " + | |
| "cp $(location :api_versions_public{.api_versions.xml}) $(genDir)/out/data/api-versions.xml && " + | |
| "unzip $(location :framework-doc-stubs{.metadata.zip}) -d $(genDir)/out/data/ && " + | |
| "cp $(location optional.json) $(genDir)/out/optional/optional.json && " + | |
| "cp $(location :android_stubs_current_exportable{.jar}) $(genDir)/out/android.jar && " + | |
| "cp $(location :frameworks-base-api-current.srcjar) $(genDir)/out/android-stubs-src.jar && " + | |
| "cp $(location :core-current-stubs-for-system-modules-exportable) $(genDir)/out/core-for-system-modules.jar && " + | |
| "cp $(location :org.apache.http.legacy.stubs) $(genDir)/out/optional/org.apache.http.legacy.jar && " + | |
| "cp $(location :android_uiautomator) $(genDir)/out/uiautomator.jar && " + | |
| "cp $(location :android.car-stubs) $(genDir)/out/optional/android.car.jar && " + | |
| "cp $(location :android.test.mock.stubs{.jar}) $(genDir)/out/optional/android.test.mock.jar && " + | |
| "cp $(location :android.test.base.stubs{.jar}) $(genDir)/out/optional/android.test.base.jar && " + | |
| "cp $(location :android.test.runner.stubs{.jar}) $(genDir)/out/optional/android.test.runner.jar && " + | |
| "$(location soong_zip) -o $(out) -C $(genDir)/out -D $(genDir)/out", | |
| } | |
| genrule { | |
| name: "wear_sdk_zip", | |
| tools: ["soong_zip"], | |
| srcs: [":wear-sdk-public-jar"], | |
| out: ["wear_sdk_jar.zip"], | |
| cmd: "mkdir -p $(genDir)/out/optional/ && " + | |
| "cp $(in) $(genDir)/out/optional/wear-sdk.jar && " + | |
| "$(location soong_zip) -o $(out) -C $(genDir)/out -D $(genDir)/out", | |
| } | |
| android_sdk_repo_host { | |
| name: "platforms", | |
| base_dir: select(soong_config_variable("sdk", "sdk_platform_dir_name"), { | |
| any @ sdk_platform_dir_name: sdk_platform_dir_name, | |
| default: "android", | |
| }), | |
| srcs: [ | |
| ":sdk_platform_sources_properties", | |
| ":sdk_build_prop", | |
| ":sdk_properties", | |
| ], | |
| merge_zips: [ | |
| ":sdk_platforms_jars_zip", | |
| ":libbinder_ndk_include", | |
| ":sdk_platforms_emulator_skins", | |
| ":sdk_platforms_templates", | |
| ":sdk_platforms_notice", | |
| ":sdk_platforms_data_res", | |
| ":wear_sdk_zip", | |
| ], | |
| pack_framework_aidl: true, | |
| } | |
| // For sdk-repo-samples*.zip | |
| sh_binary_host { | |
| name: "sdk_clean", | |
| src: "tools/sdk_clean.sh", | |
| } | |
| android_sdk_repo_host { | |
| name: "samples", | |
| base_dir: select(soong_config_variable("sdk", "sdk_platform_dir_name"), { | |
| any @ sdk_platform_dir_name: sdk_platform_dir_name, | |
| default: "android", | |
| }), | |
| merge_zips: [ | |
| ":sdk_repo_sample_legacy_zip", | |
| ":sdk_repo_sample_new_zip", | |
| ], | |
| } | |
| // For sdk-repo-sources*.zip | |
| genrule { | |
| name: "sdk_repo_sources_zip", | |
| tools: ["soong_zip"], | |
| device_common_srcs: [":platform-bootclasspath.srcjar"], | |
| out: ["sdk_repo_sources.zip"], | |
| cmd: "mkdir -p $(genDir)/out/ && " + | |
| "unzip -qd $(genDir)/out $(location :platform-bootclasspath.srcjar) && " + | |
| "$(location soong_zip) -o $(out) -C $(genDir)/out/ -D $(genDir)/out/", | |
| } | |
| android_sdk_repo_host { | |
| name: "sources", | |
| base_dir: "src", | |
| srcs: [ | |
| ":sdk_sources_source_properties", | |
| ], | |
| merge_zips: [ | |
| ":sdk_repo_sources_zip", | |
| ], | |
| } | |
| // For sdk-repo-docs*.zip | |
| genrule { | |
| name: "sdk_repo_docs_zip", | |
| tools: ["soong_zip"], | |
| srcs: [ | |
| ":docs_samples_redirect", | |
| ], | |
| device_common_srcs: [":offline-sdk-docs"], | |
| out: ["sdk_repo_docs.zip"], | |
| cmd: "mkdir -p $(genDir)/out/ && " + | |
| "unzip -qd $(genDir)/out $(location :offline-sdk-docs) && " + | |
| "mkdir -p $(genDir)/out/samples/ && " + | |
| "cp $(locations :docs_samples_redirect) $(genDir)/out/samples/index.html && " + | |
| "$(location soong_zip) -o $(out) -C $(genDir)/out/ -D $(genDir)/out/", | |
| } | |
| android_sdk_repo_host { | |
| name: "docs", | |
| base_dir: "docs", | |
| srcs: [ | |
| ":sdk_docs_source_properties", | |
| ], | |
| merge_zips: [ | |
| ":sdk_repo_docs_zip", | |
| ], | |
| } | |
| // Replacement for those sdk related target being disted, original defined under | |
| // development/build/tools/sdk-preprocess-files.mk | |
| // TODO(b/461970385): Move those dist targets to the srcs directly. | |
| genrule { | |
| name: "sdk_data_dist", | |
| device_common_srcs: [ | |
| ":sdk-annotations.zip", | |
| ":api_versions_public{.api_versions.xml}", | |
| ], | |
| out: [ | |
| "annotations.zip", | |
| "api-versions.xml", | |
| ], | |
| cmd: "cp $(location :sdk-annotations.zip) $(genDir)/annotations.zip && " + | |
| "cp $(location :api_versions_public{.api_versions.xml}) $(genDir)/api-versions.xml", | |
| dist: { | |
| targets: ["sdk"], | |
| dir: "data", | |
| }, | |
| } | |
| genrule { | |
| name: "sdk_module_lib_data_dist", | |
| device_common_srcs: [ | |
| ":sdk-annotations-module-lib.zip", | |
| ":api_versions_module_lib_complete{.api_versions.xml}", | |
| ":api_versions_module_lib{.api_versions.xml}", | |
| ], | |
| out: [ | |
| "annotations.zip", | |
| "api-versions-complete.xml", | |
| "api-versions.xml", | |
| ], | |
| cmd: "cp $(location :sdk-annotations-module-lib.zip) $(genDir)/annotations.zip && " + | |
| "cp $(location :api_versions_module_lib_complete{.api_versions.xml}) $(genDir)/api-versions-complete.xml && " + | |
| "cp $(location :api_versions_module_lib{.api_versions.xml}) $(genDir)/api-versions.xml", | |
| dist: { | |
| targets: ["sdk"], | |
| dir: "module-lib-data", | |
| }, | |
| } | |
| genrule { | |
| name: "sdk_system_data_dist", | |
| device_common_srcs: [ | |
| ":sdk-annotations-system.zip", | |
| ":api_versions_system{.api_versions.xml}", | |
| ], | |
| out: [ | |
| "annotations.zip", | |
| "api-versions.xml", | |
| ], | |
| cmd: "cp $(location :sdk-annotations-system.zip) $(genDir)/annotations.zip && " + | |
| "cp $(location :api_versions_system{.api_versions.xml}) $(genDir)/api-versions.xml", | |
| dist: { | |
| targets: ["sdk"], | |
| dir: "system-data", | |
| }, | |
| } | |
| genrule { | |
| name: "sdk_system_server_data_dist", | |
| device_common_srcs: [ | |
| ":sdk-annotations-system-server.zip", | |
| ":api_versions_system_server_complete{.api_versions.xml}", | |
| ":api_versions_system_server{.api_versions.xml}", | |
| ], | |
| out: [ | |
| "annotations.zip", | |
| "api-versions-complete.xml", | |
| "api-versions.xml", | |
| ], | |
| cmd: "cp $(location :sdk-annotations-system-server.zip) $(genDir)/annotations.zip && " + | |
| "cp $(location :api_versions_system_server_complete{.api_versions.xml}) $(genDir)/api-versions-complete.xml && " + | |
| "cp $(location :api_versions_system_server{.api_versions.xml}) $(genDir)/api-versions.xml", | |
| dist: { | |
| targets: ["sdk"], | |
| dir: "system-server-data", | |
| }, | |
| } |