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 defines = [ "CROSS_PLATFORM" ] 75} 76 77arkui_x_public_source = [ 78 "${udmf_framework_path}/innerkitsimpl/client/getter_system.cpp", 79 "${udmf_framework_path}/innerkitsimpl/common/unified_key.cpp", 80 "${udmf_framework_path}/innerkitsimpl/data/application_defined_record.cpp", 81 "${udmf_framework_path}/innerkitsimpl/data/audio.cpp", 82 "${udmf_framework_path}/innerkitsimpl/data/file.cpp", 83 "${udmf_framework_path}/innerkitsimpl/data/flexible_type.cpp", 84 "${udmf_framework_path}/innerkitsimpl/data/folder.cpp", 85 "${udmf_framework_path}/innerkitsimpl/data/html.cpp", 86 "${udmf_framework_path}/innerkitsimpl/data/image.cpp", 87 "${udmf_framework_path}/innerkitsimpl/data/link.cpp", 88 "${udmf_framework_path}/innerkitsimpl/data/plain_text.cpp", 89 "${udmf_framework_path}/innerkitsimpl/data/preset_type_descriptors.cpp", 90 "${udmf_framework_path}/innerkitsimpl/data/system_defined_appitem.cpp", 91 "${udmf_framework_path}/innerkitsimpl/data/system_defined_form.cpp", 92 "${udmf_framework_path}/innerkitsimpl/data/system_defined_pixelmap.cpp", 93 "${udmf_framework_path}/innerkitsimpl/data/system_defined_record.cpp", 94 "${udmf_framework_path}/innerkitsimpl/data/text.cpp", 95 "${udmf_framework_path}/innerkitsimpl/data/type_descriptor.cpp", 96 "${udmf_framework_path}/innerkitsimpl/data/unified_data.cpp", 97 "${udmf_framework_path}/innerkitsimpl/data/unified_record.cpp", 98 "${udmf_framework_path}/innerkitsimpl/data/video.cpp", 99 "${udmf_root_path}/adapter/framework/innerkitsimpl/common/unified_meta.cpp", 100] 101 102ohos_source_set("arkui_x_udmf_data") { 103 sources = [ 104 "${udmf_framework_path}/common/base32_utils.cpp", 105 "${udmf_framework_path}/common/custom_utd_json_parser.cpp", 106 "${udmf_framework_path}/common/custom_utd_store.cpp", 107 "${udmf_framework_path}/common/graph.cpp", 108 "${udmf_framework_path}/common/utd_cfgs_checker.cpp", 109 "${udmf_framework_path}/common/utd_graph.cpp", 110 "${udmf_root_path}/adapter/framework/common/udmf_utils.cpp", 111 ] 112 113 sources += arkui_x_public_source 114 115 deps = [ 116 "${arkui_path}/ace_engine/adapter/${target_os}/build:libarkui_${target_os}", 117 "${arkui_x_c_utils_path}/base:utilsbase", 118 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 119 "${third_party_path}/cJSON:cjson_static", 120 ] 121 122 configs = [ 123 ":arkui_x_udmf_config", 124 ":udmf_client_config", 125 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 126 ] 127 128 subsystem_name = "distributeddatamgr" 129 part_name = "udmf" 130} 131 132ohos_source_set("arkui_x_udmf_data_inner") { 133 sources = arkui_x_public_source 134 135 include_dirs = [ "${arkui_x_hilog_path}/interfaces/native/innerkits/include" ] 136 137 deps = [ 138 "${arkui_path}/napi/:ace_napi", 139 "${arkui_x_c_utils_path}/base:utilsbase", 140 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 141 ] 142 143 configs = [ 144 ":arkui_x_udmf_config", 145 ":udmf_client_config", 146 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 147 ] 148 149 subsystem_name = "distributeddatamgr" 150 part_name = "udmf" 151} 152 153config("arkui_x_udmf_napi_config") { 154 include_dirs = [ 155 "${arkui_path}/napi/interfaces/kits", 156 "${arkui_path}/napi/interfaces/inner_api", 157 "${arkui_x_hilog_path}/interfaces/native/innerkits/include", 158 "${arkui_x_image_framework_path}/interfaces/kits/js/common/include", 159 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/receiver/include", 160 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/utils/include", 161 "${arkui_x_image_framework_path}/interfaces/innerkits/include", 162 "${arkui_x_graphic_surface_path}/interfaces/inner_api/common", 163 "${arkui_x_graphic_surface_path}/interfaces/inner_api/surface", 164 "${arkui_x_graphic_surface_path}/interfaces/inner_api/utils", 165 "${arkui_x_graphic_2d_path}/utils/color_manager/export", 166 "${arkui_x_graphic_2d_path}/rosen/modules/platform/ipc_core", 167 "${third_party_path}/skia", 168 ] 169} 170 171ohos_source_set("arkui_x_uniformtypedescriptor") { 172 include_dirs = [ 173 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 174 "${udmf_framework_path}/innerkitsimpl/data", 175 "${udmf_root_path}/adapter/framework/innerkitsimpl/client", 176 ] 177 178 sources = [ 179 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 180 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 181 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 182 "${udmf_framework_path}/jskitsimpl/data/type_descriptor_napi.cpp", 183 "${udmf_framework_path}/jskitsimpl/data/uniform_type_descriptor_napi.cpp", 184 "${udmf_interfaces_path}/jskits/module/uniform_type_descriptor_napi_module.cpp", 185 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/udmf_client.cpp", 186 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/utd_client.cpp", 187 ] 188 deps = [ 189 ":arkui_x_udmf_data", 190 "${arkui_x_c_utils_path}/base:utilsbase", 191 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 192 "${arkui_x_plugin_path}/libs/napi:napi_${target_os}", 193 ] 194 195 public_configs = [ 196 ":udmf_napi_config", 197 ":arkui_x_udmf_napi_config", 198 "${ability_runtime_cross_platform_path}/interfaces/inner_api/jsruntime:jsruntime_config", 199 "${ability_runtime_cross_platform_path}/interfaces/inner_api/hilog:ability_cross_platform_hilog_config", 200 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 201 ] 202 203 subsystem_name = "distributeddatamgr" 204 part_name = "udmf" 205} 206 207ohos_source_set("arkui_x_unifieddatachannel") { 208 include_dirs = [ 209 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 210 "${kv_store_path}/interfaces/innerkits/distributeddata/include", 211 "${udmf_root_path}/adapter/framework/innerkitsimpl/client", 212 "${third_party_path}/bounds_checking_function/include", 213 ] 214 215 sources = [ 216 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 217 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 218 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 219 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 220 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 221 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 222 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 223 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 224 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 225 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 226 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 227 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 228 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 229 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 230 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 231 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 232 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 233 "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp", 234 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 235 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 236 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 237 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 238 "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp", 239 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/udmf_client.cpp", 240 ] 241 242 ldflags = [ "-Wl,--exclude-libs=ALL" ] 243 244 public_configs = [ 245 ":udmf_napi_config", 246 ":arkui_x_udmf_napi_config", 247 "${ability_runtime_cross_platform_path}/interfaces/inner_api/jsruntime:jsruntime_config", 248 "${ability_runtime_cross_platform_path}/interfaces/inner_api/hilog:ability_cross_platform_hilog_config", 249 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 250 ] 251 252 deps = [ 253 ":arkui_x_udmf_data", 254 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:cross_platform_want_params", 255 "${arkui_x_c_utils_path}/base:utilsbase", 256 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 257 "${arkui_x_plugin_path}/libs/napi:napi_${target_os}", 258 ] 259 260 subsystem_name = "distributeddatamgr" 261 part_name = "udmf" 262} 263 264ohos_source_set("arkui_x_udmf_data_napi") { 265 include_dirs = [ 266 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 267 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want", 268 "${kv_store_path}/interfaces/innerkits/distributeddata/include", 269 ] 270 271 sources = [ 272 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 273 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 274 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 275 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 276 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 277 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 278 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 279 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 280 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 281 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 282 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 283 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 284 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 285 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 286 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 287 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 288 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 289 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 290 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 291 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 292 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 293 ] 294 295 public_configs = [ 296 ":udmf_napi_config", 297 ":arkui_x_udmf_napi_config", 298 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 299 ] 300 301 deps = [ 302 ":arkui_x_udmf_data_inner", 303 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common:napi_common", 304 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:cross_platform_want_params", 305 "${arkui_x_c_utils_path}/base:utilsbase", 306 ] 307 308 subsystem_name = "distributeddatamgr" 309 part_name = "udmf" 310} 311