1# Copyright (c) 2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13import("//build/ohos.gni") 14import("//foundation/distributeddatamgr/udmf/adapter/arkui_x_udmf.gni") 15import("//foundation/distributeddatamgr/udmf/udmf.gni") 16 17config("udmf_client_config") { 18 include_dirs = [ 19 "${udmf_interfaces_path}/innerkits/client", 20 "${udmf_interfaces_path}/innerkits/common", 21 "${udmf_interfaces_path}/innerkits/data", 22 "${udmf_framework_path}/common", 23 "${udmf_framework_path}/innerkitsimpl/data", 24 "${udmf_framework_path}/innerkitsimpl/service", 25 "${kv_store_path}/frameworks/common", 26 "${third_party_path}/libuv/include", 27 "${third_party_path}/node/src", 28 "${kv_store_path}/frameworks/innerkitsimpl/distributeddatafwk/include", 29 "${kv_store_path}/frameworks/innerkitsimpl/distributeddatafwk/src", 30 "${kv_store_path}/frameworks/innerkitsimpl/distributeddatasvc/include", 31 "${kv_store_path}/interfaces/innerkits/distributeddata/include", 32 "${file_service_path}/interfaces/common/include", 33 "${file_service_path}/interfaces/innerkits/native/file_uri/include", 34 ] 35} 36 37config("udmf_napi_config") { 38 include_dirs = [ 39 "${udmf_interfaces_path}/innerkits/client", 40 "${udmf_interfaces_path}/innerkits/common", 41 "${udmf_interfaces_path}/innerkits/data", 42 "${udmf_interfaces_path}/jskits/common", 43 "${udmf_interfaces_path}/jskits/data", 44 45 "${udmf_framework_path}/common", 46 "${udmf_framework_path}/innerkits/service", 47 48 "${third_party_path}/libuv/include", 49 "${third_party_path}/node/src", 50 51 "${aafwk_inner_api_path}/ability_manager/include", 52 "${aafwk_kits_path}/appkit/native/app/include/", 53 "${aafwk_kits_path}/ability/native/include", 54 "${aafwk_napi_path}/inner/napi_common", 55 "${aafwk_service_path}/abilitymgr/include", 56 "${aafwk_service_path}/common/include", 57 ] 58} 59 60config("arkui_x_udmf_config") { 61 include_dirs = [ 62 "${arkui_x_image_framework_path}/interfaces/innerkits/include", 63 "${arkui_x_image_framework_path}/interfaces/kits/js/common/include", 64 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/receiver/include", 65 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/utils/include", 66 "${arkui_x_graphic_2d_path}/rosen/modules/platform/ipc_core", 67 "${arkui_x_graphic_2d_path}/utils/color_manager/export", 68 "${arkui_x_graphic_surface_path}/interfaces/inner_api/common", 69 "${arkui_x_graphic_surface_path}/interfaces/inner_api/surface", 70 "${arkui_x_graphic_surface_path}/interfaces/inner_api/utils", 71 "${third_party_path}/skia", 72 ] 73} 74 75arkui_x_public_source = [ 76 "${udmf_framework_path}/innerkitsimpl/client/getter_system.cpp", 77 "${udmf_framework_path}/innerkitsimpl/common/unified_key.cpp", 78 "${udmf_framework_path}/innerkitsimpl/common/unified_meta.cpp", 79 "${udmf_framework_path}/innerkitsimpl/data/application_defined_record.cpp", 80 "${udmf_framework_path}/innerkitsimpl/data/audio.cpp", 81 "${udmf_framework_path}/innerkitsimpl/data/file.cpp", 82 "${udmf_framework_path}/innerkitsimpl/data/flexible_type.cpp", 83 "${udmf_framework_path}/innerkitsimpl/data/folder.cpp", 84 "${udmf_framework_path}/innerkitsimpl/data/html.cpp", 85 "${udmf_framework_path}/innerkitsimpl/data/image.cpp", 86 "${udmf_framework_path}/innerkitsimpl/data/link.cpp", 87 "${udmf_framework_path}/innerkitsimpl/data/plain_text.cpp", 88 "${udmf_framework_path}/innerkitsimpl/data/preset_type_descriptors.cpp", 89 "${udmf_framework_path}/innerkitsimpl/data/system_defined_appitem.cpp", 90 "${udmf_framework_path}/innerkitsimpl/data/system_defined_form.cpp", 91 "${udmf_framework_path}/innerkitsimpl/data/system_defined_pixelmap.cpp", 92 "${udmf_framework_path}/innerkitsimpl/data/system_defined_record.cpp", 93 "${udmf_framework_path}/innerkitsimpl/data/text.cpp", 94 "${udmf_framework_path}/innerkitsimpl/data/type_descriptor.cpp", 95 "${udmf_framework_path}/innerkitsimpl/data/unified_data.cpp", 96 "${udmf_framework_path}/innerkitsimpl/data/unified_record.cpp", 97 "${udmf_framework_path}/innerkitsimpl/data/video.cpp", 98] 99 100ohos_source_set("arkui_x_udmf_data") { 101 sources = [ 102 "${udmf_framework_path}/common/base32_utils.cpp", 103 "${udmf_framework_path}/common/custom_utd_json_parser.cpp", 104 "${udmf_framework_path}/common/custom_utd_store.cpp", 105 "${udmf_framework_path}/common/graph.cpp", 106 "${udmf_framework_path}/common/utd_cfgs_checker.cpp", 107 "${udmf_framework_path}/common/utd_graph.cpp", 108 "${udmf_root_path}/adapter/framework/common/udmf_utils.cpp", 109 ] 110 111 sources += arkui_x_public_source 112 113 deps = [ 114 "${arkui_path}/ace_engine/adapter/${target_os}/build:libarkui_${target_os}", 115 "${arkui_x_c_utils_path}/base:utilsbase", 116 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 117 "${third_party_path}/cJSON:cjson_static", 118 ] 119 120 configs = [ 121 ":arkui_x_udmf_config", 122 ":udmf_client_config", 123 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 124 ] 125 126 subsystem_name = "distributeddatamgr" 127 part_name = "udmf" 128} 129 130ohos_source_set("arkui_x_udmf_data_inner") { 131 sources = arkui_x_public_source 132 133 include_dirs = [ "${arkui_x_hilog_path}/interfaces/native/innerkits/include" ] 134 135 deps = [ 136 "${arkui_path}/napi/:ace_napi", 137 "${arkui_x_c_utils_path}/base:utilsbase", 138 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 139 ] 140 141 configs = [ 142 ":arkui_x_udmf_config", 143 ":udmf_client_config", 144 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 145 ] 146 147 subsystem_name = "distributeddatamgr" 148 part_name = "udmf" 149} 150 151config("arkui_x_udmf_napi_config") { 152 include_dirs = [ 153 "${arkui_path}/napi/interfaces/kits", 154 "${arkui_path}/napi/interfaces/inner_api", 155 "${arkui_x_hilog_path}/interfaces/native/innerkits/include", 156 "${arkui_x_image_framework_path}/interfaces/kits/js/common/include", 157 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/receiver/include", 158 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/utils/include", 159 "${arkui_x_image_framework_path}/interfaces/innerkits/include", 160 "${arkui_x_graphic_surface_path}/interfaces/inner_api/common", 161 "${arkui_x_graphic_surface_path}/interfaces/inner_api/surface", 162 "${arkui_x_graphic_surface_path}/interfaces/inner_api/utils", 163 "${arkui_x_graphic_2d_path}/utils/color_manager/export", 164 "${arkui_x_graphic_2d_path}/rosen/modules/platform/ipc_core", 165 "${third_party_path}/skia", 166 ] 167} 168 169ohos_source_set("arkui_x_uniformtypedescriptor") { 170 include_dirs = [ 171 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 172 "${udmf_framework_path}/innerkitsimpl/data", 173 "${udmf_root_path}/adapter/framework/innerkitsimpl/client", 174 ] 175 176 sources = [ 177 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 178 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 179 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 180 "${udmf_framework_path}/jskitsimpl/data/type_descriptor_napi.cpp", 181 "${udmf_framework_path}/jskitsimpl/data/uniform_type_descriptor_napi.cpp", 182 "${udmf_interfaces_path}/jskits/module/uniform_type_descriptor_napi_module.cpp", 183 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/udmf_client.cpp", 184 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/utd_client.cpp", 185 ] 186 deps = [ 187 ":arkui_x_udmf_data", 188 "${arkui_x_c_utils_path}/base:utilsbase", 189 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 190 "${arkui_x_plugin_path}/libs/napi:napi_${target_os}", 191 ] 192 193 public_configs = [ 194 ":udmf_napi_config", 195 ":arkui_x_udmf_napi_config", 196 "${ability_runtime_cross_platform_path}/interfaces/inner_api/jsruntime:jsruntime_config", 197 "${ability_runtime_cross_platform_path}/interfaces/inner_api/hilog:ability_cross_platform_hilog_config", 198 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 199 ] 200 201 subsystem_name = "distributeddatamgr" 202 part_name = "udmf" 203} 204 205ohos_source_set("arkui_x_unifieddatachannel") { 206 include_dirs = [ 207 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 208 "${udmf_root_path}/adapter/framework/innerkitsimpl/client", 209 "${third_party_path}/bounds_checking_function/include", 210 ] 211 212 sources = [ 213 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 214 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 215 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 216 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 217 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 218 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 219 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 220 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 221 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 222 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 223 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 224 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 225 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 226 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 227 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 228 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 229 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 230 "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp", 231 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 232 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 233 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 234 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 235 "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp", 236 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/udmf_client.cpp", 237 ] 238 239 ldflags = [ "-Wl,--exclude-libs=ALL" ] 240 241 public_configs = [ 242 ":udmf_napi_config", 243 ":arkui_x_udmf_napi_config", 244 "${ability_runtime_cross_platform_path}/interfaces/inner_api/jsruntime:jsruntime_config", 245 "${ability_runtime_cross_platform_path}/interfaces/inner_api/hilog:ability_cross_platform_hilog_config", 246 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 247 ] 248 249 deps = [ 250 ":arkui_x_udmf_data", 251 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:cross_platform_want_params", 252 "${arkui_x_c_utils_path}/base:utilsbase", 253 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 254 "${arkui_x_plugin_path}/libs/napi:napi_${target_os}", 255 ] 256 257 subsystem_name = "distributeddatamgr" 258 part_name = "udmf" 259} 260 261ohos_source_set("arkui_x_udmf_data_napi") { 262 include_dirs = [ 263 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 264 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want", 265 ] 266 267 sources = [ 268 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 269 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 270 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 271 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 272 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 273 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 274 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 275 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 276 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 277 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 278 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 279 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 280 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 281 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 282 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 283 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 284 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 285 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 286 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 287 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 288 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 289 ] 290 291 public_configs = [ 292 ":udmf_napi_config", 293 ":arkui_x_udmf_napi_config", 294 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 295 ] 296 297 deps = [ 298 ":arkui_x_udmf_data_inner", 299 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common:napi_common", 300 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:cross_platform_want_params", 301 "${arkui_x_c_utils_path}/base:utilsbase", 302 ] 303 304 subsystem_name = "distributeddatamgr" 305 part_name = "udmf" 306} 307