1# Copyright (c) 2021-2022 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/lite/config/component/lite_component.gni") 15import("//build/ohos.gni") 16 17## Build Contacts_DataAbility.hap 18ohos_hap("Contacts_DataAbility") { 19 hap_profile = "entry/src/main/module.json" 20 deps = [ 21 ":Contacts_DataAbility_js_assets", 22 ":Contacts_DataAbility_resources", 23 ] 24 shared_libraries = [ ":contactsdataability" ] 25 certificate_profile = "./signature/contactsdata.p7b" 26 hap_name = "Contacts_DataAbility" 27 part_name = "contactsdata_hap" 28 subsystem_name = "applications" 29 module_install_dir = "app/com.ohos.contactsdataability" 30} 31 32ohos_app_scope("Contacts_DataAbility_app_profile") { 33 app_profile = "AppScope/app.json" 34 sources = [ "AppScope/resources" ] 35} 36 37ohos_js_assets("Contacts_DataAbility_js_assets") { 38 ets2abc = true 39 source_dir = "entry/src/main/ets" 40} 41 42ohos_resources("Contacts_DataAbility_resources") { 43 sources = [ "entry/src/main/resources" ] 44 deps = [ ":Contacts_DataAbility_app_profile" ] 45 hap_profile = "entry/src/main/module.json" 46} 47 48## Build contactsdataability.so {{{ 49config("contactsdataability_public_config") { 50 visibility = [ ":*" ] 51 include_dirs = [ 52 "//third_party/node/src", 53 "ability/common/include", 54 "ability/common/utils/include/", 55 "dataBusiness/voicemail/include", 56 "dataBusiness/calllog/include", 57 "dataBusiness/contacts/include", 58 "ability/account/include", 59 "dataBusiness/quicksearch/include", 60 "ability/sinicization/include", 61 "ability/account/include", 62 "ability/merge/include", 63 "ability/datadisasterrecovery/include", 64 ] 65 cflags = [] 66} 67 68ohos_shared_library("contactsdataability") { 69 sources = [ 70 "ability/account/src/account_data_collection.cpp", 71 "ability/account/src/account_manager.cpp", 72 "ability/account/src/account_sync.cpp", 73 "ability/common/utils/src/contacts_common_event.cpp", 74 "ability/common/utils/src/contacts_json_utils.cpp", 75 "ability/common/utils/src/contacts_path.cpp", 76 "ability/common/utils/src/contacts_string_utils.cpp", 77 "ability/common/utils/src/file_utils.cpp", 78 "ability/common/utils/src/merge_utils.cpp", 79 "ability/common/utils/src/predicates_convert.cpp", 80 "ability/common/utils/src/sql_analyzer.cpp", 81 "ability/common/utils/src/uri_utils.cpp", 82 "ability/datadisasterrecovery/src/database_disaster_recovery.cpp", 83 "ability/merge/src/candidate.cpp", 84 "ability/merge/src/candidate_status.cpp", 85 "ability/merge/src/match_candidate.cpp", 86 "ability/merge/src/merger_contacts.cpp", 87 "ability/sinicization/src/character_transliterate.cpp", 88 "ability/sinicization/src/construction_name.cpp", 89 "dataBusiness/calllog/src/calllog_ability.cpp", 90 "dataBusiness/calllog/src/calllog_database.cpp", 91 "dataBusiness/contacts/src/contacts.cpp", 92 "dataBusiness/contacts/src/contacts_account.cpp", 93 "dataBusiness/contacts/src/contacts_data_ability.cpp", 94 "dataBusiness/contacts/src/contacts_database.cpp", 95 "dataBusiness/contacts/src/contacts_datashare_stub_impl.cpp", 96 "dataBusiness/contacts/src/contacts_type.cpp", 97 "dataBusiness/contacts/src/contacts_update_helper.cpp", 98 "dataBusiness/contacts/src/profile_database.cpp", 99 "dataBusiness/contacts/src/raw_contacts.cpp", 100 "dataBusiness/quicksearch/src/contacts_search.cpp", 101 "dataBusiness/voicemail/src/voicemail_ability.cpp", 102 "dataBusiness/voicemail/src/voicemail_database.cpp", 103 ] 104 include_dirs = [ 105 "//commonlibrary/c_utils/base/include", 106 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 107 "//third_party/jsoncpp", 108 "//third_party/jsoncpp/include/json", 109 "//base/account/os_account/interfaces/innerkits/ohosaccount/native/include/", 110 "//base/account/os_account/interfaces/kits/napi/distributedaccount/include/", 111 "//base/account/os_account/interfaces/innerkits/include", 112 "//foundation/ability/ability_runtime/interfaces/inner_api/ability_manager/include", 113 "//foundation/ability/ability_runtime/interfaces/kits/native/ability/native", 114 ] 115 116 deps = [ "//third_party/jsoncpp:jsoncpp" ] 117 118 public_configs = [ ":contactsdataability_public_config" ] 119 external_deps = [ 120 "ability_base:want", 121 "ability_base:zuri", 122 "ability_runtime:abilitykit_native", 123 "ability_runtime:app_context", 124 "ability_runtime:dataobs_manager", 125 "c_utils:utilsbase", 126 "common_event_service:cesfwk_innerkits", 127 "data_share:datashare_common", 128 "data_share:datashare_provider", 129 "napi:ace_napi", 130 "relational_store:native_dataability", 131 "relational_store:native_rdb", 132 "relational_store:rdb_data_share_adapter", 133 ] 134 135 defines = [ 136 "CONTACTSDATA_LOG_TAG = \"ContactsData\"", 137 "LOG_DOMAIN = 0xD001F09", 138 ] 139 140 if (is_standard_system) { 141 external_deps += [ "hiviewdfx_hilog_native:libhilog" ] 142 } else { 143 external_deps += [ "hilog:libhilog" ] 144 } 145 146 public_deps = [] 147 part_name = "contactsdata_hap" 148 subsystem_name = "applications" 149} 150## Build contactsdataability.so }}} 151