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