1190978c3Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
2190978c3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3190978c3Sopenharmony_ci# you may not use this file except in compliance with the License.
4190978c3Sopenharmony_ci# You may obtain a copy of the License at
5190978c3Sopenharmony_ci#
6190978c3Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7190978c3Sopenharmony_ci#
8190978c3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9190978c3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10190978c3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11190978c3Sopenharmony_ci# See the License for the specific language governing permissions and
12190978c3Sopenharmony_ci# limitations under the License.
13190978c3Sopenharmony_ci
14190978c3Sopenharmony_ciimport("//base/update/updateservice/updateengine.gni")
15190978c3Sopenharmony_ciimport("//build/ohos.gni")
16190978c3Sopenharmony_ciimport("$updateengine_root_path/services/core/ability/sqlite/sqlite.gni")
17190978c3Sopenharmony_ciimport("$updateengine_root_path/services/firmware/firmware.gni")
18190978c3Sopenharmony_ciimport("$updateengine_root_path/services/startup/startup.gni")
19190978c3Sopenharmony_ci
20190978c3Sopenharmony_cideclare_args() {
21190978c3Sopenharmony_ci  ability_ability_base_enable = true
22190978c3Sopenharmony_ci  if (!defined(global_parts_info.ability_ability_base)) {
23190978c3Sopenharmony_ci    ability_ability_base_enable = false
24190978c3Sopenharmony_ci  }
25190978c3Sopenharmony_ci
26190978c3Sopenharmony_ci  preference_native_preferences_enable = true
27190978c3Sopenharmony_ci  if (!defined(global_parts_info.distributeddatamgr_preferences)) {
28190978c3Sopenharmony_ci    preference_native_preferences_enable = false
29190978c3Sopenharmony_ci  }
30190978c3Sopenharmony_ci}
31190978c3Sopenharmony_ci
32190978c3Sopenharmony_cisa_sources = [
33190978c3Sopenharmony_ci  "$updateengine_root_path/services/callback/src/update_callback_proxy.cpp",
34190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/adapter/src/config_parse.cpp",
35190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/adapter/src/device_adapter.cpp",
36190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/alarm/src/timer_manager.cpp",
37190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/status_cache/src/status_cache.cpp",
38190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/utils/src/file_utils.cpp",
39190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/utils/src/sha256_utils.cpp",
40190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/utils/src/time_utils_proxy.cpp",
41190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/progress_thread.cpp",
42190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/update_service.cpp",
43190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/update_service_cache.cpp",
44190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/update_service_impl_firmware.cpp",
45190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/update_service_impl_manager.cpp",
46190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/update_service_local_updater.cpp",
47190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/update_service_restorer.cpp",
48190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/update_service_stub.cpp",
49190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/src/update_service_util_hmos.cpp",
50190978c3Sopenharmony_ci]
51190978c3Sopenharmony_ci
52190978c3Sopenharmony_ciif (ability_ability_base_enable || ability_ability_runtime_enable) {
53190978c3Sopenharmony_ci  sa_sources += [
54190978c3Sopenharmony_ci    "$updateengine_root_path/services/core/ability/alarm/src/alarm_timer_utils.cpp",
55190978c3Sopenharmony_ci    "$updateengine_root_path/services/core/ability/callback/src/base_callback_utils.cpp",
56190978c3Sopenharmony_ci    "$updateengine_root_path/services/engine/src/update_notify.cpp",
57190978c3Sopenharmony_ci  ]
58190978c3Sopenharmony_ci} else {
59190978c3Sopenharmony_ci  sa_sources += [ "$updateengine_root_path/services/core/ability/callback/src/base_callback_utils_empty.cpp" ]
60190978c3Sopenharmony_ci}
61190978c3Sopenharmony_ci
62190978c3Sopenharmony_ciif (communication_netmanager_base_enable) {
63190978c3Sopenharmony_ci  sa_sources += [
64190978c3Sopenharmony_ci    "$updateengine_root_path/services/utils/src/dupdate_net_manager.cpp",
65190978c3Sopenharmony_ci    "$updateengine_root_path/services/utils/src/dupdate_net_observer.cpp",
66190978c3Sopenharmony_ci  ]
67190978c3Sopenharmony_ci} else {
68190978c3Sopenharmony_ci  sa_sources += [
69190978c3Sopenharmony_ci    "$updateengine_root_path/services/utils/src/dupdate_net_manager_empty.cpp",
70190978c3Sopenharmony_ci  ]
71190978c3Sopenharmony_ci}
72190978c3Sopenharmony_ci
73190978c3Sopenharmony_ciif (preference_native_preferences_enable) {
74190978c3Sopenharmony_ci  sa_sources += [ "$updateengine_root_path/services/core/ability/preference/src/preference_utils.cpp" ]
75190978c3Sopenharmony_ci} else {
76190978c3Sopenharmony_ci  sa_sources += [ "$updateengine_root_path/services/core/ability/preference/src/preference_utils_empty.cpp" ]
77190978c3Sopenharmony_ci}
78190978c3Sopenharmony_ci
79190978c3Sopenharmony_cisa_sources += firmware_src
80190978c3Sopenharmony_cisa_sources += sqlite_src
81190978c3Sopenharmony_cisa_sources += startup_src
82190978c3Sopenharmony_ci
83190978c3Sopenharmony_cisa_include_dirs = [
84190978c3Sopenharmony_ci  "$updateengine_root_path/services/auto_update/include",
85190978c3Sopenharmony_ci  "$updateengine_root_path/services/bi_report/include",
86190978c3Sopenharmony_ci  "$updateengine_root_path/services/callback/include",
87190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/adapter/include",
88190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/alarm/include",
89190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/callback/include",
90190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/common/include",
91190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/model/include",
92190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/net/include",
93190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/preference/include",
94190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/status_cache/include",
95190978c3Sopenharmony_ci  "$updateengine_root_path/services/core/ability/utils/include",
96190978c3Sopenharmony_ci  "$updateengine_root_path/services/engine/include",
97190978c3Sopenharmony_ci  "$updateengine_root_path/services/osal/include",
98190978c3Sopenharmony_ci  "$updateengine_root_path/services/service/include",
99190978c3Sopenharmony_ci  "$updateengine_root_path/services/utils/include",
100190978c3Sopenharmony_ci  "$updateengine_root_path/interfaces/inner_api/common/include",
101190978c3Sopenharmony_ci  "$updateengine_root_path/interfaces/inner_api/include",
102190978c3Sopenharmony_ci]
103190978c3Sopenharmony_ci
104190978c3Sopenharmony_ciif (!relational_store_native_rdb_enable) {
105190978c3Sopenharmony_ci  sa_include_dirs += [
106190978c3Sopenharmony_ci    "//base/update/updateservice/services/core/ability/sqlite/core/include",
107190978c3Sopenharmony_ci  ]
108190978c3Sopenharmony_ci}
109190978c3Sopenharmony_ci
110190978c3Sopenharmony_cisa_include_dirs += firmware_include
111190978c3Sopenharmony_cisa_include_dirs += sqlite_include
112190978c3Sopenharmony_cisa_include_dirs += startup_include
113190978c3Sopenharmony_cisa_include_dirs +=
114190978c3Sopenharmony_ci    [ "//base/update/updateservice/interfaces/innner_api/modulemgr/include" ]
115190978c3Sopenharmony_ci
116190978c3Sopenharmony_cisa_deps = [
117190978c3Sopenharmony_ci  "$updateengine_root_path/foundations:update_foundations",
118190978c3Sopenharmony_ci  "$updateengine_root_path/interfaces/inner_api/engine:$updateengine_inner_library_name",
119190978c3Sopenharmony_ci  "$updateengine_root_path/interfaces/inner_api/modulemgr:update_module_mgr",
120190978c3Sopenharmony_ci]
121190978c3Sopenharmony_ci
122190978c3Sopenharmony_cisa_deps += firmware_deps
123190978c3Sopenharmony_cisa_deps += startup_deps
124190978c3Sopenharmony_ci
125190978c3Sopenharmony_cisa_external_deps = [
126190978c3Sopenharmony_ci  "ability_base:session_info",
127190978c3Sopenharmony_ci  "access_token:libaccesstoken_sdk",
128190978c3Sopenharmony_ci  "access_token:libtokenid_sdk",
129190978c3Sopenharmony_ci  "bundle_framework:appexecfwk_core",
130190978c3Sopenharmony_ci  "cJSON:cjson",
131190978c3Sopenharmony_ci  "c_utils:utils",  # refbase
132190978c3Sopenharmony_ci  "curl:curl_shared",
133190978c3Sopenharmony_ci  "hilog:libhilog",
134190978c3Sopenharmony_ci  "hisysevent:libhisysevent",
135190978c3Sopenharmony_ci  "init:libbegetutil",
136190978c3Sopenharmony_ci  "ipc:ipc_core",
137190978c3Sopenharmony_ci  "json:nlohmann_json_static",
138190978c3Sopenharmony_ci  "libxml2:libxml2",
139190978c3Sopenharmony_ci  "mbedtls:mbedtls_shared",
140190978c3Sopenharmony_ci  "openssl:libcrypto_shared",
141190978c3Sopenharmony_ci  "openssl:libssl_shared",
142190978c3Sopenharmony_ci  "safwk:system_ability_fwk",
143190978c3Sopenharmony_ci  "samgr:samgr_proxy",
144190978c3Sopenharmony_ci  "updater:libfsmanager",  # "fs_manager/mount.h"
145190978c3Sopenharmony_ci  "updater:libpackage_shared",  # "package/package.h"
146190978c3Sopenharmony_ci  "updater:libupdater_shared",  # "updaterkits/updaterkits.h"
147190978c3Sopenharmony_ci]
148190978c3Sopenharmony_ci
149190978c3Sopenharmony_ciif (ability_ability_base_enable) {
150190978c3Sopenharmony_ci  sa_external_deps += [
151190978c3Sopenharmony_ci    "ability_base:base",
152190978c3Sopenharmony_ci    "ability_base:want",
153190978c3Sopenharmony_ci    "ability_runtime:wantagent_innerkits",
154190978c3Sopenharmony_ci    "time_service:time_client",
155190978c3Sopenharmony_ci  ]
156190978c3Sopenharmony_ci}
157190978c3Sopenharmony_ciif (ability_ability_runtime_enable) {
158190978c3Sopenharmony_ci  sa_external_deps += [ "ability_runtime:extension_manager" ]
159190978c3Sopenharmony_ci}
160190978c3Sopenharmony_ci
161190978c3Sopenharmony_ciif (communication_netmanager_base_enable) {
162190978c3Sopenharmony_ci  sa_external_deps += [ "netmanager_base:net_conn_manager_if" ]
163190978c3Sopenharmony_ci}
164190978c3Sopenharmony_ci
165190978c3Sopenharmony_ciif (preference_native_preferences_enable) {
166190978c3Sopenharmony_ci  sa_external_deps += [ "preferences:native_preferences" ]
167190978c3Sopenharmony_ci}
168190978c3Sopenharmony_ci
169190978c3Sopenharmony_cisa_external_deps += firmware_external_deps
170190978c3Sopenharmony_cisa_external_deps += sqlite_external_deps
171190978c3Sopenharmony_cisa_external_deps += startup_external_deps
172190978c3Sopenharmony_ci
173190978c3Sopenharmony_cisa_public_deps = []
174190978c3Sopenharmony_cisa_public_deps += startup_public_deps
175190978c3Sopenharmony_ci
176190978c3Sopenharmony_cisa_defines = [
177190978c3Sopenharmony_ci  "DUAL_ADAPTER",
178190978c3Sopenharmony_ci  "UPDATE_SERVICE",
179190978c3Sopenharmony_ci]
180190978c3Sopenharmony_ci
181190978c3Sopenharmony_ciif (ability_ability_base_enable) {
182190978c3Sopenharmony_ci  sa_defines += [ "ABILITY_BASE_ENABLE" ]
183190978c3Sopenharmony_ci}
184190978c3Sopenharmony_ciif (ability_ability_runtime_enable) {
185190978c3Sopenharmony_ci  sa_defines += [ "ABILITY_RUNTIME_ENABLE" ]
186190978c3Sopenharmony_ci}
187190978c3Sopenharmony_ciif (communication_netmanager_base_enable) {
188190978c3Sopenharmony_ci  sa_defines += [ "NETMANAGER_BASE_ENABLE" ]
189190978c3Sopenharmony_ci}
190190978c3Sopenharmony_ciif (preference_native_preferences_enable) {
191190978c3Sopenharmony_ci  sa_defines += [ "NATIVE_PREFERENCES_ENABLE" ]
192190978c3Sopenharmony_ci}
193190978c3Sopenharmony_cisa_defines += sqlite_defines
194190978c3Sopenharmony_ci
195190978c3Sopenharmony_cisa_cflags = [
196190978c3Sopenharmony_ci  "-fPIC",
197190978c3Sopenharmony_ci  "-Os",
198190978c3Sopenharmony_ci  "-Werror",
199190978c3Sopenharmony_ci]
200