1# Copyright (c) 2024-2025 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 17third_party_skia_path = "${third_party_path}/skia" 18if (udmf_feature_upgrade_skia) { 19 third_party_skia_path = "${third_party_path}/skia/m133" 20} 21config("udmf_client_config") { 22 include_dirs = [ 23 "${udmf_interfaces_path}/innerkits/client", 24 "${udmf_interfaces_path}/innerkits/common", 25 "${udmf_interfaces_path}/innerkits/data", 26 "${udmf_framework_path}/common", 27 "${udmf_framework_path}/innerkitsimpl/data", 28 "${udmf_framework_path}/innerkitsimpl/service", 29 "${kv_store_path}/frameworks/common", 30 "${third_party_path}/libuv/include", 31 "${third_party_path}/node/src", 32 "${kv_store_path}/frameworks/innerkitsimpl/distributeddatafwk/include", 33 "${kv_store_path}/frameworks/innerkitsimpl/distributeddatafwk/src", 34 "${kv_store_path}/frameworks/innerkitsimpl/distributeddatasvc/include", 35 "${kv_store_path}/interfaces/innerkits/distributeddata/include", 36 "${file_service_path}/interfaces/common/include", 37 "${file_service_path}/interfaces/innerkits/native/file_uri/include", 38 ] 39} 40 41config("udmf_napi_config") { 42 include_dirs = [ 43 "${udmf_interfaces_path}/innerkits/client", 44 "${udmf_interfaces_path}/innerkits/common", 45 "${udmf_interfaces_path}/innerkits/data", 46 "${udmf_interfaces_path}/jskits/common", 47 "${udmf_interfaces_path}/jskits/data", 48 49 "${udmf_framework_path}/common", 50 "${udmf_framework_path}/innerkitsimpl/data", 51 "${udmf_framework_path}/innerkits/service", 52 53 "${third_party_path}/libuv/include", 54 "${third_party_path}/node/src", 55 56 "${aafwk_inner_api_path}/ability_manager/include", 57 "${aafwk_kits_path}/appkit/native/app/include/", 58 "${aafwk_kits_path}/ability/native/include", 59 "${aafwk_napi_path}/inner/napi_common", 60 "${aafwk_service_path}/abilitymgr/include", 61 "${aafwk_service_path}/common/include", 62 ] 63} 64 65config("arkui_x_udmf_config") { 66 include_dirs = [ 67 "${arkui_x_image_framework_path}/interfaces/innerkits/include", 68 "${arkui_x_image_framework_path}/interfaces/kits/js/common/include", 69 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/receiver/include", 70 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/utils/include", 71 "${arkui_x_graphic_2d_path}/rosen/modules/platform/ipc_core", 72 "${arkui_x_graphic_2d_path}/utils/color_manager/export", 73 "${arkui_x_graphic_surface_path}/interfaces/inner_api/common", 74 "${arkui_x_graphic_surface_path}/interfaces/inner_api/surface", 75 "${arkui_x_graphic_surface_path}/interfaces/inner_api/utils", 76 "${third_party_skia_path}", 77 "${udmf_interfaces_path}/innerkits/dynamic", 78 ] 79 defines = [ "CROSS_PLATFORM" ] 80 if (udmf_feature_upgrade_skia) { 81 defines += [ "USE_M133_SKIA" ] 82 } 83} 84 85arkui_x_public_source = [ 86 "${udmf_framework_path}/innerkitsimpl/client/getter_system.cpp", 87 "${udmf_framework_path}/innerkitsimpl/dynamic/pixelmap_loader.cpp", 88 "${udmf_framework_path}/innerkitsimpl/common/unified_key.cpp", 89 "${udmf_framework_path}/innerkitsimpl/data/application_defined_record.cpp", 90 "${udmf_framework_path}/innerkitsimpl/data/audio.cpp", 91 "${udmf_framework_path}/innerkitsimpl/data/file.cpp", 92 "${udmf_framework_path}/innerkitsimpl/data/flexible_type.cpp", 93 "${udmf_framework_path}/innerkitsimpl/data/folder.cpp", 94 "${udmf_framework_path}/innerkitsimpl/data/html.cpp", 95 "${udmf_framework_path}/innerkitsimpl/data/image.cpp", 96 "${udmf_framework_path}/innerkitsimpl/data/link.cpp", 97 "${udmf_framework_path}/innerkitsimpl/data/plain_text.cpp", 98 "${udmf_framework_path}/innerkitsimpl/data/system_defined_appitem.cpp", 99 "${udmf_framework_path}/innerkitsimpl/data/system_defined_form.cpp", 100 "${udmf_framework_path}/innerkitsimpl/data/system_defined_pixelmap.cpp", 101 "${udmf_framework_path}/innerkitsimpl/data/system_defined_record.cpp", 102 "${udmf_framework_path}/innerkitsimpl/data/text.cpp", 103 "${udmf_framework_path}/innerkitsimpl/data/type_descriptor.cpp", 104 "${udmf_framework_path}/innerkitsimpl/data/unified_data.cpp", 105 "${udmf_framework_path}/innerkitsimpl/data/unified_record.cpp", 106 "${udmf_framework_path}/innerkitsimpl/data/video.cpp", 107 "${udmf_framework_path}/common/utd_graph.cpp", 108 "${udmf_framework_path}/common/graph.cpp", 109 "${udmf_root_path}/adapter/framework/innerkitsimpl/common/unified_meta.cpp", 110 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/utd_client.cpp", 111 "${udmf_framework_path}/common/base32_utils.cpp", 112 "${udmf_framework_path}/common/custom_utd_json_parser.cpp", 113 "${udmf_framework_path}/common/custom_utd_store.cpp", 114 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/preset_type_descriptors.cpp", 115] 116 117ohos_source_set("arkui_x_udmf_data") { 118 sources = [ 119 "${udmf_framework_path}/common/utd_cfgs_checker.cpp", 120 "${udmf_root_path}/adapter/framework/common/udmf_utils.cpp", 121 ] 122 123 sources += arkui_x_public_source 124 125 deps = [ 126 "${arkui_path}/ace_engine/adapter/${target_os}/build:libarkui_${target_os}", 127 "${arkui_x_c_utils_path}/base:utilsbase", 128 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 129 "${third_party_path}/cJSON:cjson_static", 130 ] 131 132 configs = [ 133 ":arkui_x_udmf_config", 134 ":udmf_client_config", 135 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 136 ] 137 138 subsystem_name = "distributeddatamgr" 139 part_name = "udmf" 140} 141 142ohos_source_set("arkui_x_udmf_data_inner") { 143 sources = arkui_x_public_source 144 145 include_dirs = [ "${arkui_x_hilog_path}/interfaces/native/innerkits/include" ] 146 147 deps = [ 148 "${arkui_path}/napi/:ace_napi", 149 "${arkui_x_c_utils_path}/base:utilsbase", 150 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 151 "${third_party_path}/cJSON:cjson_static", 152 ] 153 154 configs = [ 155 ":arkui_x_udmf_config", 156 ":udmf_client_config", 157 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 158 ] 159 160 subsystem_name = "distributeddatamgr" 161 part_name = "udmf" 162} 163 164config("arkui_x_udmf_napi_config") { 165 include_dirs = [ 166 "${arkui_path}/napi/interfaces/kits", 167 "${arkui_path}/napi/interfaces/inner_api", 168 "${arkui_x_hilog_path}/interfaces/native/innerkits/include", 169 "${arkui_x_image_framework_path}/interfaces/kits/js/common/include", 170 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/receiver/include", 171 "${arkui_x_image_framework_path}/frameworks/innerkitsimpl/utils/include", 172 "${arkui_x_image_framework_path}/interfaces/innerkits/include", 173 "${arkui_x_graphic_surface_path}/interfaces/inner_api/common", 174 "${arkui_x_graphic_surface_path}/interfaces/inner_api/surface", 175 "${arkui_x_graphic_surface_path}/interfaces/inner_api/utils", 176 "${arkui_x_graphic_2d_path}/utils/color_manager/export", 177 "${arkui_x_graphic_2d_path}/rosen/modules/platform/ipc_core", 178 "${third_party_skia_path}", 179 ] 180 defines = [ "CROSS_PLATFORM" ] 181 if (current_os == "ios") { 182 defines += [ "IOS_PLATFORM" ] 183 } 184} 185 186ohos_source_set("arkui_x_uniformtypedescriptor") { 187 include_dirs = [ 188 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 189 "${udmf_framework_path}/innerkitsimpl/data", 190 "${udmf_root_path}/adapter/framework/innerkitsimpl/client", 191 ] 192 193 if (udmf_feature_upgrade_skia) { 194 defines = [ "USE_M133_SKIA" ] 195 } 196 sources = [ 197 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 198 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 199 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 200 "${udmf_framework_path}/jskitsimpl/data/type_descriptor_napi.cpp", 201 "${udmf_framework_path}/jskitsimpl/data/uniform_type_descriptor_napi.cpp", 202 "${udmf_interfaces_path}/jskits/module/uniform_type_descriptor_napi_module.cpp", 203 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/udmf_client.cpp", 204 ] 205 deps = [ 206 ":arkui_x_udmf_data", 207 "${arkui_x_c_utils_path}/base:utilsbase", 208 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 209 "${arkui_x_plugin_path}/libs/napi:napi_${target_os}", 210 ] 211 212 public_configs = [ 213 ":udmf_napi_config", 214 ":arkui_x_udmf_napi_config", 215 "${ability_runtime_cross_platform_path}/interfaces/inner_api/jsruntime:jsruntime_config", 216 "${ability_runtime_cross_platform_path}/interfaces/inner_api/hilog:ability_cross_platform_hilog_config", 217 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 218 ] 219 220 subsystem_name = "distributeddatamgr" 221 part_name = "udmf" 222} 223 224ohos_source_set("arkui_x_unifieddatachannel") { 225 include_dirs = [ 226 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 227 "${kv_store_path}/interfaces/innerkits/distributeddata/include", 228 "${udmf_root_path}/adapter/framework/innerkitsimpl/client", 229 "${third_party_path}/bounds_checking_function/include", 230 ] 231 232 sources = [ 233 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 234 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 235 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 236 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 237 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 238 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 239 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 240 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 241 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 242 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 243 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 244 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 245 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 246 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 247 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 248 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 249 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 250 "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp", 251 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 252 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 253 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 254 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 255 "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp", 256 "${udmf_root_path}/adapter/framework/innerkitsimpl/client/udmf_client.cpp", 257 ] 258 259 ldflags = [ "-Wl,--exclude-libs=ALL" ] 260 261 public_configs = [ 262 ":udmf_napi_config", 263 ":arkui_x_udmf_napi_config", 264 "${ability_runtime_cross_platform_path}/interfaces/inner_api/jsruntime:jsruntime_config", 265 "${ability_runtime_cross_platform_path}/interfaces/inner_api/hilog:ability_cross_platform_hilog_config", 266 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 267 ] 268 269 if (udmf_feature_upgrade_skia) { 270 defines = [ "USE_M133_SKIA" ] 271 } 272 deps = [ 273 ":arkui_x_udmf_data", 274 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:cross_platform_want_params", 275 "${arkui_x_c_utils_path}/base:utilsbase", 276 "${arkui_x_hilog_path}/interfaces/native/innerkits:libhilog_${target_os}", 277 "${arkui_x_plugin_path}/libs/napi:napi_${target_os}", 278 ] 279 280 subsystem_name = "distributeddatamgr" 281 part_name = "udmf" 282} 283 284ohos_source_set("arkui_x_udmf_data_napi") { 285 include_dirs = [ 286 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common", 287 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want", 288 "${kv_store_path}/interfaces/innerkits/distributeddata/include", 289 ] 290 291 sources = [ 292 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 293 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 294 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 295 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 296 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 297 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 298 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 299 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 300 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 301 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 302 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 303 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 304 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 305 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 306 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 307 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 308 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 309 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 310 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 311 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 312 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 313 ] 314 315 public_configs = [ 316 ":udmf_napi_config", 317 ":arkui_x_udmf_napi_config", 318 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:want_params_config", 319 ] 320 if (udmf_feature_upgrade_skia) { 321 defines = [ "USE_M133_SKIA" ] 322 } 323 deps = [ 324 ":arkui_x_udmf_data_inner", 325 "${ability_runtime_cross_platform_path}/frameworks/js/napi/napi_common:napi_common", 326 "${ability_runtime_cross_platform_path}/interfaces/inner_api/want:cross_platform_want_params", 327 "${arkui_x_c_utils_path}/base:utilsbase", 328 ] 329 330 subsystem_name = "distributeddatamgr" 331 part_name = "udmf" 332} 333