153c3577eSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
253c3577eSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
353c3577eSopenharmony_ci# you may not use this file except in compliance with the License.
453c3577eSopenharmony_ci# You may obtain a copy of the License at
553c3577eSopenharmony_ci#
653c3577eSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
753c3577eSopenharmony_ci#
853c3577eSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
953c3577eSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1053c3577eSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1153c3577eSopenharmony_ci# See the License for the specific language governing permissions and
1253c3577eSopenharmony_ci# limitations under the License.
1353c3577eSopenharmony_ciimport("//build/ohos.gni")
1453c3577eSopenharmony_ciimport("//foundation/distributeddatamgr/datamgr_service/datamgr_service.gni")
1553c3577eSopenharmony_ci
1653c3577eSopenharmony_ciconfig("module_public_config") {
1753c3577eSopenharmony_ci  visibility = [ ":*" ]
1853c3577eSopenharmony_ci
1953c3577eSopenharmony_ci  include_dirs = [
2053c3577eSopenharmony_ci    "${data_service_path}/framework/include",
2153c3577eSopenharmony_ci    "${data_service_path}/adapter/include/communicator",
2253c3577eSopenharmony_ci    "${data_service_path}/adapter/include/account",
2353c3577eSopenharmony_ci    "${data_service_path}/adapter/include/dfx",
2453c3577eSopenharmony_ci    "${data_service_path}/service/udmf/lifecycle",
2553c3577eSopenharmony_ci    "${data_service_path}/service/udmf/permission",
2653c3577eSopenharmony_ci    "${data_service_path}/service/udmf/preprocess",
2753c3577eSopenharmony_ci    "${data_service_path}/service/udmf/store",
2853c3577eSopenharmony_ci    "${data_service_path}/service/udmf/utd",
2953c3577eSopenharmony_ci    "${data_service_path}/service/udmf",
3053c3577eSopenharmony_ci    "${data_service_path}/service/bootstrap/include",
3153c3577eSopenharmony_ci    "${kv_store_path}/interfaces/innerkits/distributeddata/include",
3253c3577eSopenharmony_ci    "${kv_store_path}/framework/libs/distributeddb/interfaces/include",
3353c3577eSopenharmony_ci    "${kv_store_common_path}",
3453c3577eSopenharmony_ci    "${udmf_path}/framework/common",
3553c3577eSopenharmony_ci    "${udmf_path}/interfaces/innerkits/common",
3653c3577eSopenharmony_ci    "${udmf_path}/interfaces/innerkits/data",
3753c3577eSopenharmony_ci  ]
3853c3577eSopenharmony_ci}
3953c3577eSopenharmony_ci
4053c3577eSopenharmony_ciohos_shared_library("udmf_server") {
4153c3577eSopenharmony_ci  branch_protector_ret = "pac_ret"
4253c3577eSopenharmony_ci  sanitize = {
4353c3577eSopenharmony_ci    ubsan = true
4453c3577eSopenharmony_ci    boundary_sanitize = true
4553c3577eSopenharmony_ci    cfi = true
4653c3577eSopenharmony_ci    cfi_cross_dso = true
4753c3577eSopenharmony_ci    debug = false
4853c3577eSopenharmony_ci  }
4953c3577eSopenharmony_ci  sources = [
5053c3577eSopenharmony_ci    "lifecycle/clean_on_startup.cpp",
5153c3577eSopenharmony_ci    "lifecycle/clean_on_timeout.cpp",
5253c3577eSopenharmony_ci    "lifecycle/lifecycle_manager.cpp",
5353c3577eSopenharmony_ci    "lifecycle/lifecycle_policy.cpp",
5453c3577eSopenharmony_ci    "permission/checker_manager.cpp",
5553c3577eSopenharmony_ci    "permission/data_checker.cpp",
5653c3577eSopenharmony_ci    "permission/uri_permission_manager.cpp",
5753c3577eSopenharmony_ci    "preprocess/preprocess_utils.cpp",
5853c3577eSopenharmony_ci    "store/runtime_store.cpp",
5953c3577eSopenharmony_ci    "store/store_account_observer.cpp",
6053c3577eSopenharmony_ci    "store/store_cache.cpp",
6153c3577eSopenharmony_ci    "udmf_service_impl.cpp",
6253c3577eSopenharmony_ci    "udmf_service_stub.cpp",
6353c3577eSopenharmony_ci  ]
6453c3577eSopenharmony_ci
6553c3577eSopenharmony_ci  configs = [ ":module_public_config" ]
6653c3577eSopenharmony_ci
6753c3577eSopenharmony_ci  cflags = [ "-D_LIBCPP_HAS_COND_CLOCKWAIT" ]
6853c3577eSopenharmony_ci
6953c3577eSopenharmony_ci  deps = [
7053c3577eSopenharmony_ci    "${data_service_path}/adapter:distributeddata_adapter",
7153c3577eSopenharmony_ci    "${data_service_path}/framework:distributeddatasvcfwk",
7253c3577eSopenharmony_ci    "${data_service_path}/service:distributeddatasvc",
7353c3577eSopenharmony_ci  ]
7453c3577eSopenharmony_ci
7553c3577eSopenharmony_ci  external_deps = [
7653c3577eSopenharmony_ci    "ability_base:zuri",
7753c3577eSopenharmony_ci    "ability_runtime:uri_permission_mgr",
7853c3577eSopenharmony_ci    "access_token:libaccesstoken_sdk",
7953c3577eSopenharmony_ci    "access_token:libtokenid_sdk",
8053c3577eSopenharmony_ci    "app_file_service:remote_file_share_native",
8153c3577eSopenharmony_ci    "bundle_framework:appexecfwk_base",
8253c3577eSopenharmony_ci    "bundle_framework:appexecfwk_core",
8353c3577eSopenharmony_ci    "c_utils:utils",
8453c3577eSopenharmony_ci    "hilog:libhilog",
8553c3577eSopenharmony_ci    "hisysevent:libhisysevent",
8653c3577eSopenharmony_ci    "ipc:ipc_core",
8753c3577eSopenharmony_ci    "kv_store:distributeddb",
8853c3577eSopenharmony_ci    "safwk:system_ability_fwk",
8953c3577eSopenharmony_ci    "samgr:samgr_proxy",
9053c3577eSopenharmony_ci    "udmf:udmf_client",
9153c3577eSopenharmony_ci    "udmf:utd_client",
9253c3577eSopenharmony_ci  ]
9353c3577eSopenharmony_ci  cflags_cc = [ "-fvisibility=hidden" ]
9453c3577eSopenharmony_ci  subsystem_name = "distributeddatamgr"
9553c3577eSopenharmony_ci
9653c3577eSopenharmony_ci  part_name = "datamgr_service"
9753c3577eSopenharmony_ci}
98