1eace7efcSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd. 2eace7efcSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3eace7efcSopenharmony_ci# you may not use this file except in compliance with the License. 4eace7efcSopenharmony_ci# You may obtain a copy of the License at 5eace7efcSopenharmony_ci# 6eace7efcSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7eace7efcSopenharmony_ci# 8eace7efcSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9eace7efcSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10eace7efcSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11eace7efcSopenharmony_ci# See the License for the specific language governing permissions and 12eace7efcSopenharmony_ci# limitations under the License. 13eace7efcSopenharmony_ci 14eace7efcSopenharmony_ciimport("//build/ohos.gni") 15eace7efcSopenharmony_ciimport("//foundation/ability/ability_runtime/ability_runtime.gni") 16eace7efcSopenharmony_ci 17eace7efcSopenharmony_ciif (is_mac) { 18eace7efcSopenharmony_ci dylib_suffix = ".dylib" 19eace7efcSopenharmony_ci} else { 20eace7efcSopenharmony_ci dylib_suffix = ".dll" 21eace7efcSopenharmony_ci} 22eace7efcSopenharmony_ci 23eace7efcSopenharmony_cinot_needed("*", [ "dylib_suffix" ]) 24eace7efcSopenharmony_ci 25eace7efcSopenharmony_ciohos_copy("ability_simulator_copy_ability_modules") { 26eace7efcSopenharmony_ci deps = [] 27eace7efcSopenharmony_ci sources = [] 28eace7efcSopenharmony_ci 29eace7efcSopenharmony_ci napi_modules = [ "napi_module/want_constant:wantconstant_napi" ] 30eace7efcSopenharmony_ci 31eace7efcSopenharmony_ci foreach(module, napi_modules) { 32eace7efcSopenharmony_ci deps += [ module ] 33eace7efcSopenharmony_ci out_path = get_label_info(module, "root_out_dir") 34eace7efcSopenharmony_ci out_name = get_label_info(module, "name") 35eace7efcSopenharmony_ci sources += 36eace7efcSopenharmony_ci [ out_path + "/ability/ability_runtime/lib" + out_name + dylib_suffix ] 37eace7efcSopenharmony_ci } 38eace7efcSopenharmony_ci 39eace7efcSopenharmony_ci target_path = get_label_info(":copy_ability_simulator", "target_out_dir") 40eace7efcSopenharmony_ci 41eace7efcSopenharmony_ci outputs = [ target_path + "/bin/module/ability/{{source_file_part}}" ] 42eace7efcSopenharmony_ci} 43eace7efcSopenharmony_ci 44eace7efcSopenharmony_ciohos_copy("ability_simulator_copy_application_modules") { 45eace7efcSopenharmony_ci deps = [] 46eace7efcSopenharmony_ci sources = [] 47eace7efcSopenharmony_ci 48eace7efcSopenharmony_ci napi_modules = [ 49eace7efcSopenharmony_ci "napi_module/ability:ability_napi", 50eace7efcSopenharmony_ci "napi_module/ability_context:abilitycontext_napi", 51eace7efcSopenharmony_ci "napi_module/ability_stage_context:abilitystagecontext_napi", 52eace7efcSopenharmony_ci "napi_module/application_context:applicationcontext_napi", 53eace7efcSopenharmony_ci "napi_module/caller:caller_napi", 54eace7efcSopenharmony_ci "napi_module/callee:callee", 55eace7efcSopenharmony_ci "napi_module/context:context_napi", 56eace7efcSopenharmony_ci ] 57eace7efcSopenharmony_ci 58eace7efcSopenharmony_ci foreach(module, napi_modules) { 59eace7efcSopenharmony_ci deps += [ module ] 60eace7efcSopenharmony_ci out_path = get_label_info(module, "root_out_dir") 61eace7efcSopenharmony_ci out_name = get_label_info(module, "name") 62eace7efcSopenharmony_ci sources += 63eace7efcSopenharmony_ci [ out_path + "/ability/ability_runtime/lib" + out_name + dylib_suffix ] 64eace7efcSopenharmony_ci } 65eace7efcSopenharmony_ci 66eace7efcSopenharmony_ci target_path = get_label_info(":copy_ability_simulator", "target_out_dir") 67eace7efcSopenharmony_ci 68eace7efcSopenharmony_ci outputs = [ target_path + "/bin/module/application/{{source_file_part}}" ] 69eace7efcSopenharmony_ci} 70eace7efcSopenharmony_ci 71eace7efcSopenharmony_ciohos_copy("ability_simulator_copy_app_ability_modules") { 72eace7efcSopenharmony_ci deps = [] 73eace7efcSopenharmony_ci sources = [] 74eace7efcSopenharmony_ci 75eace7efcSopenharmony_ci napi_modules = [ 76eace7efcSopenharmony_ci "napi_module/embeddable_ui_ability:embeddableuiability_napi", 77eace7efcSopenharmony_ci "napi_module/embeddable_ui_ability_context:embeddeduiextensionability_napi", 78eace7efcSopenharmony_ci "napi_module/uiability:uiability", 79eace7efcSopenharmony_ci "napi_module/ability_stage:abilitystage", 80eace7efcSopenharmony_ci "napi_module/ability_constant:abilityconstant", 81eace7efcSopenharmony_ci "napi_module/configuration_constant:configurationconstant", 82eace7efcSopenharmony_ci ] 83eace7efcSopenharmony_ci 84eace7efcSopenharmony_ci foreach(module, napi_modules) { 85eace7efcSopenharmony_ci deps += [ module ] 86eace7efcSopenharmony_ci out_path = get_label_info(module, "root_out_dir") 87eace7efcSopenharmony_ci out_name = get_label_info(module, "name") 88eace7efcSopenharmony_ci sources += 89eace7efcSopenharmony_ci [ out_path + "/ability/ability_runtime/lib" + out_name + dylib_suffix ] 90eace7efcSopenharmony_ci } 91eace7efcSopenharmony_ci 92eace7efcSopenharmony_ci target_path = get_label_info(":copy_ability_simulator", "target_out_dir") 93eace7efcSopenharmony_ci 94eace7efcSopenharmony_ci outputs = [ target_path + "/bin/module/app/ability/{{source_file_part}}" ] 95eace7efcSopenharmony_ci 96eace7efcSopenharmony_ci part_name = "ability_runtime" 97eace7efcSopenharmony_ci subsystem_name = "ability" 98eace7efcSopenharmony_ci} 99eace7efcSopenharmony_ci 100eace7efcSopenharmony_ciohos_copy("copy_ability_simulator") { 101eace7efcSopenharmony_ci deps = [ 102eace7efcSopenharmony_ci ":ability_simulator_copy_ability_modules", 103eace7efcSopenharmony_ci ":ability_simulator_copy_app_ability_modules", 104eace7efcSopenharmony_ci ":ability_simulator_copy_application_modules", 105eace7efcSopenharmony_ci ] 106eace7efcSopenharmony_ci sources = [] 107eace7efcSopenharmony_ci 108eace7efcSopenharmony_ci deps += [ "test:ability_simulator_test" ] 109eace7efcSopenharmony_ci out_path = get_label_info("test:ability_simulator_test", "root_out_dir") 110eace7efcSopenharmony_ci 111eace7efcSopenharmony_ci deps += [ "ability_simulator:ability_simulator" ] 112eace7efcSopenharmony_ci out_path = 113eace7efcSopenharmony_ci get_label_info("ability_simulator:ability_simulator", "root_out_dir") 114eace7efcSopenharmony_ci sources += [ out_path + "/ability/ability_runtime/libability_simulator" + 115eace7efcSopenharmony_ci dylib_suffix ] 116eace7efcSopenharmony_ci 117eace7efcSopenharmony_ci deps += [ "${ability_base_path}:string_utils" ] 118eace7efcSopenharmony_ci out_path = get_label_info("${ability_base_path}:string_utils", "root_out_dir") 119eace7efcSopenharmony_ci sources += 120eace7efcSopenharmony_ci [ out_path + "/ability/ability_base/libstring_utils" + dylib_suffix ] 121eace7efcSopenharmony_ci 122eace7efcSopenharmony_ci deps += [ "${arkui_path}/napi:ace_napi" ] 123eace7efcSopenharmony_ci out_path = get_label_info("${arkui_path}/napi:ace_napi", "root_out_dir") 124eace7efcSopenharmony_ci sources += [ out_path + "/arkui/napi/libace_napi" + dylib_suffix ] 125eace7efcSopenharmony_ci 126eace7efcSopenharmony_ci deps += [ "//arkcompiler/ets_runtime:libark_jsruntime" ] 127eace7efcSopenharmony_ci out_path = get_label_info("//arkcompiler/ets_runtime:libark_jsruntime", 128eace7efcSopenharmony_ci "root_out_dir") 129eace7efcSopenharmony_ci sources += 130eace7efcSopenharmony_ci [ out_path + "/arkcompiler/ets_runtime/libark_jsruntime" + dylib_suffix ] 131eace7efcSopenharmony_ci 132eace7efcSopenharmony_ci deps += [ "//arkcompiler/toolchain/tooling:libark_ecma_debugger" ] 133eace7efcSopenharmony_ci out_path = 134eace7efcSopenharmony_ci get_label_info("//arkcompiler/toolchain/tooling:libark_ecma_debugger", 135eace7efcSopenharmony_ci "root_out_dir") 136eace7efcSopenharmony_ci sources += 137eace7efcSopenharmony_ci [ out_path + "/arkcompiler/toolchain/libark_tooling" + dylib_suffix ] 138eace7efcSopenharmony_ci 139eace7efcSopenharmony_ci deps += [ "//arkcompiler/toolchain/inspector:ark_debugger" ] 140eace7efcSopenharmony_ci out_path = get_label_info("//arkcompiler/toolchain/inspector:ark_debugger", 141eace7efcSopenharmony_ci "root_out_dir") 142eace7efcSopenharmony_ci sources += 143eace7efcSopenharmony_ci [ out_path + "/arkcompiler/toolchain/libark_inspector" + dylib_suffix ] 144eace7efcSopenharmony_ci 145eace7efcSopenharmony_ci deps += [ "//third_party/libuv:uv" ] 146eace7efcSopenharmony_ci out_path = get_label_info("//third_party/libuv:uv", "root_out_dir") 147eace7efcSopenharmony_ci sources += [ out_path + "/thirdparty/libuv/libuv" + dylib_suffix ] 148eace7efcSopenharmony_ci 149eace7efcSopenharmony_ci deps += [ "${hilog_path}/interfaces/native/innerkits:libhilog" ] 150eace7efcSopenharmony_ci out_path = 151eace7efcSopenharmony_ci get_label_info("${hilog_path}/interfaces/native/innerkits:libhilog", 152eace7efcSopenharmony_ci "root_out_dir") 153eace7efcSopenharmony_ci sources += [ out_path + "/hiviewdfx/hilog/libhilog" + dylib_suffix ] 154eace7efcSopenharmony_ci 155eace7efcSopenharmony_ci deps += [ "//third_party/icu/icu4c:shared_icui18n" ] 156eace7efcSopenharmony_ci out_path = 157eace7efcSopenharmony_ci get_label_info("//third_party/icu/icu4c:shared_icui18n", "root_out_dir") 158eace7efcSopenharmony_ci sources += [ out_path + "/thirdparty/icu/libhmicui18n" + dylib_suffix ] 159eace7efcSopenharmony_ci 160eace7efcSopenharmony_ci deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 161eace7efcSopenharmony_ci out_path = 162eace7efcSopenharmony_ci get_label_info("//third_party/icu/icu4c:shared_icuuc", "root_out_dir") 163eace7efcSopenharmony_ci sources += [ out_path + "/thirdparty/icu/libhmicuuc" + dylib_suffix ] 164eace7efcSopenharmony_ci 165eace7efcSopenharmony_ci deps += [ "//third_party/bounds_checking_function:libsec_shared" ] 166eace7efcSopenharmony_ci out_path = 167eace7efcSopenharmony_ci get_label_info("//third_party/bounds_checking_function:libsec_shared", 168eace7efcSopenharmony_ci "root_out_dir") 169eace7efcSopenharmony_ci sources += [ out_path + "/thirdparty/bounds_checking_function/libsec_shared" + 170eace7efcSopenharmony_ci dylib_suffix ] 171eace7efcSopenharmony_ci 172eace7efcSopenharmony_ci deps += [ "${ets_utils_path}/js_sys_module/timer:timer" ] 173eace7efcSopenharmony_ci out_path = get_label_info("${ets_utils_path}/js_sys_module/timer:timer", 174eace7efcSopenharmony_ci "root_out_dir") 175eace7efcSopenharmony_ci sources += [ out_path + "/commonlibrary/ets_utils/libtimer" + dylib_suffix ] 176eace7efcSopenharmony_ci 177eace7efcSopenharmony_ci deps += [ "${ets_utils_path}/js_sys_module/console:console" ] 178eace7efcSopenharmony_ci out_path = get_label_info("${ets_utils_path}/js_sys_module/console:console", 179eace7efcSopenharmony_ci "root_out_dir") 180eace7efcSopenharmony_ci sources += [ out_path + "/commonlibrary/ets_utils/libconsole" + dylib_suffix ] 181eace7efcSopenharmony_ci 182eace7efcSopenharmony_ci outputs = [ target_out_dir + "/bin/{{source_file_part}}" ] 183eace7efcSopenharmony_ci module_source_dir = target_out_dir + "/bin" 184eace7efcSopenharmony_ci module_install_name = "" 185eace7efcSopenharmony_ci} 186