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/config/components/ets_frontend/es2abc_config.gni") 15import("//build/config/components/memory_utils/purgeable_mem_config.gni") 16import("//build/ohos.gni") 17import("//build/ohos/ace/ace.gni") 18import("//foundation/multimedia/media_library/media_library.gni") 19 20group("media_backup_package") { 21 deps = [] 22 if (media_library_feature_back_up) { 23 deps += [ ":mediabackup" ] 24 } else { 25 } 26} 27 28ohos_shared_library("mediabackup") { 29 include_dirs = [ 30 "./include", 31 "./include/analysis_album", 32 "./include/analysis_data", 33 "./include/classify", 34 "./include/geo_dictionary", 35 "./include/geo_knowledge", 36 "./include/highlight", 37 "./include/log", 38 "./include/restore", 39 "./include/report", 40 "${MEDIALIB_CLOUD_SYNC_PATH}/include", 41 "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include", 42 "${MEDIALIB_INTERFACES_PATH}/kits/js/include", 43 "${MEDIALIB_UTILS_PATH}/include", 44 "${MEDIALIB_INNERKITS_PATH}/media_library_helper/include", 45 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include", 46 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/config", 47 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/event_handler", 48 "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/include", 49 ] 50 51 sources = [ 52 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/src/event_handler/album_plugin_table_event_handler.cpp", 53 "./src/analysis_album/beauty_score_clone.cpp", 54 "./src/analysis_album/search_index_clone.cpp", 55 "./src/analysis_album/video_face_clone.cpp", 56 "./src/analysis_data/clone_restore_analysis_data.cpp", 57 "./src/analysis_data/clone_restore_analysis_total.cpp", 58 "./src/backup_database_helper.cpp", 59 "./src/backup_database_utils.cpp", 60 "./src/backup_dfx_utils.cpp", 61 "./src/backup_file_utils.cpp", 62 "./src/backup_restore_service.cpp", 63 "./src/base_restore.cpp", 64 "./src/burst_key_generator.cpp", 65 "./src/classify/clone_restore_classify.cpp", 66 "./src/clone_restore.cpp", 67 "./src/cloud_backup_restore.cpp", 68 "./src/geo_dictionary/clone_restore_geo_dictionary.cpp", 69 "./src/geo_knowledge/clone_restore_geo.cpp", 70 "./src/geo_knowledge/geo_knowledge_restore.cpp", 71 "./src/highlight/clone_restore_cv_analysis.cpp", 72 "./src/highlight/clone_restore_highlight.cpp", 73 "./src/highlight/highlight_restore.cpp", 74 "./src/log/backup_hi_audit.cpp", 75 "./src/log/backup_hi_audit_helper.cpp", 76 "./src/log/backup_log_utils.cpp", 77 "./src/log/backup_zip_util.cpp", 78 "./src/medialibrary_backup_napi.cpp", 79 "./src/native_module_ohos_medialibrary_backup.cpp", 80 "./src/others_clone_restore.cpp", 81 "./src/report/audios_count_statistic.cpp", 82 "./src/report/database_report.cpp", 83 "./src/report/external_files_count_statistic.cpp", 84 "./src/report/gallery_media_count_statistic.cpp", 85 "./src/report/photos_count_statistic.cpp", 86 "./src/report/upgrade_restore_gallery_media_task.cpp", 87 "./src/report/upgrade_restore_task_report.cpp", 88 "./src/restore/db_upgrade_utils.cpp", 89 "./src/restore/gallery_db_upgrade.cpp", 90 "./src/restore/gallery_media_dao.cpp", 91 "./src/restore/media_library_db_upgrade.cpp", 92 "./src/restore/photo_album_clone.cpp", 93 "./src/restore/photo_album_dao.cpp", 94 "./src/restore/photo_album_restore.cpp", 95 "./src/restore/photos_clone.cpp", 96 "./src/restore/photos_dao.cpp", 97 "./src/restore/photos_data_handler.cpp", 98 "./src/restore/photos_restore.cpp", 99 "./src/restore/tab_old_photos_restore.cpp", 100 "./src/upgrade_restore.cpp", 101 ] 102 103 source_ipc_client = [ 104 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/src/ipc/util/user_define_ipc_client.cpp", 105 ] 106 107 sources += source_ipc_client 108 109 ldflags = [ "-Wl" ] 110 111 deps = [ 112 "${MEDIALIB_INNERKITS_PATH}/media_library_helper:media_library", 113 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension:medialibrary_data_extension", 114 "${MEDIALIB_INTERFACES_PATH}/kits/js:medialibrary_nutils", 115 ] 116 117 external_deps = [ 118 "ability_base:zuri", 119 "ability_runtime:ability_manager", 120 "ability_runtime:app_context", 121 "ability_runtime:napi_base_context", 122 "ability_runtime:runtime", 123 "background_task_mgr:bgtaskmgr_innerkits", 124 "bundle_framework:appexecfwk_core", 125 "c_utils:utils", 126 "ipc:ipc_napi", 127 "data_share:datashare_common", 128 "data_share:datashare_consumer", 129 "e2fsprogs:libext2_uuid", 130 "ffrt:libffrt", 131 "hilog:libhilog", 132 "hisysevent:libhisysevent", 133 "i18n:intl_util", 134 "image_framework:image_native", 135 "init:libbegetutil", 136 "ipc:ipc_single", 137 "ipc:ipc_napi", 138 "kv_store:distributeddata_inner", 139 "libxml2:libxml2", 140 "napi:ace_napi", 141 "os_account:libaccountkits", # ohos_account 142 "os_account:os_account_innerkits", # os_account 143 "player_framework:media_client", 144 "relational_store:native_rdb", 145 "relational_store:rdb_data_share_adapter", 146 "samgr:samgr_proxy", 147 "zlib:shared_libz", 148 "eventhandler:libeventhandler", 149 ] 150 151 defines = [] 152 153 if (defined(global_parts_info) && 154 defined(global_parts_info.filemanagement_dfs_service)) { 155 defines += [ "CLOUD_SYNC_MANAGER" ] 156 external_deps += [ "dfs_service:cloudsync_kit_inner" ] 157 } 158 159 sanitize = { 160 cfi = true 161 cfi_cross_dso = true 162 debug = false 163 } 164 165 relative_install_dir = "module/multimedia" 166 subsystem_name = "multimedia" 167 part_name = "media_library" 168} 169