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