• 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")
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