1c8a96e64Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
2c8a96e64Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3c8a96e64Sopenharmony_ci# you may not use this file except in compliance with the License.
4c8a96e64Sopenharmony_ci# You may obtain a copy of the License at
5c8a96e64Sopenharmony_ci#
6c8a96e64Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7c8a96e64Sopenharmony_ci#
8c8a96e64Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9c8a96e64Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10c8a96e64Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11c8a96e64Sopenharmony_ci# See the License for the specific language governing permissions and
12c8a96e64Sopenharmony_ci# limitations under the License.
13c8a96e64Sopenharmony_ci
14c8a96e64Sopenharmony_ciimport("//build/config/components/ets_frontend/es2abc_config.gni")
15c8a96e64Sopenharmony_ciimport("//build/ohos.gni")
16c8a96e64Sopenharmony_ciimport("//foundation/arkui/ace_engine/ace_config.gni")
17c8a96e64Sopenharmony_ciimport("//foundation/arkui/ace_engine/adapter/preview/build/config.gni")
18c8a96e64Sopenharmony_ciimport("//foundation/arkui/ace_engine/build/ace_gen_obj.gni")
19c8a96e64Sopenharmony_ci
20c8a96e64Sopenharmony_cies2abc_gen_abc("gen_atomicserviceweb_abc") {
21c8a96e64Sopenharmony_ci  src_js = rebase_path("atomicserviceweb.js")
22c8a96e64Sopenharmony_ci  dst_file = rebase_path(target_out_dir + "/atomicserviceweb.abc")
23c8a96e64Sopenharmony_ci  in_puts = [ "atomicserviceweb.js" ]
24c8a96e64Sopenharmony_ci  out_puts = [ target_out_dir + "/atomicserviceweb.abc" ]
25c8a96e64Sopenharmony_ci  extra_args = [ "--module" ]
26c8a96e64Sopenharmony_ci}
27c8a96e64Sopenharmony_ci
28c8a96e64Sopenharmony_cigen_js_obj("atomicserviceweb_abc") {
29c8a96e64Sopenharmony_ci  input = get_label_info(":gen_atomicserviceweb_abc", "target_out_dir") +
30c8a96e64Sopenharmony_ci          "/atomicserviceweb.abc"
31c8a96e64Sopenharmony_ci  output = target_out_dir + "/atomicserviceweb_abc.o"
32c8a96e64Sopenharmony_ci  dep = ":gen_atomicserviceweb_abc"
33c8a96e64Sopenharmony_ci}
34c8a96e64Sopenharmony_ci
35c8a96e64Sopenharmony_cigen_obj("atomicserviceweb_abc_preview") {
36c8a96e64Sopenharmony_ci  input = get_label_info(":gen_atomicserviceweb_abc", "target_out_dir") +
37c8a96e64Sopenharmony_ci          "/atomicserviceweb.abc"
38c8a96e64Sopenharmony_ci  output = target_out_dir + "/atomicserviceweb_abc.c"
39c8a96e64Sopenharmony_ci  snapshot_dep = [ ":gen_atomicserviceweb_abc" ]
40c8a96e64Sopenharmony_ci}
41c8a96e64Sopenharmony_ci
42c8a96e64Sopenharmony_ciohos_shared_library("atomicserviceweb") {
43c8a96e64Sopenharmony_ci  include_dirs = [ "include" ]
44c8a96e64Sopenharmony_ci
45c8a96e64Sopenharmony_ci  sources = [
46c8a96e64Sopenharmony_ci    "api_policy_adapter.cpp",
47c8a96e64Sopenharmony_ci    "atomicserviceweb.cpp",
48c8a96e64Sopenharmony_ci  ]
49c8a96e64Sopenharmony_ci
50c8a96e64Sopenharmony_ci  if (use_mingw_win || use_mac || use_linux) {
51c8a96e64Sopenharmony_ci    deps = [ ":gen_obj_src_atomicserviceweb_abc_preview" ]
52c8a96e64Sopenharmony_ci  } else {
53c8a96e64Sopenharmony_ci    deps = [ ":atomicserviceweb_abc" ]
54c8a96e64Sopenharmony_ci  }
55c8a96e64Sopenharmony_ci
56c8a96e64Sopenharmony_ci  external_deps = [
57c8a96e64Sopenharmony_ci    "hilog:libhilog",
58c8a96e64Sopenharmony_ci    "napi:ace_napi",
59c8a96e64Sopenharmony_ci  ]
60c8a96e64Sopenharmony_ci
61c8a96e64Sopenharmony_ci  relative_install_dir = "module/atomicservice"
62c8a96e64Sopenharmony_ci  subsystem_name = "arkui"
63c8a96e64Sopenharmony_ci  part_name = "as_advanced_ui_component"
64c8a96e64Sopenharmony_ci}
65