114cf0368Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
214cf0368Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
314cf0368Sopenharmony_ci# you may not use this file except in compliance with the License.
414cf0368Sopenharmony_ci# You may obtain a copy of the License at
514cf0368Sopenharmony_ci#
614cf0368Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
714cf0368Sopenharmony_ci#
814cf0368Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
914cf0368Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1014cf0368Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1114cf0368Sopenharmony_ci# See the License for the specific language governing permissions and
1214cf0368Sopenharmony_ci# limitations under the License.
1314cf0368Sopenharmony_ciimport("//build/ohos.gni")
1414cf0368Sopenharmony_ciimport("//foundation/distributeddatamgr/udmf/udmf.gni")
1514cf0368Sopenharmony_ci
1614cf0368Sopenharmony_ciconfig("udmf_napi_config") {
1714cf0368Sopenharmony_ci  include_dirs = [
1814cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/client",
1914cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/common",
2014cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/data",
2114cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/common",
2214cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/data",
2314cf0368Sopenharmony_ci
2414cf0368Sopenharmony_ci    "${udmf_framework_path}/common",
2514cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkits/service",
2614cf0368Sopenharmony_ci
2714cf0368Sopenharmony_ci    "//third_party/libuv/include",
2814cf0368Sopenharmony_ci    "//third_party/node/src",
2914cf0368Sopenharmony_ci
3014cf0368Sopenharmony_ci    "${aafwk_inner_api_path}/ability_manager/include",
3114cf0368Sopenharmony_ci    "${aafwk_kits_path}/appkit/native/app/include/",
3214cf0368Sopenharmony_ci    "${aafwk_kits_path}/ability/native/include",
3314cf0368Sopenharmony_ci    "${aafwk_napi_path}/inner/napi_common",
3414cf0368Sopenharmony_ci    "${aafwk_service_path}/abilitymgr/include",
3514cf0368Sopenharmony_ci    "${aafwk_service_path}/common/include",
3614cf0368Sopenharmony_ci  ]
3714cf0368Sopenharmony_ci}
3814cf0368Sopenharmony_ci
3914cf0368Sopenharmony_ciohos_shared_library("unifieddatachannel_napi") {
4014cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
4114cf0368Sopenharmony_ci  sanitize = {
4214cf0368Sopenharmony_ci    ubsan = true
4314cf0368Sopenharmony_ci    boundary_sanitize = true
4414cf0368Sopenharmony_ci    cfi = true
4514cf0368Sopenharmony_ci    cfi_cross_dso = true
4614cf0368Sopenharmony_ci    debug = false
4714cf0368Sopenharmony_ci  }
4814cf0368Sopenharmony_ci  sources = [
4914cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp",
5014cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp",
5114cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp",
5214cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp",
5314cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp",
5414cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp",
5514cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp",
5614cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp",
5714cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp",
5814cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp",
5914cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp",
6014cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp",
6114cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp",
6214cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp",
6314cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp",
6414cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp",
6514cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp",
6614cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp",
6714cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp",
6814cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp",
6914cf0368Sopenharmony_ci  ]
7014cf0368Sopenharmony_ci
7114cf0368Sopenharmony_ci  ldflags = [ "-Wl,--exclude-libs=ALL" ]
7214cf0368Sopenharmony_ci
7314cf0368Sopenharmony_ci  public_configs = [ ":udmf_napi_config" ]
7414cf0368Sopenharmony_ci
7514cf0368Sopenharmony_ci  deps = [
7614cf0368Sopenharmony_ci    "${third_party_path}/bounds_checking_function:libsec_shared",
7714cf0368Sopenharmony_ci    "../innerkits:udmf_client",
7814cf0368Sopenharmony_ci    "../jskits:udmf_js_common",
7914cf0368Sopenharmony_ci  ]
8014cf0368Sopenharmony_ci
8114cf0368Sopenharmony_ci  external_deps = [
8214cf0368Sopenharmony_ci    "ability_base:want",
8314cf0368Sopenharmony_ci    "ability_runtime:abilitykit_native",
8414cf0368Sopenharmony_ci    "ability_runtime:napi_common",
8514cf0368Sopenharmony_ci    "c_utils:utils",
8614cf0368Sopenharmony_ci    "hilog:libhilog",
8714cf0368Sopenharmony_ci    "ipc:ipc_core",
8814cf0368Sopenharmony_ci    "kv_store:distributeddata_inner",
8914cf0368Sopenharmony_ci    "napi:ace_napi",
9014cf0368Sopenharmony_ci  ]
9114cf0368Sopenharmony_ci
9214cf0368Sopenharmony_ci  public_external_deps = [ "image_framework:image" ]
9314cf0368Sopenharmony_ci  cflags = [ "-fvisibility=hidden" ]
9414cf0368Sopenharmony_ci  relative_install_dir = "module/data"
9514cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
9614cf0368Sopenharmony_ci  part_name = "udmf"
9714cf0368Sopenharmony_ci}
9814cf0368Sopenharmony_ci
9914cf0368Sopenharmony_ciohos_shared_library("uniformtypedescriptor_napi") {
10014cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
10114cf0368Sopenharmony_ci  sanitize = {
10214cf0368Sopenharmony_ci    ubsan = true
10314cf0368Sopenharmony_ci    boundary_sanitize = true
10414cf0368Sopenharmony_ci    cfi = true
10514cf0368Sopenharmony_ci    cfi_cross_dso = true
10614cf0368Sopenharmony_ci    debug = false
10714cf0368Sopenharmony_ci  }
10814cf0368Sopenharmony_ci  sources = [
10914cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/type_descriptor_napi.cpp",
11014cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/uniform_type_descriptor_napi.cpp",
11114cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/module/uniform_type_descriptor_napi_module.cpp",
11214cf0368Sopenharmony_ci  ]
11314cf0368Sopenharmony_ci
11414cf0368Sopenharmony_ci  ldflags = [ "-Wl,--exclude-libs=ALL" ]
11514cf0368Sopenharmony_ci
11614cf0368Sopenharmony_ci  public_configs = [ ":udmf_napi_config" ]
11714cf0368Sopenharmony_ci
11814cf0368Sopenharmony_ci  deps = [
11914cf0368Sopenharmony_ci    "${third_party_path}/bounds_checking_function:libsec_shared",
12014cf0368Sopenharmony_ci    "../innerkits:udmf_client",
12114cf0368Sopenharmony_ci    "../innerkits:utd_client",
12214cf0368Sopenharmony_ci    "../jskits:udmf_js_common",
12314cf0368Sopenharmony_ci  ]
12414cf0368Sopenharmony_ci
12514cf0368Sopenharmony_ci  external_deps = [
12614cf0368Sopenharmony_ci    "ability_runtime:abilitykit_native",
12714cf0368Sopenharmony_ci    "hilog:libhilog",
12814cf0368Sopenharmony_ci    "ipc:ipc_core",
12914cf0368Sopenharmony_ci    "napi:ace_napi",
13014cf0368Sopenharmony_ci  ]
13114cf0368Sopenharmony_ci
13214cf0368Sopenharmony_ci  public_external_deps = [ "image_framework:image" ]
13314cf0368Sopenharmony_ci  cflags = [ "-fvisibility=hidden" ]
13414cf0368Sopenharmony_ci  relative_install_dir = "module/data"
13514cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
13614cf0368Sopenharmony_ci  part_name = "udmf"
13714cf0368Sopenharmony_ci}
13814cf0368Sopenharmony_ci
13914cf0368Sopenharmony_ciohos_shared_library("udmf_data_napi") {
14014cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
14114cf0368Sopenharmony_ci  sanitize = {
14214cf0368Sopenharmony_ci    ubsan = true
14314cf0368Sopenharmony_ci    boundary_sanitize = true
14414cf0368Sopenharmony_ci    cfi = true
14514cf0368Sopenharmony_ci    cfi_cross_dso = true
14614cf0368Sopenharmony_ci    debug = false
14714cf0368Sopenharmony_ci  }
14814cf0368Sopenharmony_ci  sources = [
14914cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp",
15014cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp",
15114cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp",
15214cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp",
15314cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp",
15414cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp",
15514cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp",
15614cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp",
15714cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp",
15814cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp",
15914cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp",
16014cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp",
16114cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp",
16214cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp",
16314cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp",
16414cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp",
16514cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp",
16614cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp",
16714cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp",
16814cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp",
16914cf0368Sopenharmony_ci  ]
17014cf0368Sopenharmony_ci
17114cf0368Sopenharmony_ci  ldflags = [ "-Wl,--exclude-libs=ALL" ]
17214cf0368Sopenharmony_ci
17314cf0368Sopenharmony_ci  public_configs = [ ":udmf_napi_config" ]
17414cf0368Sopenharmony_ci
17514cf0368Sopenharmony_ci  deps = [
17614cf0368Sopenharmony_ci    "${third_party_path}/bounds_checking_function:libsec_shared",
17714cf0368Sopenharmony_ci    "../innerkits:udmf_client",
17814cf0368Sopenharmony_ci    "../jskits:udmf_js_common",
17914cf0368Sopenharmony_ci  ]
18014cf0368Sopenharmony_ci
18114cf0368Sopenharmony_ci  external_deps = [
18214cf0368Sopenharmony_ci    "ability_base:want",
18314cf0368Sopenharmony_ci    "ability_runtime:abilitykit_native",
18414cf0368Sopenharmony_ci    "ability_runtime:napi_common",
18514cf0368Sopenharmony_ci    "c_utils:utils",
18614cf0368Sopenharmony_ci    "hilog:libhilog",
18714cf0368Sopenharmony_ci    "ipc:ipc_core",
18814cf0368Sopenharmony_ci    "kv_store:distributeddata_inner",
18914cf0368Sopenharmony_ci    "napi:ace_napi",
19014cf0368Sopenharmony_ci  ]
19114cf0368Sopenharmony_ci
19214cf0368Sopenharmony_ci  public_external_deps = [ "image_framework:image" ]
19314cf0368Sopenharmony_ci  cflags = [ "-fvisibility=hidden" ]
19414cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
19514cf0368Sopenharmony_ci  part_name = "udmf"
19614cf0368Sopenharmony_ci}
19714cf0368Sopenharmony_ci
19814cf0368Sopenharmony_ciohos_static_library("udmf_js_common") {
19914cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
20014cf0368Sopenharmony_ci  sanitize = {
20114cf0368Sopenharmony_ci    ubsan = true
20214cf0368Sopenharmony_ci    boundary_sanitize = true
20314cf0368Sopenharmony_ci    cfi = true
20414cf0368Sopenharmony_ci    cfi_cross_dso = true
20514cf0368Sopenharmony_ci    debug = false
20614cf0368Sopenharmony_ci  }
20714cf0368Sopenharmony_ci  sources = [
20814cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp",
20914cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp",
21014cf0368Sopenharmony_ci    "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp",
21114cf0368Sopenharmony_ci  ]
21214cf0368Sopenharmony_ci
21314cf0368Sopenharmony_ci  ldflags = [ "-Wl,--exclude-libs=ALL" ]
21414cf0368Sopenharmony_ci  cflags = [ "-fvisibility=hidden" ]
21514cf0368Sopenharmony_ci  include_dirs = [ "${udmf_interfaces_path}/jskits/common" ]
21614cf0368Sopenharmony_ci
21714cf0368Sopenharmony_ci  public_configs = [ ":udmf_napi_config" ]
21814cf0368Sopenharmony_ci  external_deps = [
21914cf0368Sopenharmony_ci    "ability_runtime:abilitykit_native",
22014cf0368Sopenharmony_ci    "hilog:libhilog",
22114cf0368Sopenharmony_ci    "napi:ace_napi",
22214cf0368Sopenharmony_ci  ]
22314cf0368Sopenharmony_ci  public_external_deps = [ "image_framework:image" ]
22414cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
22514cf0368Sopenharmony_ci  part_name = "udmf"
22614cf0368Sopenharmony_ci}
227