• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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