115053c2dSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
215053c2dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
315053c2dSopenharmony_ci# you may not use this file except in compliance with the License.
415053c2dSopenharmony_ci# You may obtain a copy of the License at
515053c2dSopenharmony_ci#
615053c2dSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
715053c2dSopenharmony_ci#
815053c2dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
915053c2dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1015053c2dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1115053c2dSopenharmony_ci# See the License for the specific language governing permissions and
1215053c2dSopenharmony_ci# limitations under the License.
1315053c2dSopenharmony_ciimport("//build/ohos.gni")
1415053c2dSopenharmony_ciimport("//foundation/distributeddatamgr/data_share/datashare.gni")
1515053c2dSopenharmony_ciimport("//foundation/distributeddatamgr/kv_store/kv_store.gni")
1615053c2dSopenharmony_ci
1715053c2dSopenharmony_cigroup("build_module") {
1815053c2dSopenharmony_ci  deps = []
1915053c2dSopenharmony_ci  if (!use_platform_win && !use_platforn_mac) {
2015053c2dSopenharmony_ci    deps += [
2115053c2dSopenharmony_ci      ":distributeddata_client_sync",
2215053c2dSopenharmony_ci      ":distributeddata_inner",
2315053c2dSopenharmony_ci    ]
2415053c2dSopenharmony_ci  }
2515053c2dSopenharmony_ci}
2615053c2dSopenharmony_ci
2715053c2dSopenharmony_ciconfig("distributeddatafwk_config") {
2815053c2dSopenharmony_ci  visibility = [ ":*" ]
2915053c2dSopenharmony_ci
3015053c2dSopenharmony_ci  cflags = [
3115053c2dSopenharmony_ci    "-Wno-multichar",
3215053c2dSopenharmony_ci    "-Wno-c99-designator",
3315053c2dSopenharmony_ci  ]
3415053c2dSopenharmony_ci
3515053c2dSopenharmony_ci  cflags_cc = [ "-fvisibility=hidden" ]
3615053c2dSopenharmony_ci
3715053c2dSopenharmony_ci  include_dirs = [
3815053c2dSopenharmony_ci    "include",
3915053c2dSopenharmony_ci    "../../../frameworks/innerkitsimpl/distributeddatamgr/include",
4015053c2dSopenharmony_ci    "../../../frameworks/innerkitsimpl/distributeddatafwk/include",
4115053c2dSopenharmony_ci    "../../../frameworks/innerkitsimpl/distributeddatafwk/src",
4215053c2dSopenharmony_ci    "../../../frameworks/common",
4315053c2dSopenharmony_ci    "../../../frameworks/innerkitsimpl/kvdb/include",
4415053c2dSopenharmony_ci    "../../../frameworks/innerkitsimpl/kvdb/src",
4515053c2dSopenharmony_ci    "${datashare_innerapi_path}/common/include",
4615053c2dSopenharmony_ci    "${datashare_innerapi_path}/provider/include",
4715053c2dSopenharmony_ci  ]
4815053c2dSopenharmony_ci}
4915053c2dSopenharmony_ci
5015053c2dSopenharmony_ciconfig("distributeddatafwk_public_config") {
5115053c2dSopenharmony_ci  visibility = [ ":*" ]
5215053c2dSopenharmony_ci
5315053c2dSopenharmony_ci  include_dirs = [
5415053c2dSopenharmony_ci    "include",
5515053c2dSopenharmony_ci    "../../../frameworks/innerkitsimpl/distributeddatafwk/include",
5615053c2dSopenharmony_ci    "../../../frameworks/common",
5715053c2dSopenharmony_ci  ]
5815053c2dSopenharmony_ci}
5915053c2dSopenharmony_ci
6015053c2dSopenharmony_ciold_source_config = [
6115053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/blob.cpp",
6215053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/change_notification.cpp",
6315053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/data_query.cpp",
6415053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/distributed_kv_data_manager.cpp",
6515053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/ikvstore_client_death_observer.cpp",
6615053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/ikvstore_observer.cpp",
6715053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kv_utils.cpp",
6815053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvdb_notifier_client.cpp",
6915053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvdb_notifier_stub.cpp",
7015053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvstore_client_death_observer.cpp",
7115053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvstore_datashare_bridge.cpp",
7215053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvstore_observer_client.cpp",
7315053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvstore_service_death_notifier.cpp",
7415053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/distributeddatafwk/src/sync_observer.cpp",
7515053c2dSopenharmony_ci  "include/types.h",
7615053c2dSopenharmony_ci]
7715053c2dSopenharmony_ci
7815053c2dSopenharmony_cikvdb_source_config = [
7915053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/backup_manager.cpp",
8015053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/convertor.cpp",
8115053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/dev_manager.cpp",
8215053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/device_convertor.cpp",
8315053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/kv_types_util.cpp",
8415053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/kvdb_service_client.cpp",
8515053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/observer_bridge.cpp",
8615053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/security_manager.cpp",
8715053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/single_store_impl.cpp",
8815053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/store_factory.cpp",
8915053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/store_manager.cpp",
9015053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/store_result_set.cpp",
9115053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/store_util.cpp",
9215053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/system_api.cpp",
9315053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/task_executor.cpp",
9415053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/task_executor_adapter.cpp",
9515053c2dSopenharmony_ci  "../../../frameworks/innerkitsimpl/kvdb/src/kv_hiview_reporter.cpp",
9615053c2dSopenharmony_ci]
9715053c2dSopenharmony_ci
9815053c2dSopenharmony_cideps_config = [
9915053c2dSopenharmony_ci  "../../../frameworks/libs/distributeddb:distributeddb",
10015053c2dSopenharmony_ci  "../distributeddatamgr:distributeddata_mgr",
10115053c2dSopenharmony_ci  "../distributeddata:distributeddata_client_sync",
10215053c2dSopenharmony_ci  "../../../databaseutils:database_utils",
10315053c2dSopenharmony_ci]
10415053c2dSopenharmony_ci
10515053c2dSopenharmony_ciexternal_deps_config = [
10615053c2dSopenharmony_ci  "access_token:libaccesstoken_sdk",
10715053c2dSopenharmony_ci  "access_token:libtokenid_sdk",
10815053c2dSopenharmony_ci  "c_utils:utils",
10915053c2dSopenharmony_ci  "device_manager:devicemanagersdk",
11015053c2dSopenharmony_ci  "hisysevent:libhisysevent",
11115053c2dSopenharmony_ci  "hitrace:hitrace_meter",
11215053c2dSopenharmony_ci  "hitrace:libhitracechain",
11315053c2dSopenharmony_ci  "hilog:libhilog",
11415053c2dSopenharmony_ci  "huks:libhukssdk",
11515053c2dSopenharmony_ci  "ipc:ipc_single",
11615053c2dSopenharmony_ci  "samgr:samgr_proxy",
11715053c2dSopenharmony_ci  "file_api:securitylabel",
11815053c2dSopenharmony_ci]
11915053c2dSopenharmony_ci
12015053c2dSopenharmony_ciohos_shared_library("distributeddata_inner") {
12115053c2dSopenharmony_ci  branch_protector_ret = "pac_ret"
12215053c2dSopenharmony_ci  sanitize = {
12315053c2dSopenharmony_ci    ubsan = true
12415053c2dSopenharmony_ci    boundary_sanitize = true
12515053c2dSopenharmony_ci    cfi = true
12615053c2dSopenharmony_ci    cfi_cross_dso = true
12715053c2dSopenharmony_ci    debug = false
12815053c2dSopenharmony_ci  }
12915053c2dSopenharmony_ci  sources = old_source_config + kvdb_source_config
13015053c2dSopenharmony_ci  if (qemu_disable) {
13115053c2dSopenharmony_ci    sources +=
13215053c2dSopenharmony_ci        [ "../../../frameworks/innerkitsimpl/kvdb/src/auto_sync_timer.cpp" ]
13315053c2dSopenharmony_ci  } else {
13415053c2dSopenharmony_ci    sources += [
13515053c2dSopenharmony_ci      "../../../frameworks/innerkitsimpl/kvdb/src/auto_sync_timer_mock.cpp",
13615053c2dSopenharmony_ci    ]
13715053c2dSopenharmony_ci  }
13815053c2dSopenharmony_ci  configs = [ ":distributeddatafwk_config" ]
13915053c2dSopenharmony_ci  public_configs = [ ":distributeddatafwk_public_config" ]
14015053c2dSopenharmony_ci
14115053c2dSopenharmony_ci  deps = deps_config
14215053c2dSopenharmony_ci  external_deps = external_deps_config
14315053c2dSopenharmony_ci  if (dms_service_enable && qemu_disable) {
14415053c2dSopenharmony_ci    external_deps += [ "dmsfwk:distributed_sdk" ]
14515053c2dSopenharmony_ci  }
14615053c2dSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
14715053c2dSopenharmony_ci  subsystem_name = "distributeddatamgr"
14815053c2dSopenharmony_ci  part_name = "kv_store"
14915053c2dSopenharmony_ci}
15015053c2dSopenharmony_ci
15115053c2dSopenharmony_ciohos_shared_library("distributeddata_client_sync") {
15215053c2dSopenharmony_ci  branch_protector_ret = "pac_ret"
15315053c2dSopenharmony_ci  sanitize = {
15415053c2dSopenharmony_ci    ubsan = true
15515053c2dSopenharmony_ci    boundary_sanitize = true
15615053c2dSopenharmony_ci    cfi = true
15715053c2dSopenharmony_ci    cfi_cross_dso = true
15815053c2dSopenharmony_ci    debug = false
15915053c2dSopenharmony_ci  }
16015053c2dSopenharmony_ci  sources = [
16115053c2dSopenharmony_ci    "${kv_store_base_path}/frameworks/innerkitsimpl/kvdb/src/process_communication_impl.cpp",
16215053c2dSopenharmony_ci    "${kv_store_base_path}/frameworks/innerkitsimpl/kvdb/src/process_system_api_adapter_impl.cpp",
16315053c2dSopenharmony_ci  ]
16415053c2dSopenharmony_ci
16515053c2dSopenharmony_ci  configs = [ ":distributeddatafwk_config" ]
16615053c2dSopenharmony_ci
16715053c2dSopenharmony_ci  deps = [ "${kv_store_base_path}/frameworks/libs/distributeddb:distributeddb" ]
16815053c2dSopenharmony_ci
16915053c2dSopenharmony_ci  external_deps = [
17015053c2dSopenharmony_ci    "c_utils:utils",
17115053c2dSopenharmony_ci    "file_api:securitylabel",
17215053c2dSopenharmony_ci    "hilog:libhilog",
17315053c2dSopenharmony_ci  ]
17415053c2dSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
17515053c2dSopenharmony_ci  subsystem_name = "distributeddatamgr"
17615053c2dSopenharmony_ci  part_name = "kv_store"
17715053c2dSopenharmony_ci}
178