• 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/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