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