• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2023 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.
13
14import("//build/ohos.gni")
15import("//foundation/filemanagement/dfs_service/distributedfile.gni")
16config("optimize-size") {
17  cflags = [
18    "-fvisibility=hidden",
19    "-fdata-sections",
20    "-ffunction-sections",
21    "-Oz",
22  ]
23  cflags_cc = [
24    "-fvisibility-inlines-hidden",
25    "-Oz",
26  ]
27}
28ohos_shared_library("cloudsync_sa") {
29  branch_protector_ret = "pac_ret"
30  sanitize = {
31    ubsan = true
32    boundary_sanitize = true
33    cfi = true
34    cfi_cross_dso = true
35    debug = false
36  }
37  include_dirs = [
38    "include",
39    "include/data_sync",
40    "include/cycle_task",
41    "include/cycle_task/tasks",
42    "include/data_sync/gallery_data_sync",
43    "include/data_sync/cloud_disk_data_sync",
44    "include/transport",
45    "include/transport/softbus",
46    "${clouddisk_database_path}/include",
47    "${innerkits_native_path}/cloudsync_kit_inner",
48    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/include",
49    "${media_library_path}/interfaces/inner_api/media_library_helper/include",
50    "${media_library_path}/frameworks/services/media_thumbnail/include",
51    "${media_library_path}/frameworks/utils/include",
52    "//third_party/e2fsprogs/e2fsprogs/lib",
53  ]
54
55  medialibrary_rdb_utils_include = [ "${media_library_path}/frameworks/innerkitsimpl/medialibrary_data_extension/include" ]
56
57  include_dirs += medialibrary_rdb_utils_include
58
59  data_sync = [
60    "src/data_sync/data_syncer.cpp",
61    "src/data_sync/sdk_helper.cpp",
62    "src/data_sync/data_handler.cpp",
63    "src/data_sync/rdb_data_handler.cpp",
64    "src/data_sync/task.cpp",
65    "src/data_sync/data_sync_notifier.cpp",
66    "src/data_sync/data_sync_manager.cpp",
67    "src/data_sync/data_syncer_rdb_store.cpp",
68    "src/data_sync/sync_state_manager.cpp",
69    "src/data_sync/task_state_manager.cpp",
70  ]
71
72  cycle_task = [
73    "src/cycle_task/cycle_task.cpp",
74    "src/cycle_task/cycle_task_runner.cpp",
75    "src/cycle_task/tasks/optimize_storage_task.cpp",
76    "src/cycle_task/tasks/periodic_check_task.cpp",
77    "src/cycle_task/tasks/save_subscription_task.cpp",
78  ]
79
80  gallery_data_sync = [
81    "src/data_sync/gallery_data_sync/gallery_data_syncer.cpp",
82    "src/data_sync/gallery_data_sync/file_data_handler.cpp",
83    "src/data_sync/gallery_data_sync/album_data_handler.cpp",
84    "src/data_sync/gallery_data_sync/data_convertor.cpp",
85    "src/data_sync/gallery_data_sync/file_data_convertor.cpp",
86    "src/data_sync/gallery_data_sync/album_data_convertor.cpp",
87  ]
88
89  cloud_disk_data_sync = [
90    "src/data_sync/cloud_disk_data_sync/cloud_disk_data_syncer.cpp",
91    "src/data_sync/cloud_disk_data_sync/cloud_disk_data_convertor.cpp",
92    "src/data_sync/cloud_disk_data_sync/cloud_disk_data_handler.cpp",
93  ]
94
95  transport = [
96    "src/transport/file_transfer_manager.cpp",
97    "src/transport/message_handler.cpp",
98    "src/transport/softbus/session_manager.cpp",
99    "src/transport/softbus/softbus_adapter.cpp",
100    "src/transport/softbus/softbus_session.cpp",
101  ]
102
103  medialibrary_rdb_utils_source = [
104    "${media_library_path}/frameworks/innerkitsimpl/medialibrary_data_extension/src/medialibrary_rdb_transaction.cpp",
105    "${media_library_path}/frameworks/innerkitsimpl/medialibrary_data_extension/src/medialibrary_rdb_utils.cpp",
106  ]
107
108  sources = [
109    "${distributedfile_path}/frameworks/native/cloudsync_kit_inner/src/cloud_sync_common.cpp",
110    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/src/base_column.cpp",
111    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/src/media_column.cpp",
112    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/src/photo_album_column.cpp",
113    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/src/photo_map_column.cpp",
114    "src/ipc/cloud_download_callback_manager.cpp",
115    "src/ipc/cloud_download_callback_proxy.cpp",
116    "src/ipc/cloud_sync_callback_manager.cpp",
117    "src/ipc/cloud_sync_callback_proxy.cpp",
118    "src/ipc/cloud_sync_service.cpp",
119    "src/ipc/cloud_sync_service_stub.cpp",
120    "src/ipc/download_asset_callback_manager.cpp",
121    "src/ipc/download_asset_callback_proxy.cpp",
122    "src/sync_rule/battery_status.cpp",
123    "src/sync_rule/battery_status_listener.cpp",
124    "src/sync_rule/cloud_status.cpp",
125    "src/sync_rule/net_conn_callback_observer.cpp",
126    "src/sync_rule/network_status.cpp",
127    "src/sync_rule/screen_status.cpp",
128    "src/sync_rule/screen_status_listener.cpp",
129  ]
130
131  sources += data_sync
132  sources += cycle_task
133  sources += gallery_data_sync
134  sources += cloud_disk_data_sync
135  sources += medialibrary_rdb_utils_source
136  sources += transport
137
138  defines = [
139    "LOG_DOMAIN=0xD004307",
140    "LOG_TAG=\"CLOUDSYNC_SA\"",
141  ]
142
143  deps = [
144    "${clouddisk_database_path}:clouddisk_database",
145    "${utils_path}:libdistributedfiledentry",
146    "${utils_path}:libdistributedfileutils",
147    "//third_party/e2fsprogs:libext2_uuid",
148  ]
149
150  external_deps = [
151    "ability_base:want",
152    "ability_base:zuri",
153    "ability_runtime:ability_manager",
154    "ability_runtime:dataobs_manager",
155    "app_file_service:sandbox_helper_native",
156    "common_event_service:cesfwk_innerkits",
157    "dsoftbus:softbus_client",
158    "eventhandler:libeventhandler",
159    "hilog:libhilog",
160    "hisysevent:libhisysevent",
161    "hitrace:hitrace_meter",
162    "init:libbegetutil",
163    "ipc:ipc_core",
164    "netmanager_base:net_conn_manager_if",
165    "os_account:os_account_innerkits",
166    "power_manager:powermgr_client",
167    "relational_store:native_rdb",
168    "safwk:system_ability_fwk",
169    "samgr:samgr_proxy",
170  ]
171
172  if (cloudsync_service_hicollie_enable) {
173    external_deps += [ "hicollie:libhicollie" ]
174    defines += [ "HICOLLIE_ENABLE" ]
175  }
176
177  if (!dfs_service_feature_enable_cloud_adapter) {
178    deps += [
179      "${distributedfile_path}/adapter/cloud_adapter_example:cloud_adapter",
180    ]
181  } else {
182    external_deps += [ "drivekit_native:drivekit" ]
183  }
184
185  if (cloudsync_service_power) {
186    external_deps += [ "battery_manager:batterysrv_client" ]
187
188    defines += [ "SUPPORT_POWER" ]
189  }
190  configs = [ ":optimize-size" ]
191
192  use_exceptions = true
193  part_name = "dfs_service"
194  subsystem_name = "filemanagement"
195}
196
197ohos_static_library("cloudsync_sa_static") {
198  branch_protector_ret = "pac_ret"
199  sanitize = {
200    ubsan = true
201    boundary_sanitize = true
202    cfi = true
203    cfi_cross_dso = true
204    debug = false
205  }
206  include_dirs = [
207    "include",
208    "include/data_sync",
209    "include/cycle_task",
210    "include/cycle_task/tasks",
211    "include/data_sync/gallery_data_sync",
212    "include/data_sync/cloud_disk_data_sync",
213    "include/transport",
214    "include/transport/softbus",
215    "${clouddisk_database_path}/include",
216    "${innerkits_native_path}/cloudsync_kit_inner",
217    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/include",
218    "${media_library_path}/interfaces/inner_api/media_library_helper/include",
219    "${media_library_path}/frameworks/services/media_thumbnail/include",
220    "${media_library_path}/frameworks/utils/include",
221    "//third_party/e2fsprogs/e2fsprogs/lib",
222  ]
223
224  medialibrary_rdb_utils_include = [ "${media_library_path}/frameworks/innerkitsimpl/medialibrary_data_extension/include" ]
225
226  include_dirs += medialibrary_rdb_utils_include
227
228  data_sync = [
229    "src/data_sync/data_syncer.cpp",
230    "src/data_sync/sdk_helper.cpp",
231    "src/data_sync/data_handler.cpp",
232    "src/data_sync/rdb_data_handler.cpp",
233    "src/data_sync/task.cpp",
234    "src/data_sync/data_sync_notifier.cpp",
235    "src/data_sync/data_sync_manager.cpp",
236    "src/data_sync/data_syncer_rdb_store.cpp",
237    "src/data_sync/sync_state_manager.cpp",
238    "src/data_sync/task_state_manager.cpp",
239  ]
240
241  cycle_task = [
242    "src/cycle_task/cycle_task.cpp",
243    "src/cycle_task/cycle_task_runner.cpp",
244    "src/cycle_task/tasks/optimize_storage_task.cpp",
245    "src/cycle_task/tasks/periodic_check_task.cpp",
246    "src/cycle_task/tasks/save_subscription_task.cpp",
247  ]
248
249  gallery_data_sync = [
250    "src/data_sync/gallery_data_sync/gallery_data_syncer.cpp",
251    "src/data_sync/gallery_data_sync/file_data_handler.cpp",
252    "src/data_sync/gallery_data_sync/album_data_handler.cpp",
253    "src/data_sync/gallery_data_sync/data_convertor.cpp",
254    "src/data_sync/gallery_data_sync/file_data_convertor.cpp",
255    "src/data_sync/gallery_data_sync/album_data_convertor.cpp",
256  ]
257
258  cloud_disk_data_sync = [
259    "src/data_sync/cloud_disk_data_sync/cloud_disk_data_syncer.cpp",
260    "src/data_sync/cloud_disk_data_sync/cloud_disk_data_convertor.cpp",
261    "src/data_sync/cloud_disk_data_sync/cloud_disk_data_handler.cpp",
262  ]
263
264  transport = [
265    "src/transport/file_transfer_manager.cpp",
266    "src/transport/message_handler.cpp",
267    "src/transport/softbus/session_manager.cpp",
268    "src/transport/softbus/softbus_adapter.cpp",
269    "src/transport/softbus/softbus_session.cpp",
270  ]
271
272  medialibrary_rdb_utils_source = [
273    "${media_library_path}/frameworks/innerkitsimpl/medialibrary_data_extension/src/medialibrary_rdb_transaction.cpp",
274    "${media_library_path}/frameworks/innerkitsimpl/medialibrary_data_extension/src/medialibrary_rdb_utils.cpp",
275  ]
276
277  sources = [
278    "${distributedfile_path}/frameworks/native/cloudsync_kit_inner/src/cloud_sync_common.cpp",
279    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/src/base_column.cpp",
280    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/src/media_column.cpp",
281    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/src/photo_album_column.cpp",
282    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/src/photo_map_column.cpp",
283    "src/ipc/cloud_download_callback_manager.cpp",
284    "src/ipc/cloud_download_callback_proxy.cpp",
285    "src/ipc/cloud_sync_callback_manager.cpp",
286    "src/ipc/cloud_sync_callback_proxy.cpp",
287    "src/ipc/cloud_sync_service.cpp",
288    "src/ipc/cloud_sync_service_stub.cpp",
289    "src/ipc/download_asset_callback_manager.cpp",
290    "src/ipc/download_asset_callback_proxy.cpp",
291    "src/sync_rule/battery_status.cpp",
292    "src/sync_rule/battery_status_listener.cpp",
293    "src/sync_rule/cloud_status.cpp",
294    "src/sync_rule/net_conn_callback_observer.cpp",
295    "src/sync_rule/network_status.cpp",
296    "src/sync_rule/screen_status.cpp",
297    "src/sync_rule/screen_status_listener.cpp",
298  ]
299
300  sources += data_sync
301  sources += cycle_task
302  sources += gallery_data_sync
303  sources += cloud_disk_data_sync
304  sources += medialibrary_rdb_utils_source
305  sources += transport
306
307  defines = [
308    "LOG_DOMAIN=0xD004307",
309    "LOG_TAG=\"CLOUDSYNC_SA\"",
310  ]
311
312  deps = [
313    "${clouddisk_database_path}:clouddisk_database",
314    "${utils_path}:libdistributedfiledentry",
315    "${utils_path}:libdistributedfileutils",
316    "//third_party/e2fsprogs:libext2_uuid",
317  ]
318
319  external_deps = [
320    "ability_base:want",
321    "ability_base:zuri",
322    "ability_runtime:ability_manager",
323    "ability_runtime:dataobs_manager",
324    "app_file_service:sandbox_helper_native",
325    "common_event_service:cesfwk_innerkits",
326    "dsoftbus:softbus_client",
327    "eventhandler:libeventhandler",
328    "hilog:libhilog",
329    "hitrace:hitrace_meter",
330    "init:libbegetutil",
331    "ipc:ipc_core",
332    "netmanager_base:net_conn_manager_if",
333    "os_account:os_account_innerkits",
334    "power_manager:powermgr_client",
335    "relational_store:native_rdb",
336    "safwk:system_ability_fwk",
337    "samgr:samgr_proxy",
338  ]
339
340  if (cloudsync_service_hicollie_enable) {
341    external_deps += [ "hicollie:libhicollie" ]
342    defines += [ "HICOLLIE_ENABLE" ]
343  }
344
345  if (!dfs_service_feature_enable_cloud_adapter) {
346    deps += [
347      "${distributedfile_path}/adapter/cloud_adapter_example:cloud_adapter",
348    ]
349  } else {
350    external_deps += [ "drivekit_native:drivekit" ]
351  }
352
353  if (cloudsync_service_power) {
354    external_deps += [ "battery_manager:batterysrv_client" ]
355
356    defines += [ "SUPPORT_POWER" ]
357  }
358
359  use_exceptions = true
360  part_name = "dfs_service"
361  subsystem_name = "filemanagement"
362}
363