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