• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021 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/multimedia/media_library/media_library.gni")
16
17config("media_data_extension_public_config") {
18  include_fileext = [ "${MEDIA_FILEEXT_SOURCE_DIR}/include" ]
19  include_scanner = [
20    "${MEDIA_SCANNER_SOURCE_DIR}/include/callback",
21    "${MEDIA_SCANNER_SOURCE_DIR}/include/scanner",
22  ]
23
24  include_dirs = [
25    "./include/distributed_media_library/device_manage",
26    "./include/distributed_media_library/database_manage",
27    "./include/distributed_media_library/devices_info_interact",
28    "${ABILITY_RUNTIME_INNER_API_PATH}/ability_manager/include",
29    "${ABILITY_RUNTIME_PATH}/interfaces/kits/native/ability/native",
30    "${ABILITY_RUNTIME_INNER_API_PATH}/dataobs_manager/include",
31    "${ABILITY_RUNTIME_INNER_API_PATH}/app_manager/include/appmgr",
32    "${ABILITY_RUNTIME_SERVICES_PATH}/common/include",
33    "${MEDIA_LIB_BASE_DIR}/interfaces/innerkits/native/include",
34    "${MEDIA_LIB_BASE_DIR}/interfaces/inner_api/media_library_helper/include",
35    "${MEDIA_LIB_INNERKITS_DIR}/media_library_helper/include",
36    "${MEDIA_LIB_COMMON_UTILS_DIR}/include",
37    "${MEDIA_LIB_INNERKITS_DIR}/medialibrary_data_extension/include",
38    "${MEDIA_LIB_SERVICES_DIR}/media_thumbnail/include",
39    "//base/security/device_auth/interfaces/innerkits",
40    "//foundation/appexecfwk/standard/interfaces/innerkits/appexecfwk_core/include/appmgr",
41    "//foundation/appexecfwk/standard/interfaces/innerkits/appexecfwk_base/include",
42    "//foundation/bundlemanager/bundle_framework/interfaces/kits/js/common",
43    "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
44    "//foundation/distributeddatamgr/kv_store/interfaces/innerkits/distributeddata/include/",
45    "//foundation/appexecfwk/standard/interfaces/innerkits/libeventhandler/include",
46    "//foundation/communication/dsoftbus/interfaces/kits/bus_center",
47    "//foundation/communication/dsoftbus/interfaces/kits/common",
48    "//foundation/filemanager/user_file_service/frameworks/innerkits/file_access/include/",
49    "//foundation/systemabilitymgr/safwk/services/safwk/include",
50    "//foundation/multimedia/player_framework/interfaces/inner_api/native",
51    "//commonlibrary/c_utils/base/include",
52    "//utils/system/safwk/native/include",
53    "//third_party/json/include",
54    "//base/notification/common_event_service/interfaces/innerkits/native/include",
55    "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common",
56  ]
57  include_dirs += include_fileext
58  include_dirs += include_scanner
59
60  if (target_cpu == "arm") {
61    cflags = [ "-DBINDER_IPC_32BIT" ]
62  }
63}
64
65ohos_hap("medialibrary_ext_hap") {
66  hap_profile = "MediaLibraryExt/entry/src/main/module.json"
67  deps = [
68    ":MediaLibStage_js_assets",
69    ":MediaLibStage_resources",
70  ]
71  shared_libraries = [ "//foundation/multimedia/media_library/frameworks/innerkitsimpl/medialibrary_data_extension:medialibrary_data_extension" ]
72  certificate_profile = "$MEDIA_LIB_INNERKITS_DIR/signature/medialib.p7b"
73  hap_name = "Media_Library_Ext"
74  part_name = "prebuilt_hap"
75  subsystem_name = "applications"
76  module_install_dir = "app/com.ohos.medialibrary.MediaLibraryData"
77}
78
79ohos_js_assets("MediaLibStage_js_assets") {
80  hap_profile = "MediaLibraryExt/entry/src/main/module.json"
81  ets2abc = true
82  source_dir = "MediaLibraryExt/entry/src/main/ets"
83}
84
85ohos_app_scope("MediaLibStage_app_profile") {
86  app_profile = "MediaLibraryExt/AppScope/app.json"
87  sources = [ "MediaLibraryExt/AppScope/resources" ]
88}
89
90ohos_resources("MediaLibStage_resources") {
91  sources = [ "MediaLibraryExt/entry/src/main/resources" ]
92  deps = [ ":MediaLibStage_app_profile" ]
93  hap_profile = "MediaLibraryExt/entry/src/main/module.json"
94}
95
96ohos_shared_library("medialibrary_data_extension") {
97  install_enable = true
98
99  media_fileext_source = [
100    "${MEDIA_FILEEXT_SOURCE_DIR}/src/media_file_ext_ability.cpp",
101    "${MEDIA_FILEEXT_SOURCE_DIR}/src/media_file_extention_utils.cpp",
102  ]
103
104  media_scan_source = [
105    "${MEDIA_SCANNER_SOURCE_DIR}/src/scanner/media_scan_executor.cpp",
106    "${MEDIA_SCANNER_SOURCE_DIR}/src/scanner/media_scanner.cpp",
107    "${MEDIA_SCANNER_SOURCE_DIR}/src/scanner/media_scanner_manager.cpp",
108    "${MEDIA_SCANNER_SOURCE_DIR}/src/scanner/media_scanner_db.cpp",
109    "${MEDIA_SCANNER_SOURCE_DIR}/src/scanner/metadata.cpp",
110    "${MEDIA_SCANNER_SOURCE_DIR}/src/scanner/metadata_extractor.cpp",
111    "${MEDIA_SCANNER_SOURCE_DIR}/src/scanner/scanner_utils.cpp",
112  ]
113
114  sources = [
115    "${MEDIA_LIB_COMMON_UTILS_DIR}/src/media_privacy_manager.cpp",
116    "src/distributed_media_library/database_manage/medialibrary_device_db.cpp",
117    "src/distributed_media_library/database_manage/medialibrary_device_operations.cpp",
118    "src/distributed_media_library/database_manage/medialibrary_sync_table.cpp",
119    "src/distributed_media_library/device_manage/device_permission_verification.cpp",
120    "src/distributed_media_library/device_manage/medialibrary_device.cpp",
121    "src/distributed_media_library/devices_info_interact/devices_info_interact.cpp",
122    "src/media_datashare_ext_ability.cpp",
123    "src/media_datashare_stub_impl.cpp",
124    "src/medialibrary_album_operations.cpp",
125    "src/medialibrary_command.cpp",
126    "src/medialibrary_data_manager.cpp",
127    "src/medialibrary_data_manager_utils.cpp",
128    "src/medialibrary_dir_db.cpp",
129    "src/medialibrary_dir_operations.cpp",
130    "src/medialibrary_file_operations.cpp",
131    "src/medialibrary_object_utils.cpp",
132    "src/medialibrary_rdbstore.cpp",
133    "src/medialibrary_smartalbum_db.cpp",
134    "src/medialibrary_smartalbum_map_db.cpp",
135    "src/medialibrary_smartalbum_map_operations.cpp",
136    "src/medialibrary_smartalbum_operations.cpp",
137    "src/medialibrary_subscriber.cpp",
138    "src/medialibrary_uripermission_operations.cpp",
139    "src/uri_helper.cpp",
140  ]
141  sources += media_fileext_source
142  sources += media_scan_source
143
144  public_configs = [ ":media_data_extension_public_config" ]
145
146  deps = [
147    "${ABILITY_RUNTIME_INNER_API_PATH}/dataobs_manager:dataobs_manager",
148    "${ABILITY_RUNTIME_PATH}/frameworks/native/ability/native:abilitykit_native",
149    "${MEDIA_LIB_BASE_DIR}/frameworks/services/media_thumbnail:medialibrary_thumbnail",
150    "${MEDIA_LIB_COMMON_UTILS_DIR}:medialibrary_common_utils",
151    "${MEDIA_LIB_COMMON_UTILS_DIR}:permission_utils",
152    "${MEDIA_LIB_INNERKITS_DIR}/media_library_helper:media_library",
153    "//base/security/device_auth/services:deviceauth_sdk",
154    "//foundation/distributedhardware/device_manager/interfaces/inner_kits/native_cpp:devicemanagersdk",
155    "//foundation/filemanagement/user_file_service/frameworks/innerkits/file_access:file_access_extension_ability_kit",
156  ]
157
158  external_deps = [
159    "ability_base:want",
160    "ability_base:zuri",
161    "ability_runtime:app_context",
162    "ability_runtime:runtime",
163    "c_utils:utils",
164    "common_event_service:cesfwk_innerkits",
165    "data_share:datashare_common",
166    "data_share:datashare_provider",
167    "device_auth:deviceauth_sdk",
168    "device_manager:devicemanagersdk",
169    "device_security_level:dslm_sdk",
170    "eventhandler:libeventhandler",
171    "hitrace_native:hitrace_meter",
172    "hiviewdfx_hilog_native:libhilog",
173    "init:libbegetutil",
174    "ipc:ipc_core",
175    "kv_store:distributeddata_inner",
176    "multimedia_image_framework:image_native",
177    "multimedia_player_framework:media_client",
178    "relational_store:native_rdb",
179    "relational_store:rdb_data_share_adapter",
180  ]
181
182  sanitize = {
183    cfi = true
184    debug = false
185    blocklist = "./extension_blocklist.txt"
186  }
187
188  subsystem_name = "multimedia"
189  part_name = "media_library"
190}
191