15f9996aaSopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd. 25f9996aaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 35f9996aaSopenharmony_ci# you may not use this file except in compliance with the License. 45f9996aaSopenharmony_ci# You may obtain a copy of the License at 55f9996aaSopenharmony_ci# 65f9996aaSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 75f9996aaSopenharmony_ci# 85f9996aaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 95f9996aaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 105f9996aaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 115f9996aaSopenharmony_ci# See the License for the specific language governing permissions and 125f9996aaSopenharmony_ci# limitations under the License. 135f9996aaSopenharmony_ci 145f9996aaSopenharmony_ciimport("//build/config/python.gni") 155f9996aaSopenharmony_ciimport("//build/ohos/build_var.gni") 165f9996aaSopenharmony_ciimport("//build/ohos/notice/notice.gni") 175f9996aaSopenharmony_ciimport("//build/version.gni") 185f9996aaSopenharmony_ci 195f9996aaSopenharmony_cisdk_base_build_gn = "//build/ohos/sdk/BUILD.gn" 205f9996aaSopenharmony_cigenerated_files_dir = get_path_info(sdk_base_build_gn, "gen_dir") 215f9996aaSopenharmony_cigenerated_sdk_module_install_paths = 225f9996aaSopenharmony_ci "${generated_files_dir}/ohos_sdk_install_paths.json" 235f9996aaSopenharmony_ci 245f9996aaSopenharmony_cisdk_system_windows = "windows" 255f9996aaSopenharmony_cisdk_system_linux = "linux" 265f9996aaSopenharmony_cisdk_system_darwin = "darwin" 275f9996aaSopenharmony_cisdk_system_ohos = "ohos" 285f9996aaSopenharmony_ci 295f9996aaSopenharmony_ciohos_sdk_out_dir = "$product_output_dir/${product_name}" 305f9996aaSopenharmony_ciohos_sdk_copy_dir = "$root_build_dir/${product_name}" 315f9996aaSopenharmony_ci 325f9996aaSopenharmony_cideclare_args() { 335f9996aaSopenharmony_ci sdk_check_flag = true 345f9996aaSopenharmony_ci sdk_for_hap_build = false 355f9996aaSopenharmony_ci} 365f9996aaSopenharmony_ci 375f9996aaSopenharmony_cideclare_args() { 385f9996aaSopenharmony_ci enable_sign = false 395f9996aaSopenharmony_ci} 405f9996aaSopenharmony_ci 415f9996aaSopenharmony_cisdk_toolchains = { 425f9996aaSopenharmony_ci linux = "//build/toolchain/linux:clang_x64" 435f9996aaSopenharmony_ci windows = "//build/toolchain/mingw:mingw_x86_64" 445f9996aaSopenharmony_ci ohos = "//build/toolchain/ohos:ohos_clang_arm64" 455f9996aaSopenharmony_ci 465f9996aaSopenharmony_ci if (host_cpu == "arm64") { 475f9996aaSopenharmony_ci darwin = "//build/toolchain/mac:clang_arm64" 485f9996aaSopenharmony_ci } else { 495f9996aaSopenharmony_ci darwin = "//build/toolchain/mac:clang_x64" 505f9996aaSopenharmony_ci } 515f9996aaSopenharmony_ci} 525f9996aaSopenharmony_ci 535f9996aaSopenharmony_ciif (host_cpu == "arm64") { 545f9996aaSopenharmony_ci arch = "arm64" 555f9996aaSopenharmony_ci} else if (host_cpu == "riscv64") { 565f9996aaSopenharmony_ci arch = "riscv64" 575f9996aaSopenharmony_ci} else { 585f9996aaSopenharmony_ci arch = "x64" 595f9996aaSopenharmony_ci} 605f9996aaSopenharmony_ci 615f9996aaSopenharmony_ciif (sdk_platform == "default") { 625f9996aaSopenharmony_ci if (host_os == "mac") { 635f9996aaSopenharmony_ci sdk_systems = [ sdk_system_darwin ] 645f9996aaSopenharmony_ci } else { 655f9996aaSopenharmony_ci sdk_systems = [ 665f9996aaSopenharmony_ci sdk_system_windows, 675f9996aaSopenharmony_ci sdk_system_linux, 685f9996aaSopenharmony_ci sdk_system_ohos, 695f9996aaSopenharmony_ci ] 705f9996aaSopenharmony_ci } 715f9996aaSopenharmony_ci} else if (sdk_platform == "mac") { 725f9996aaSopenharmony_ci sdk_systems = [ sdk_system_darwin ] 735f9996aaSopenharmony_ci} else if (sdk_platform == "win") { 745f9996aaSopenharmony_ci sdk_systems = [ sdk_system_windows ] 755f9996aaSopenharmony_ci} else if (sdk_platform == "linux") { 765f9996aaSopenharmony_ci sdk_systems = [ sdk_system_linux ] 775f9996aaSopenharmony_ci} else if (sdk_platform == "ohos") { 785f9996aaSopenharmony_ci sdk_systems = [ sdk_system_ohos ] 795f9996aaSopenharmony_ci} 805f9996aaSopenharmony_ci 815f9996aaSopenharmony_ciif (use_current_sdk) { 825f9996aaSopenharmony_ci sdk_systems = [] 835f9996aaSopenharmony_ci sdk_systems += [ sdk_system_linux ] 845f9996aaSopenharmony_ci} 855f9996aaSopenharmony_ci 865f9996aaSopenharmony_citemplate("copy_and_archive") { 875f9996aaSopenharmony_ci assert(defined(invoker.dest_dir)) 885f9996aaSopenharmony_ci assert(defined(invoker.sdk_system)) 895f9996aaSopenharmony_ci assert(defined(invoker.sdk_type)) 905f9996aaSopenharmony_ci assert(defined(invoker.sdk_modules_desc_file)) 915f9996aaSopenharmony_ci forward_variables_from(invoker, 925f9996aaSopenharmony_ci [ 935f9996aaSopenharmony_ci "testonly", 945f9996aaSopenharmony_ci "sdk_class", 955f9996aaSopenharmony_ci ]) 965f9996aaSopenharmony_ci action_with_pydeps(target_name) { 975f9996aaSopenharmony_ci deps = [] 985f9996aaSopenharmony_ci if (defined(invoker.deps)) { 995f9996aaSopenharmony_ci deps += invoker.deps 1005f9996aaSopenharmony_ci } 1015f9996aaSopenharmony_ci 1025f9996aaSopenharmony_ci script = "//build/ohos/sdk/copy_sdk_modules.py" 1035f9996aaSopenharmony_ci depfile = "$target_gen_dir/$target_name.d" 1045f9996aaSopenharmony_ci 1055f9996aaSopenharmony_ci _sdk_output_archive = 1065f9996aaSopenharmony_ci "$ohos_sdk_out_dir/${invoker.sdk_system}/${invoker.zipfile_name}" 1075f9996aaSopenharmony_ci _notice_output_archive = "${sdk_notice_archive_dir}/${invoker.sdk_system}-${invoker.sdk_type}.zip" 1085f9996aaSopenharmony_ci 1095f9996aaSopenharmony_ci if (use_current_sdk) { 1105f9996aaSopenharmony_ci _sdk_output_archive = "$ohos_sdk_out_dir/${sdk_class}/${invoker.sdk_system}/${invoker.zipfile_name}" 1115f9996aaSopenharmony_ci _notice_output_archive = "${sdk_notice_archive_dir}/${sdk_class}/${invoker.sdk_system}-${invoker.sdk_type}.zip" 1125f9996aaSopenharmony_ci } 1135f9996aaSopenharmony_ci 1145f9996aaSopenharmony_ci outputs = [ 1155f9996aaSopenharmony_ci _sdk_output_archive, 1165f9996aaSopenharmony_ci _notice_output_archive, 1175f9996aaSopenharmony_ci ] 1185f9996aaSopenharmony_ci 1195f9996aaSopenharmony_ci args = [ 1205f9996aaSopenharmony_ci "--sdk-modules-desc-file", 1215f9996aaSopenharmony_ci rebase_path(invoker.sdk_modules_desc_file, root_build_dir), 1225f9996aaSopenharmony_ci "--dest-dir", 1235f9996aaSopenharmony_ci rebase_path(invoker.dest_dir, root_build_dir), 1245f9996aaSopenharmony_ci "--sdk-output-archive", 1255f9996aaSopenharmony_ci rebase_path(_sdk_output_archive, root_build_dir), 1265f9996aaSopenharmony_ci "--notice-output-archive", 1275f9996aaSopenharmony_ci rebase_path(_notice_output_archive, root_build_dir), 1285f9996aaSopenharmony_ci "--depfile", 1295f9996aaSopenharmony_ci rebase_path(depfile, root_build_dir), 1305f9996aaSopenharmony_ci "--archive-dir", 1315f9996aaSopenharmony_ci rebase_path("${invoker.dest_dir}/${invoker.sdk_type}", root_build_dir), 1325f9996aaSopenharmony_ci ] 1335f9996aaSopenharmony_ci 1345f9996aaSopenharmony_ci archive_path_args = [ 1355f9996aaSopenharmony_ci "--sdk-archive-paths-file", 1365f9996aaSopenharmony_ci rebase_path(generated_sdk_module_install_paths, root_build_dir), 1375f9996aaSopenharmony_ci ] 1385f9996aaSopenharmony_ci 1395f9996aaSopenharmony_ci if (use_current_sdk) { 1405f9996aaSopenharmony_ci archive_path_args = [] 1415f9996aaSopenharmony_ci archive_path_args += [ 1425f9996aaSopenharmony_ci "--sdk-archive-paths-file", 1435f9996aaSopenharmony_ci rebase_path( 1445f9996aaSopenharmony_ci "${generated_files_dir}/${sdk_class}/${sdk_class}_sdk_install_paths.json", 1455f9996aaSopenharmony_ci root_build_dir), 1465f9996aaSopenharmony_ci ] 1475f9996aaSopenharmony_ci } 1485f9996aaSopenharmony_ci 1495f9996aaSopenharmony_ci args += archive_path_args 1505f9996aaSopenharmony_ci 1515f9996aaSopenharmony_ci if (defined(invoker.zip_prefix_path)) { 1525f9996aaSopenharmony_ci args += [ 1535f9996aaSopenharmony_ci "--zip-prefix-path", 1545f9996aaSopenharmony_ci invoker.zip_prefix_path, 1555f9996aaSopenharmony_ci ] 1565f9996aaSopenharmony_ci } 1575f9996aaSopenharmony_ci 1585f9996aaSopenharmony_ci if (use_current_sdk) { 1595f9996aaSopenharmony_ci enable_archive_sdk = false 1605f9996aaSopenharmony_ci } 1615f9996aaSopenharmony_ci 1625f9996aaSopenharmony_ci if (enable_archive_sdk) { 1635f9996aaSopenharmony_ci args += [ "--enable-archive-sdk=${enable_archive_sdk}" ] 1645f9996aaSopenharmony_ci } 1655f9996aaSopenharmony_ci } 1665f9996aaSopenharmony_ci} 1675f9996aaSopenharmony_ci 1685f9996aaSopenharmony_citemplate("make_sdk_modules") { 1695f9996aaSopenharmony_ci assert(defined(invoker.zipfile_name)) 1705f9996aaSopenharmony_ci assert(defined(invoker.sdk_modules)) 1715f9996aaSopenharmony_ci assert(defined(invoker.sdk_toolchain)) 1725f9996aaSopenharmony_ci assert(defined(invoker.sdk_type)) 1735f9996aaSopenharmony_ci assert(defined(invoker.sdk_system)) 1745f9996aaSopenharmony_ci 1755f9996aaSopenharmony_ci if (invoker.sdk_modules == []) { 1765f9996aaSopenharmony_ci not_needed(invoker, [ "sdk_toolchain" ]) 1775f9996aaSopenharmony_ci } 1785f9996aaSopenharmony_ci copy_and_archive(target_name) { 1795f9996aaSopenharmony_ci forward_variables_from(invoker, 1805f9996aaSopenharmony_ci [ 1815f9996aaSopenharmony_ci "testonly", 1825f9996aaSopenharmony_ci "sdk_system", 1835f9996aaSopenharmony_ci "sdk_type", 1845f9996aaSopenharmony_ci "zipfile_name", 1855f9996aaSopenharmony_ci "sdk_class", 1865f9996aaSopenharmony_ci ]) 1875f9996aaSopenharmony_ci _sdk_modules = [] 1885f9996aaSopenharmony_ci _sdk_module_infos = [] 1895f9996aaSopenharmony_ci 1905f9996aaSopenharmony_ci foreach(_label, invoker.sdk_modules) { 1915f9996aaSopenharmony_ci _target_label = get_label_info(_label, "label_no_toolchain") 1925f9996aaSopenharmony_ci sources = [ _target_label ] 1935f9996aaSopenharmony_ci if (sources == []) { 1945f9996aaSopenharmony_ci _sdk_modules += [ _target_label ] 1955f9996aaSopenharmony_ci } else { 1965f9996aaSopenharmony_ci _sdk_modules += [ "${_target_label}(${invoker.sdk_toolchain})" ] 1975f9996aaSopenharmony_ci } 1985f9996aaSopenharmony_ci sources = [] 1995f9996aaSopenharmony_ci } 2005f9996aaSopenharmony_ci not_needed(invoker, [ "sdk_toolchain" ]) 2015f9996aaSopenharmony_ci 2025f9996aaSopenharmony_ci foreach(_label, _sdk_modules) { 2035f9996aaSopenharmony_ci _module_info_file = get_label_info(_label, "target_out_dir") + "/" + 2045f9996aaSopenharmony_ci get_label_info(_label, "name") + "_module_info.json" 2055f9996aaSopenharmony_ci _sdk_module_infos += [ 2065f9996aaSopenharmony_ci { 2075f9996aaSopenharmony_ci label = get_label_info(_label, "label_no_toolchain") 2085f9996aaSopenharmony_ci module_info_file = rebase_path(_module_info_file, root_build_dir) 2095f9996aaSopenharmony_ci }, 2105f9996aaSopenharmony_ci ] 2115f9996aaSopenharmony_ci } 2125f9996aaSopenharmony_ci sdk_modules_desc_file = "${target_gen_dir}/${target_name}_sdk_modules.json" 2135f9996aaSopenharmony_ci write_file(sdk_modules_desc_file, _sdk_module_infos, "json") 2145f9996aaSopenharmony_ci 2155f9996aaSopenharmony_ci deps = _sdk_modules 2165f9996aaSopenharmony_ci if (defined(invoker.deps)) { 2175f9996aaSopenharmony_ci deps += invoker.deps 2185f9996aaSopenharmony_ci } 2195f9996aaSopenharmony_ci 2205f9996aaSopenharmony_ci dest_dir = "${ohos_sdk_copy_dir}/${sdk_system}" 2215f9996aaSopenharmony_ci if (use_current_sdk) { 2225f9996aaSopenharmony_ci dest_dir = "${root_build_dir}/${sdk_class}-current-sdk/${sdk_system}/${api_version}" 2235f9996aaSopenharmony_ci } 2245f9996aaSopenharmony_ci 2255f9996aaSopenharmony_ci zip_prefix_path = "${invoker.sdk_type}" 2265f9996aaSopenharmony_ci } 2275f9996aaSopenharmony_ci} 2285f9996aaSopenharmony_ci 2295f9996aaSopenharmony_citemplate("make_linux_sdk_modules") { 2305f9996aaSopenharmony_ci make_sdk_modules(target_name) { 2315f9996aaSopenharmony_ci forward_variables_from(invoker, 2325f9996aaSopenharmony_ci [ 2335f9996aaSopenharmony_ci "testonly", 2345f9996aaSopenharmony_ci "zipfile_name", 2355f9996aaSopenharmony_ci "sdk_modules", 2365f9996aaSopenharmony_ci "sdk_type", 2375f9996aaSopenharmony_ci "sdk_class", 2385f9996aaSopenharmony_ci "deps", 2395f9996aaSopenharmony_ci ]) 2405f9996aaSopenharmony_ci sdk_toolchain = sdk_toolchains.linux 2415f9996aaSopenharmony_ci sdk_system = sdk_system_linux 2425f9996aaSopenharmony_ci } 2435f9996aaSopenharmony_ci} 2445f9996aaSopenharmony_ci 2455f9996aaSopenharmony_citemplate("make_windows_sdk_modules") { 2465f9996aaSopenharmony_ci make_sdk_modules(target_name) { 2475f9996aaSopenharmony_ci forward_variables_from(invoker, 2485f9996aaSopenharmony_ci [ 2495f9996aaSopenharmony_ci "testonly", 2505f9996aaSopenharmony_ci "zipfile_name", 2515f9996aaSopenharmony_ci "sdk_modules", 2525f9996aaSopenharmony_ci "sdk_type", 2535f9996aaSopenharmony_ci "sdk_class", 2545f9996aaSopenharmony_ci "deps", 2555f9996aaSopenharmony_ci ]) 2565f9996aaSopenharmony_ci sdk_toolchain = sdk_toolchains.windows 2575f9996aaSopenharmony_ci sdk_system = sdk_system_windows 2585f9996aaSopenharmony_ci } 2595f9996aaSopenharmony_ci} 2605f9996aaSopenharmony_ci 2615f9996aaSopenharmony_citemplate("make_darwin_sdk_modules") { 2625f9996aaSopenharmony_ci make_sdk_modules(target_name) { 2635f9996aaSopenharmony_ci forward_variables_from(invoker, 2645f9996aaSopenharmony_ci [ 2655f9996aaSopenharmony_ci "testonly", 2665f9996aaSopenharmony_ci "zipfile_name", 2675f9996aaSopenharmony_ci "sdk_modules", 2685f9996aaSopenharmony_ci "sdk_type", 2695f9996aaSopenharmony_ci "sdk_class", 2705f9996aaSopenharmony_ci "deps", 2715f9996aaSopenharmony_ci ]) 2725f9996aaSopenharmony_ci sdk_toolchain = sdk_toolchains.darwin 2735f9996aaSopenharmony_ci sdk_system = sdk_system_darwin 2745f9996aaSopenharmony_ci } 2755f9996aaSopenharmony_ci} 2765f9996aaSopenharmony_ci 2775f9996aaSopenharmony_citemplate("make_ohos_sdk_modules") { 2785f9996aaSopenharmony_ci make_sdk_modules(target_name) { 2795f9996aaSopenharmony_ci forward_variables_from(invoker, 2805f9996aaSopenharmony_ci [ 2815f9996aaSopenharmony_ci "testonly", 2825f9996aaSopenharmony_ci "zipfile_name", 2835f9996aaSopenharmony_ci "sdk_modules", 2845f9996aaSopenharmony_ci "sdk_type", 2855f9996aaSopenharmony_ci "deps", 2865f9996aaSopenharmony_ci ]) 2875f9996aaSopenharmony_ci sdk_toolchain = sdk_toolchains.ohos 2885f9996aaSopenharmony_ci sdk_system = sdk_system_ohos 2895f9996aaSopenharmony_ci } 2905f9996aaSopenharmony_ci} 2915f9996aaSopenharmony_ci 2925f9996aaSopenharmony_citemplate("current_sdk") { 2935f9996aaSopenharmony_ci # parse the sdk description file 2945f9996aaSopenharmony_ci forward_variables_from(invoker, 2955f9996aaSopenharmony_ci [ 2965f9996aaSopenharmony_ci "sdk_desc_file", 2975f9996aaSopenharmony_ci "sdk_class", 2985f9996aaSopenharmony_ci ]) 2995f9996aaSopenharmony_ci 3005f9996aaSopenharmony_ci hap_build_sdk_description_file = "${generated_files_dir}/${sdk_class}/${sdk_class}_sdk_description_hap.json" 3015f9996aaSopenharmony_ci hap_build_sdk_config_parser = 3025f9996aaSopenharmony_ci "//build/ohos/sdk/generate_hap_build_sdk_config.py" 3035f9996aaSopenharmony_ci hap_build_sdk_args = [ 3045f9996aaSopenharmony_ci "--sdk-description-file", 3055f9996aaSopenharmony_ci rebase_path(sdk_desc_file, root_build_dir), 3065f9996aaSopenharmony_ci "--output-hap-build-sdk-desc-file", 3075f9996aaSopenharmony_ci rebase_path(hap_build_sdk_description_file, root_build_dir), 3085f9996aaSopenharmony_ci ] 3095f9996aaSopenharmony_ci exec_script(hap_build_sdk_config_parser, hap_build_sdk_args) 3105f9996aaSopenharmony_ci 3115f9996aaSopenharmony_ci sdk_desc_file = hap_build_sdk_description_file 3125f9996aaSopenharmony_ci sdk_parse_script = "//build/ohos/sdk/parse_sdk_description.py" 3135f9996aaSopenharmony_ci 3145f9996aaSopenharmony_ci gen_sdk_modules_gni = 3155f9996aaSopenharmony_ci "${generated_files_dir}/${sdk_class}/${sdk_class}_sdk_modules.gni" 3165f9996aaSopenharmony_ci gen_sdk_module_install_paths = 3175f9996aaSopenharmony_ci "${generated_files_dir}/${sdk_class}/${sdk_class}_sdk_install_paths.json" 3185f9996aaSopenharmony_ci gen_sdk_types_file = 3195f9996aaSopenharmony_ci "${generated_files_dir}/${sdk_class}/generated_sdk_types.txt" 3205f9996aaSopenharmony_ci 3215f9996aaSopenharmony_ci parse_args = [ 3225f9996aaSopenharmony_ci "--sdk-description-file", 3235f9996aaSopenharmony_ci rebase_path(sdk_desc_file, root_build_dir), 3245f9996aaSopenharmony_ci "--sdk-modules-gni", 3255f9996aaSopenharmony_ci rebase_path(gen_sdk_modules_gni, root_build_dir), 3265f9996aaSopenharmony_ci "--sdk-install-info-file", 3275f9996aaSopenharmony_ci rebase_path(gen_sdk_module_install_paths, root_build_dir), 3285f9996aaSopenharmony_ci "--sdk-types-file", 3295f9996aaSopenharmony_ci rebase_path(gen_sdk_types_file, root_build_dir), 3305f9996aaSopenharmony_ci "--base-platform", 3315f9996aaSopenharmony_ci "phone", 3325f9996aaSopenharmony_ci "--variant-to-product", 3335f9996aaSopenharmony_ci rebase_path("//build/ohos/sdk/variant_to_product.json", root_build_dir), 3345f9996aaSopenharmony_ci "--source-root-dir", 3355f9996aaSopenharmony_ci rebase_path("//", root_build_dir), 3365f9996aaSopenharmony_ci "--node-js", 3375f9996aaSopenharmony_ci rebase_path(nodejs, root_build_dir), 3385f9996aaSopenharmony_ci ] 3395f9996aaSopenharmony_ci foreach(p, target_platform_list) { 3405f9996aaSopenharmony_ci parse_args += [ 3415f9996aaSopenharmony_ci "--platforms", 3425f9996aaSopenharmony_ci p, 3435f9996aaSopenharmony_ci ] 3445f9996aaSopenharmony_ci } 3455f9996aaSopenharmony_ci 3465f9996aaSopenharmony_ci exec_script(sdk_parse_script, parse_args) 3475f9996aaSopenharmony_ci 3485f9996aaSopenharmony_ci sdk_types = read_file(gen_sdk_types_file, "list lines") 3495f9996aaSopenharmony_ci 3505f9996aaSopenharmony_ci generate_all_types_sdk_script = "//build/ohos/sdk/generate_all_types_sdk.py" 3515f9996aaSopenharmony_ci generated_build_gn = "${generated_files_dir}/${sdk_class}/BUILD.gn" 3525f9996aaSopenharmony_ci generate_args = [ 3535f9996aaSopenharmony_ci "--sdk-modules", 3545f9996aaSopenharmony_ci "ohos_sdk_modules", 3555f9996aaSopenharmony_ci "--output", 3565f9996aaSopenharmony_ci rebase_path(generated_build_gn, root_build_dir), 3575f9996aaSopenharmony_ci "--current-dir", 3585f9996aaSopenharmony_ci get_path_info(sdk_base_build_gn, "dir"), 3595f9996aaSopenharmony_ci "--generated-sdk-modules-gni", 3605f9996aaSopenharmony_ci gen_sdk_modules_gni, 3615f9996aaSopenharmony_ci "--type2displayname", 3625f9996aaSopenharmony_ci rebase_path("//build/ohos/sdk/type_to_display_name.json", root_build_dir), 3635f9996aaSopenharmony_ci "--api-version", 3645f9996aaSopenharmony_ci api_version, 3655f9996aaSopenharmony_ci "--release-type", 3665f9996aaSopenharmony_ci release_type, 3675f9996aaSopenharmony_ci "--meta-version", 3685f9996aaSopenharmony_ci meta_version, 3695f9996aaSopenharmony_ci "--sdk-class", 3705f9996aaSopenharmony_ci sdk_class, 3715f9996aaSopenharmony_ci ] 3725f9996aaSopenharmony_ci 3735f9996aaSopenharmony_ci if (use_current_sdk) { 3745f9996aaSopenharmony_ci generate_args += [ "--use-current-sdk" ] 3755f9996aaSopenharmony_ci } 3765f9996aaSopenharmony_ci 3775f9996aaSopenharmony_ci generate_args += [ 3785f9996aaSopenharmony_ci "--sdk-systems", 3795f9996aaSopenharmony_ci "linux", 3805f9996aaSopenharmony_ci ] 3815f9996aaSopenharmony_ci 3825f9996aaSopenharmony_ci foreach(sdk_type, sdk_types) { 3835f9996aaSopenharmony_ci generate_args += [ 3845f9996aaSopenharmony_ci "--sdk-types", 3855f9996aaSopenharmony_ci sdk_type, 3865f9996aaSopenharmony_ci ] 3875f9996aaSopenharmony_ci } 3885f9996aaSopenharmony_ci 3895f9996aaSopenharmony_ci exec_script(generate_all_types_sdk_script, generate_args) 3905f9996aaSopenharmony_ci 3915f9996aaSopenharmony_ci group(target_name) { 3925f9996aaSopenharmony_ci deps = [] 3935f9996aaSopenharmony_ci deps += [ "${generated_files_dir}/${sdk_class}:generated_ohos_sdk" ] 3945f9996aaSopenharmony_ci } 3955f9996aaSopenharmony_ci} 396