18d05d8e7Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 28d05d8e7Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 38d05d8e7Sopenharmony_ci# you may not use this file except in compliance with the License. 48d05d8e7Sopenharmony_ci# You may obtain a copy of the License at 58d05d8e7Sopenharmony_ci# 68d05d8e7Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 78d05d8e7Sopenharmony_ci# 88d05d8e7Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 98d05d8e7Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 108d05d8e7Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 118d05d8e7Sopenharmony_ci# See the License for the specific language governing permissions and 128d05d8e7Sopenharmony_ci# limitations under the License. 138d05d8e7Sopenharmony_ci 148d05d8e7Sopenharmony_ciimport("//build/ohos.gni") 158d05d8e7Sopenharmony_ciimport("//foundation/filemanagement/user_file_service/filemanagement_aafwk.gni") 168d05d8e7Sopenharmony_ci 178d05d8e7Sopenharmony_cigroup("user_file_managers") { 188d05d8e7Sopenharmony_ci deps = [ 198d05d8e7Sopenharmony_ci ":external_file_manager_hap", 208d05d8e7Sopenharmony_ci ":file_access_service", 218d05d8e7Sopenharmony_ci ":file_access_service.cfg", 228d05d8e7Sopenharmony_ci ":file_access_service_profile", 238d05d8e7Sopenharmony_ci ] 248d05d8e7Sopenharmony_ci} 258d05d8e7Sopenharmony_ci 268d05d8e7Sopenharmony_ciohos_hap("external_file_manager_hap") { 278d05d8e7Sopenharmony_ci hap_profile = "file_extension_hap/entry/src/main/module.json" 288d05d8e7Sopenharmony_ci deps = [ 298d05d8e7Sopenharmony_ci ":external_file_manager_js_assets", 308d05d8e7Sopenharmony_ci ":external_file_manager_resources", 318d05d8e7Sopenharmony_ci ] 328d05d8e7Sopenharmony_ci publicity_file = "../publicity.xml" 338d05d8e7Sopenharmony_ci certificate_profile = "signature/fileextension.p7b" 348d05d8e7Sopenharmony_ci hap_name = "external_file_manager" 358d05d8e7Sopenharmony_ci subsystem_name = "filemanagement" 368d05d8e7Sopenharmony_ci part_name = "user_file_service" 378d05d8e7Sopenharmony_ci module_install_dir = "app/com.ohos.UserFile.ExternalFileManager" 388d05d8e7Sopenharmony_ci} 398d05d8e7Sopenharmony_ci 408d05d8e7Sopenharmony_ciohos_js_assets("external_file_manager_js_assets") { 418d05d8e7Sopenharmony_ci hap_profile = "file_extension_hap/entry/src/main/module.json" 428d05d8e7Sopenharmony_ci ets2abc = true 438d05d8e7Sopenharmony_ci source_dir = "file_extension_hap/entry/src/main/ets" 448d05d8e7Sopenharmony_ci} 458d05d8e7Sopenharmony_ci 468d05d8e7Sopenharmony_ciohos_app_scope("external_file_manager_app_profile") { 478d05d8e7Sopenharmony_ci app_profile = "file_extension_hap/AppScope/app.json" 488d05d8e7Sopenharmony_ci sources = [ "file_extension_hap/AppScope/resources" ] 498d05d8e7Sopenharmony_ci} 508d05d8e7Sopenharmony_ci 518d05d8e7Sopenharmony_ciohos_sa_profile("file_access_service_profile") { 528d05d8e7Sopenharmony_ci sources = [ "5010.json" ] 538d05d8e7Sopenharmony_ci part_name = "user_file_service" 548d05d8e7Sopenharmony_ci} 558d05d8e7Sopenharmony_ci 568d05d8e7Sopenharmony_ciohos_prebuilt_etc("file_access_service.cfg") { 578d05d8e7Sopenharmony_ci source = "file_access_service.cfg" 588d05d8e7Sopenharmony_ci relative_install_dir = "init" 598d05d8e7Sopenharmony_ci subsystem_name = "filemanagement" 608d05d8e7Sopenharmony_ci part_name = "user_file_service" 618d05d8e7Sopenharmony_ci} 628d05d8e7Sopenharmony_ci 638d05d8e7Sopenharmony_ciconfig("ability_config") { 648d05d8e7Sopenharmony_ci visibility = [ ":*" ] 658d05d8e7Sopenharmony_ci include_dirs = [ 668d05d8e7Sopenharmony_ci "native/file_access_service/include", 678d05d8e7Sopenharmony_ci "${user_file_service_path}/utils", 688d05d8e7Sopenharmony_ci "${user_file_service_path}/interfaces/inner_api/file_access/include", 698d05d8e7Sopenharmony_ci "${user_file_service_path}/frameworks/js/napi/file_access_module", 708d05d8e7Sopenharmony_ci ] 718d05d8e7Sopenharmony_ci} 728d05d8e7Sopenharmony_ci 738d05d8e7Sopenharmony_ciconfig("ability_public_config") { 748d05d8e7Sopenharmony_ci visibility = [ ":*" ] 758d05d8e7Sopenharmony_ci include_dirs = [ 768d05d8e7Sopenharmony_ci "native/file_access_service/include", 778d05d8e7Sopenharmony_ci "${user_file_service_path}/utils", 788d05d8e7Sopenharmony_ci "${user_file_service_path}/interfaces/kits/js/src/common", 798d05d8e7Sopenharmony_ci ] 808d05d8e7Sopenharmony_ci} 818d05d8e7Sopenharmony_ci 828d05d8e7Sopenharmony_ciohos_resources("external_file_manager_resources") { 838d05d8e7Sopenharmony_ci sources = [ "file_extension_hap/entry/src/main/resources" ] 848d05d8e7Sopenharmony_ci deps = [ ":external_file_manager_app_profile" ] 858d05d8e7Sopenharmony_ci hap_profile = "file_extension_hap/entry/src/main/module.json" 868d05d8e7Sopenharmony_ci} 878d05d8e7Sopenharmony_ci 888d05d8e7Sopenharmony_ciohos_shared_library("file_access_service") { 898d05d8e7Sopenharmony_ci branch_protector_ret = "pac_ret" 908d05d8e7Sopenharmony_ci sanitize = { 918d05d8e7Sopenharmony_ci integer_overflow = true 928d05d8e7Sopenharmony_ci ubsan = true 938d05d8e7Sopenharmony_ci boundary_sanitize = true 948d05d8e7Sopenharmony_ci cfi = true 958d05d8e7Sopenharmony_ci cfi_cross_dso = true 968d05d8e7Sopenharmony_ci debug = false 978d05d8e7Sopenharmony_ci } 988d05d8e7Sopenharmony_ci 998d05d8e7Sopenharmony_ci include_dirs = [ 1008d05d8e7Sopenharmony_ci "${user_file_service_path}/services/native/file_access_service/include", 1018d05d8e7Sopenharmony_ci "${user_file_service_path}/interfaces/inner_api/file_access/include", 1028d05d8e7Sopenharmony_ci ] 1038d05d8e7Sopenharmony_ci shlib_type = "sa" 1048d05d8e7Sopenharmony_ci sources = [ 1058d05d8e7Sopenharmony_ci "native/file_access_service/src/file_access_ext_connection.cpp", 1068d05d8e7Sopenharmony_ci "native/file_access_service/src/file_access_service.cpp", 1078d05d8e7Sopenharmony_ci "native/file_access_service/src/file_access_service_proxy.cpp", 1088d05d8e7Sopenharmony_ci "native/file_access_service/src/file_access_service_stub.cpp", 1098d05d8e7Sopenharmony_ci "native/file_access_service/src/observer_callback_proxy.cpp", 1108d05d8e7Sopenharmony_ci "native/file_access_service/src/observer_callback_stub.cpp", 1118d05d8e7Sopenharmony_ci ] 1128d05d8e7Sopenharmony_ci configs = [ ":ability_config" ] 1138d05d8e7Sopenharmony_ci version_script = "libfile_access_service.map" 1148d05d8e7Sopenharmony_ci public_configs = [ ":ability_public_config" ] 1158d05d8e7Sopenharmony_ci 1168d05d8e7Sopenharmony_ci deps = [ "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit" ] 1178d05d8e7Sopenharmony_ci 1188d05d8e7Sopenharmony_ci external_deps = [ 1198d05d8e7Sopenharmony_ci "ability_base:want", 1208d05d8e7Sopenharmony_ci "ability_base:zuri", 1218d05d8e7Sopenharmony_ci "ability_runtime:ability_connect_callback_stub", 1228d05d8e7Sopenharmony_ci "ability_runtime:ability_manager", 1238d05d8e7Sopenharmony_ci "ability_runtime:napi_common", 1248d05d8e7Sopenharmony_ci "access_token:libaccesstoken_sdk", 1258d05d8e7Sopenharmony_ci "access_token:libtokenid_sdk", 1268d05d8e7Sopenharmony_ci "bundle_framework:appexecfwk_core", 1278d05d8e7Sopenharmony_ci "c_utils:utils", 1288d05d8e7Sopenharmony_ci "hilog:libhilog", 1298d05d8e7Sopenharmony_ci "hitrace:hitrace_meter", 1308d05d8e7Sopenharmony_ci "ipc:ipc_core", 1318d05d8e7Sopenharmony_ci "safwk:system_ability_fwk", 1328d05d8e7Sopenharmony_ci "samgr:samgr_proxy", 1338d05d8e7Sopenharmony_ci ] 1348d05d8e7Sopenharmony_ci 1358d05d8e7Sopenharmony_ci subsystem_name = "filemanagement" 1368d05d8e7Sopenharmony_ci part_name = "user_file_service" 1378d05d8e7Sopenharmony_ci} 138