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