1eace7efcSopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2eace7efcSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3eace7efcSopenharmony_ci# you may not use this file except in compliance with the License.
4eace7efcSopenharmony_ci# You may obtain a copy of the License at
5eace7efcSopenharmony_ci#
6eace7efcSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7eace7efcSopenharmony_ci#
8eace7efcSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9eace7efcSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10eace7efcSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11eace7efcSopenharmony_ci# See the License for the specific language governing permissions and
12eace7efcSopenharmony_ci# limitations under the License.
13eace7efcSopenharmony_ci
14eace7efcSopenharmony_ciimport("//build/ohos.gni")
15eace7efcSopenharmony_ciimport("//foundation/ability/ability_runtime/ability_runtime.gni")
16eace7efcSopenharmony_ciimport(
17eace7efcSopenharmony_ci    "//foundation/ability/ability_runtime/services/abilitymgr/abilitymgr.gni")
18eace7efcSopenharmony_ci
19eace7efcSopenharmony_cigroup("abilityms_target") {
20eace7efcSopenharmony_ci  deps = [
21eace7efcSopenharmony_ci    ":abilityms",
22eace7efcSopenharmony_ci    ":ams_service_config",
23eace7efcSopenharmony_ci    ":mission_list",
24eace7efcSopenharmony_ci  ]
25eace7efcSopenharmony_ci}
26eace7efcSopenharmony_ci
27eace7efcSopenharmony_ciconfig("abilityms_exception_config") {
28eace7efcSopenharmony_ci  cflags_cc = [ "-fexceptions" ]
29eace7efcSopenharmony_ci}
30eace7efcSopenharmony_ci
31eace7efcSopenharmony_ciconfig("abilityms_config") {
32eace7efcSopenharmony_ci  include_dirs = [
33eace7efcSopenharmony_ci    "include/",
34eace7efcSopenharmony_ci    "include/data_ability",
35eace7efcSopenharmony_ci    "include/dialog_session/",
36eace7efcSopenharmony_ci    "include/mission/",
37eace7efcSopenharmony_ci    "include/rdb/",
38eace7efcSopenharmony_ci    "include/resident_process/",
39eace7efcSopenharmony_ci    "include/screen_lock/",
40eace7efcSopenharmony_ci    "include/utils/",
41eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager/include",
42eace7efcSopenharmony_ci    "${ability_runtime_services_path}/appdfr/include",
43eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/app_manager/include",
44eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/connectionobs_manager/include",
45eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/deps_wrapper/include",
46eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common/include",
47eace7efcSopenharmony_ci    "//prebuilts/jdk/jdk8/linux-x86/include",
48eace7efcSopenharmony_ci    "//prebuilts/jdk/jdk8/linux-x86/include/linux",
49eace7efcSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/ability/native",
50eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/dataobs_manager/include",
51eace7efcSopenharmony_ci    "${ability_runtime_path}/tools/aa/include",
52eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/wantagent/include",
53eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/session_handler/include",
54eace7efcSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime",
55eace7efcSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper",
56eace7efcSopenharmony_ci    "${ability_runtime_utils_path}/global/constant",
57eace7efcSopenharmony_ci    "${ability_runtime_utils_path}/server/constant",
58eace7efcSopenharmony_ci  ]
59eace7efcSopenharmony_ci
60eace7efcSopenharmony_ci  defines = []
61eace7efcSopenharmony_ci
62eace7efcSopenharmony_ci  if (ability_command_for_test) {
63eace7efcSopenharmony_ci    defines += [ "ABILITY_COMMAND_FOR_TEST" ]
64eace7efcSopenharmony_ci  }
65eace7efcSopenharmony_ci
66eace7efcSopenharmony_ci  if (ability_fault_and_exit_test) {
67eace7efcSopenharmony_ci    defines += [ "ABILITY_FAULT_AND_EXIT_TEST" ]
68eace7efcSopenharmony_ci  }
69eace7efcSopenharmony_ci
70eace7efcSopenharmony_ci  if (ability_runtime_graphics) {
71eace7efcSopenharmony_ci    defines += [
72eace7efcSopenharmony_ci      "SUPPORT_GRAPHICS",
73eace7efcSopenharmony_ci      "SUPPORT_SCREEN",
74eace7efcSopenharmony_ci    ]
75eace7efcSopenharmony_ci  }
76eace7efcSopenharmony_ci
77eace7efcSopenharmony_ci  if (background_task_mgr_continuous_task_enable) {
78eace7efcSopenharmony_ci    defines += [ "BGTASKMGR_CONTINUOUS_TASK_ENABLE" ]
79eace7efcSopenharmony_ci  }
80eace7efcSopenharmony_ci
81eace7efcSopenharmony_ci  if (resource_schedule_service_enable) {
82eace7efcSopenharmony_ci    defines += [ "RESOURCE_SCHEDULE_SERVICE_ENABLE" ]
83eace7efcSopenharmony_ci  }
84eace7efcSopenharmony_ci
85eace7efcSopenharmony_ci  if (is_asan || asan_detector) {
86eace7efcSopenharmony_ci    defines += [ "SUPPORT_ASAN" ]
87eace7efcSopenharmony_ci  }
88eace7efcSopenharmony_ci
89eace7efcSopenharmony_ci  cflags = []
90eace7efcSopenharmony_ci  if (target_cpu == "arm") {
91eace7efcSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
92eace7efcSopenharmony_ci  }
93eace7efcSopenharmony_ci  cflags += [
94eace7efcSopenharmony_ci    "-DKEY_AUTO_FILL_ABILITY=\"${ability_runtime_auto_fill_ability}\"",
95eace7efcSopenharmony_ci    "-DKEY_SMART_AUTO_FILL_ABILITY=\"${ability_runtime_smart_auto_fill_ability}\"",
96eace7efcSopenharmony_ci  ]
97eace7efcSopenharmony_ci}
98eace7efcSopenharmony_ci
99eace7efcSopenharmony_ciohos_shared_library("abilityms") {
100eace7efcSopenharmony_ci  sanitize = {
101eace7efcSopenharmony_ci    cfi = true
102eace7efcSopenharmony_ci    cfi_cross_dso = true
103eace7efcSopenharmony_ci    debug = false
104eace7efcSopenharmony_ci  }
105eace7efcSopenharmony_ci  branch_protector_ret = "pac_ret"
106eace7efcSopenharmony_ci  shlib_type = "sa"
107eace7efcSopenharmony_ci  sources = abilityms_files
108eace7efcSopenharmony_ci  cflags_cc = []
109eace7efcSopenharmony_ci  configs = [
110eace7efcSopenharmony_ci    ":abilityms_config",
111eace7efcSopenharmony_ci    ":abilityms_exception_config",
112eace7efcSopenharmony_ci  ]
113eace7efcSopenharmony_ci  include_dirs = [
114eace7efcSopenharmony_ci    "${ability_runtime_services_path}/appdfr/include",
115eace7efcSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/ability/native/ui_service_extension_ability/connection",
116eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/include/mission",
117eace7efcSopenharmony_ci  ]
118eace7efcSopenharmony_ci  deps = [
119eace7efcSopenharmony_ci    ":wantagent_manager",
120eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
121eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:ability_start_options",
122eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:ability_start_setting",
123eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:mission_info",
124eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:process_options",
125eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:start_window_option",
126eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/app_manager:app_manager",
127eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/connectionobs_manager:connection_obs_manager",
128eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper",
129eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/session_handler:session_handler",
130eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr",
131eace7efcSopenharmony_ci    "${ability_runtime_native_path}/ability/native:abilitykit_native",
132eace7efcSopenharmony_ci    "${ability_runtime_native_path}/ability/native:auto_startup_callback",
133eace7efcSopenharmony_ci    "${ability_runtime_native_path}/appkit:appkit_manager_helper",
134eace7efcSopenharmony_ci    "${ability_runtime_path}/utils/global/freeze:freeze_util",
135eace7efcSopenharmony_ci    "${ability_runtime_path}/utils/server/startup:startup_util",
136eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:app_util",
137eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:event_report",
138eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:perm_verification",
139eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:res_sched_util",
140eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:task_handler_wrap",
141eace7efcSopenharmony_ci  ]
142eace7efcSopenharmony_ci
143eace7efcSopenharmony_ci  external_deps = [
144eace7efcSopenharmony_ci    "ability_base:base",
145eace7efcSopenharmony_ci    "ability_base:configuration",
146eace7efcSopenharmony_ci    "ability_base:extractortool",
147eace7efcSopenharmony_ci    "ability_base:session_info",
148eace7efcSopenharmony_ci    "ability_base:view_data",
149eace7efcSopenharmony_ci    "ability_base:want",
150eace7efcSopenharmony_ci    "ability_base:zuri",
151eace7efcSopenharmony_ci    "access_token:libaccesstoken_sdk",
152eace7efcSopenharmony_ci    "access_token:libtokenid_sdk",
153eace7efcSopenharmony_ci    "bundle_framework:appexecfwk_base",
154eace7efcSopenharmony_ci    "bundle_framework:appexecfwk_core",
155eace7efcSopenharmony_ci    "bundle_framework:libappexecfwk_common",
156eace7efcSopenharmony_ci    "c_utils:utils",
157eace7efcSopenharmony_ci    "common_event_service:cesfwk_core",
158eace7efcSopenharmony_ci    "common_event_service:cesfwk_innerkits",
159eace7efcSopenharmony_ci    "config_policy:configpolicy_util",
160eace7efcSopenharmony_ci    "dsoftbus:softbus_client",
161eace7efcSopenharmony_ci    "ffrt:libffrt",
162eace7efcSopenharmony_ci    "graphic_2d:color_manager",
163eace7efcSopenharmony_ci    "hicollie:libhicollie",
164eace7efcSopenharmony_ci    "hilog:libhilog",
165eace7efcSopenharmony_ci    "hisysevent:libhisysevent",
166eace7efcSopenharmony_ci    "hitrace:hitrace_meter",
167eace7efcSopenharmony_ci    "icu:shared_icuuc",
168eace7efcSopenharmony_ci    "init:libbeget_proxy",
169eace7efcSopenharmony_ci    "init:libbegetutil",
170eace7efcSopenharmony_ci    "ipc:ipc_core",
171eace7efcSopenharmony_ci    "json:nlohmann_json_static",
172eace7efcSopenharmony_ci    "kv_store:distributeddata_inner",
173eace7efcSopenharmony_ci    "os_account:os_account_innerkits",
174eace7efcSopenharmony_ci    "qos_manager:concurrent_task_client",
175eace7efcSopenharmony_ci    "relational_store:native_appdatafwk",
176eace7efcSopenharmony_ci    "relational_store:native_dataability",
177eace7efcSopenharmony_ci    "relational_store:native_rdb",
178eace7efcSopenharmony_ci    "safwk:system_ability_fwk",
179eace7efcSopenharmony_ci    "samgr:samgr_proxy",
180eace7efcSopenharmony_ci    "window_manager:libmodal_system_ui_extension_client",
181eace7efcSopenharmony_ci    "window_manager:libwsutils",
182eace7efcSopenharmony_ci    "window_manager:scene_session",
183eace7efcSopenharmony_ci    "window_manager:session_manager_lite",
184eace7efcSopenharmony_ci    "window_manager:sms",
185eace7efcSopenharmony_ci  ]
186eace7efcSopenharmony_ci  public_external_deps = [ "background_task_mgr:bgtaskmgr_innerkits" ]
187eace7efcSopenharmony_ci
188eace7efcSopenharmony_ci  if (background_task_mgr_continuous_task_enable) {
189eace7efcSopenharmony_ci    external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ]
190eace7efcSopenharmony_ci  }
191eace7efcSopenharmony_ci
192eace7efcSopenharmony_ci  if (resource_schedule_service_enable) {
193eace7efcSopenharmony_ci    external_deps += [ "resource_schedule_service:ressched_client" ]
194eace7efcSopenharmony_ci  }
195eace7efcSopenharmony_ci
196eace7efcSopenharmony_ci  if (os_dlp_part_enabled) {
197eace7efcSopenharmony_ci    cflags_cc += [ "-DWITH_DLP" ]
198eace7efcSopenharmony_ci    external_deps += [
199eace7efcSopenharmony_ci      "dlp_permission_service:libdlp_permission_sdk",
200eace7efcSopenharmony_ci      "dlp_permission_service:libdlpparse",
201eace7efcSopenharmony_ci    ]
202eace7efcSopenharmony_ci  }
203eace7efcSopenharmony_ci
204eace7efcSopenharmony_ci  defines = []
205eace7efcSopenharmony_ci
206eace7efcSopenharmony_ci  if (ability_runtime_graphics) {
207eace7efcSopenharmony_ci    defines += [ "SUPPORT_GRAPHICS" ]
208eace7efcSopenharmony_ci    external_deps += [
209eace7efcSopenharmony_ci      "ability_base:session_info",
210eace7efcSopenharmony_ci      "i18n:intl_util",
211eace7efcSopenharmony_ci      "icu:shared_icuuc",
212eace7efcSopenharmony_ci      "image_framework:image_native",
213eace7efcSopenharmony_ci      "input:libmmi-client",
214eace7efcSopenharmony_ci      "resource_management:global_resmgr",
215eace7efcSopenharmony_ci      "screenlock_mgr:screenlock_client",
216eace7efcSopenharmony_ci      "window_manager:libdm",
217eace7efcSopenharmony_ci      "window_manager:libmodal_system_ui_extension_client",
218eace7efcSopenharmony_ci      "window_manager:libwm",
219eace7efcSopenharmony_ci      "window_manager:libwsutils",
220eace7efcSopenharmony_ci      "window_manager:scene_session",
221eace7efcSopenharmony_ci      "window_manager:sms",
222eace7efcSopenharmony_ci    ]
223eace7efcSopenharmony_ci  }
224eace7efcSopenharmony_ci
225eace7efcSopenharmony_ci  if (include_app_domain_verify) {
226eace7efcSopenharmony_ci    external_deps += [
227eace7efcSopenharmony_ci      "app_domain_verify:app_domain_verify_common",
228eace7efcSopenharmony_ci      "app_domain_verify:app_domain_verify_mgr_client",
229eace7efcSopenharmony_ci    ]
230eace7efcSopenharmony_ci    defines += [ "APP_DOMAIN_VERIFY_ENABLED" ]
231eace7efcSopenharmony_ci  }
232eace7efcSopenharmony_ci
233eace7efcSopenharmony_ci  if (ability_runtime_power) {
234eace7efcSopenharmony_ci    defines += [ "SUPPORT_POWER" ]
235eace7efcSopenharmony_ci    external_deps += [ "power_manager:powermgr_client" ]
236eace7efcSopenharmony_ci  }
237eace7efcSopenharmony_ci
238eace7efcSopenharmony_ci  if (ability_runtime_graphics &&
239eace7efcSopenharmony_ci      ability_runtime_start_window_options_with_pixelmap) {
240eace7efcSopenharmony_ci    defines += [ "START_WINDOW_OPTIONS_WITH_PIXELMAP" ]
241eace7efcSopenharmony_ci    external_deps += [ "image_framework:image_native" ]
242eace7efcSopenharmony_ci  }
243eace7efcSopenharmony_ci
244eace7efcSopenharmony_ci  version_script = "libabilityms.map"
245eace7efcSopenharmony_ci  subsystem_name = "ability"
246eace7efcSopenharmony_ci  innerapi_tags = [ "platformsdk_indirect" ]
247eace7efcSopenharmony_ci  part_name = "ability_runtime"
248eace7efcSopenharmony_ci}
249eace7efcSopenharmony_ci
250eace7efcSopenharmony_ciohos_shared_library("wantagent_manager") {
251eace7efcSopenharmony_ci  sanitize = {
252eace7efcSopenharmony_ci    cfi = true
253eace7efcSopenharmony_ci    cfi_cross_dso = true
254eace7efcSopenharmony_ci    debug = false
255eace7efcSopenharmony_ci  }
256eace7efcSopenharmony_ci  branch_protector_ret = "pac_ret"
257eace7efcSopenharmony_ci  include_dirs = [
258eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/data_ability/include",
259eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/include/utils",
260eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/include",
261eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager/include",
262eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common/include",
263eace7efcSopenharmony_ci  ]
264eace7efcSopenharmony_ci
265eace7efcSopenharmony_ci  sources = [
266eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/src/sender_info.cpp",
267eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/src/want_receiver_proxy.cpp",
268eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/src/want_receiver_stub.cpp",
269eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/src/want_sender_info.cpp",
270eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/src/want_sender_proxy.cpp",
271eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/src/want_sender_stub.cpp",
272eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/src/wants_info.cpp",
273eace7efcSopenharmony_ci  ]
274eace7efcSopenharmony_ci  deps = [
275eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:ability_start_options",
276eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/error_utils:ability_runtime_error_util",
277eace7efcSopenharmony_ci  ]
278eace7efcSopenharmony_ci
279eace7efcSopenharmony_ci  external_deps = [
280eace7efcSopenharmony_ci    "ability_base:want",
281eace7efcSopenharmony_ci    "c_utils:utils",
282eace7efcSopenharmony_ci    "hilog:libhilog",
283eace7efcSopenharmony_ci    "hitrace:hitrace_meter",
284eace7efcSopenharmony_ci    "ipc:ipc_core",
285eace7efcSopenharmony_ci    "samgr:samgr_proxy",
286eace7efcSopenharmony_ci  ]
287eace7efcSopenharmony_ci
288eace7efcSopenharmony_ci  public_external_deps = [
289eace7efcSopenharmony_ci    "bundle_framework:appexecfwk_base",
290eace7efcSopenharmony_ci    "bundle_framework:appexecfwk_core",
291eace7efcSopenharmony_ci  ]
292eace7efcSopenharmony_ci
293eace7efcSopenharmony_ci  innerapi_tags = [
294eace7efcSopenharmony_ci    "platformsdk",
295eace7efcSopenharmony_ci    "sasdk",
296eace7efcSopenharmony_ci  ]
297eace7efcSopenharmony_ci  subsystem_name = "ability"
298eace7efcSopenharmony_ci  part_name = "ability_runtime"
299eace7efcSopenharmony_ci}
300eace7efcSopenharmony_ci
301eace7efcSopenharmony_ciohos_prebuilt_etc("ams_service_config.json") {
302eace7efcSopenharmony_ci  source = "resource/ams_service_config.json"
303eace7efcSopenharmony_ci  subsystem_name = "ability"
304eace7efcSopenharmony_ci  part_name = "ability_runtime"
305eace7efcSopenharmony_ci}
306eace7efcSopenharmony_ci
307eace7efcSopenharmony_ciohos_prebuilt_etc("uiextension_picker_config.json") {
308eace7efcSopenharmony_ci  source = "resource/uiextension_picker_config.json"
309eace7efcSopenharmony_ci  subsystem_name = "ability"
310eace7efcSopenharmony_ci  part_name = "ability_runtime"
311eace7efcSopenharmony_ci}
312eace7efcSopenharmony_ci
313eace7efcSopenharmony_ciohos_prebuilt_etc("deeplink_reserve_config.json") {
314eace7efcSopenharmony_ci  source = "resource/deeplink_reserve_config.json"
315eace7efcSopenharmony_ci  subsystem_name = "ability"
316eace7efcSopenharmony_ci  part_name = "ability_runtime"
317eace7efcSopenharmony_ci}
318eace7efcSopenharmony_ci
319eace7efcSopenharmony_ciohos_prebuilt_etc("ams_extension_config.json") {
320eace7efcSopenharmony_ci  source = "resource/ams_extension_config.json"
321eace7efcSopenharmony_ci  subsystem_name = "ability"
322eace7efcSopenharmony_ci  part_name = "ability_runtime"
323eace7efcSopenharmony_ci}
324eace7efcSopenharmony_ci
325eace7efcSopenharmony_ciohos_prebuilt_etc("start_ability_without_caller_token.json") {
326eace7efcSopenharmony_ci  source = "resource/start_ability_without_caller_token.json"
327eace7efcSopenharmony_ci  subsystem_name = "ability"
328eace7efcSopenharmony_ci  part_name = "ability_runtime"
329eace7efcSopenharmony_ci}
330eace7efcSopenharmony_ci
331eace7efcSopenharmony_ciohos_shared_library("mission_list") {
332eace7efcSopenharmony_ci  sanitize = {
333eace7efcSopenharmony_ci    integer_overflow = true
334eace7efcSopenharmony_ci    ubsan = true
335eace7efcSopenharmony_ci    boundary_sanitize = true
336eace7efcSopenharmony_ci    cfi = true
337eace7efcSopenharmony_ci    cfi_cross_dso = true
338eace7efcSopenharmony_ci    cfi_vcall_icall_only = true
339eace7efcSopenharmony_ci    debug = false
340eace7efcSopenharmony_ci  }
341eace7efcSopenharmony_ci  branch_protector_ret = "pac_ret"
342eace7efcSopenharmony_ci
343eace7efcSopenharmony_ci  include_dirs = [
344eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager/include",
345eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager/include/status_bar_delegate",
346eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/connectionobs_manager/include",
347eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/deps_wrapper/include",
348eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/session_handler/include",
349eace7efcSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/ability/native",
350eace7efcSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper",
351eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/data_ability/include",
352eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/include/utils",
353eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/include",
354eace7efcSopenharmony_ci    "${ability_runtime_services_path}/abilitymgr/include/mission",
355eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common/include",
356eace7efcSopenharmony_ci    "${ability_runtime_services_path}/appdfr/include",
357eace7efcSopenharmony_ci    "${ability_runtime_utils_path}/global/constant",
358eace7efcSopenharmony_ci    "${ability_runtime_utils_path}/server/constant",
359eace7efcSopenharmony_ci  ]
360eace7efcSopenharmony_ci
361eace7efcSopenharmony_ci  defines = []
362eace7efcSopenharmony_ci
363eace7efcSopenharmony_ci  if (ability_command_for_test) {
364eace7efcSopenharmony_ci    defines += [ "ABILITY_COMMAND_FOR_TEST" ]
365eace7efcSopenharmony_ci  }
366eace7efcSopenharmony_ci
367eace7efcSopenharmony_ci  if (ability_runtime_graphics) {
368eace7efcSopenharmony_ci    defines += [
369eace7efcSopenharmony_ci      "SUPPORT_GRAPHICS",
370eace7efcSopenharmony_ci      "SUPPORT_SCREEN",
371eace7efcSopenharmony_ci    ]
372eace7efcSopenharmony_ci  }
373eace7efcSopenharmony_ci
374eace7efcSopenharmony_ci  cflags = []
375eace7efcSopenharmony_ci  if (target_cpu == "arm") {
376eace7efcSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
377eace7efcSopenharmony_ci  }
378eace7efcSopenharmony_ci
379eace7efcSopenharmony_ci  sources = [
380eace7efcSopenharmony_ci    "src/mission/mission.cpp",
381eace7efcSopenharmony_ci    "src/mission/mission_data_storage.cpp",
382eace7efcSopenharmony_ci    "src/mission/mission_info_mgr.cpp",
383eace7efcSopenharmony_ci    "src/mission/mission_list.cpp",
384eace7efcSopenharmony_ci    "src/mission/mission_list_manager.cpp",
385eace7efcSopenharmony_ci    "src/task_data_persistence_mgr.cpp",
386eace7efcSopenharmony_ci  ]
387eace7efcSopenharmony_ci
388eace7efcSopenharmony_ci  deps = [
389eace7efcSopenharmony_ci    ":abilityms",
390eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
391eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:ability_start_options",
392eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:ability_start_setting",
393eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:mission_info",
394eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/ability_manager:process_options",
395eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/app_manager:app_manager",
396eace7efcSopenharmony_ci    "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr",
397eace7efcSopenharmony_ci    "${ability_runtime_native_path}/ability/native:auto_startup_callback",
398eace7efcSopenharmony_ci    "${ability_runtime_native_path}/appkit:appkit_manager_helper",
399eace7efcSopenharmony_ci    "${ability_runtime_path}/utils/global/freeze:freeze_util",
400eace7efcSopenharmony_ci    "${ability_runtime_path}/utils/server/startup:startup_util",
401eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:app_util",
402eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:event_report",
403eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:perm_verification",
404eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:res_sched_util",
405eace7efcSopenharmony_ci    "${ability_runtime_services_path}/common:task_handler_wrap",
406eace7efcSopenharmony_ci  ]
407eace7efcSopenharmony_ci
408eace7efcSopenharmony_ci  external_deps = [
409eace7efcSopenharmony_ci    "ability_base:base",
410eace7efcSopenharmony_ci    "ability_base:configuration",
411eace7efcSopenharmony_ci    "ability_base:session_info",
412eace7efcSopenharmony_ci    "ability_base:view_data",
413eace7efcSopenharmony_ci    "ability_base:want",
414eace7efcSopenharmony_ci    "ability_base:zuri",
415eace7efcSopenharmony_ci    "access_token:libaccesstoken_sdk",
416eace7efcSopenharmony_ci    "access_token:libtokenid_sdk",
417eace7efcSopenharmony_ci    "background_task_mgr:bgtaskmgr_innerkits",
418eace7efcSopenharmony_ci    "bundle_framework:appexecfwk_base",
419eace7efcSopenharmony_ci    "bundle_framework:appexecfwk_core",
420eace7efcSopenharmony_ci    "bundle_framework:libappexecfwk_common",
421eace7efcSopenharmony_ci    "c_utils:utils",
422eace7efcSopenharmony_ci    "common_event_service:cesfwk_innerkits",
423eace7efcSopenharmony_ci    "config_policy:configpolicy_util",
424eace7efcSopenharmony_ci    "dsoftbus:softbus_client",
425eace7efcSopenharmony_ci    "ffrt:libffrt",
426eace7efcSopenharmony_ci    "graphic_2d:color_manager",
427eace7efcSopenharmony_ci    "hicollie:libhicollie",
428eace7efcSopenharmony_ci    "hilog:libhilog",
429eace7efcSopenharmony_ci    "hisysevent:libhisysevent",
430eace7efcSopenharmony_ci    "hitrace:hitrace_meter",
431eace7efcSopenharmony_ci    "icu:shared_icuuc",
432eace7efcSopenharmony_ci    "init:libbeget_proxy",
433eace7efcSopenharmony_ci    "init:libbegetutil",
434eace7efcSopenharmony_ci    "ipc:ipc_core",
435eace7efcSopenharmony_ci    "json:nlohmann_json_static",
436eace7efcSopenharmony_ci    "kv_store:distributeddata_inner",
437eace7efcSopenharmony_ci    "os_account:os_account_innerkits",
438eace7efcSopenharmony_ci    "relational_store:native_appdatafwk",
439eace7efcSopenharmony_ci    "relational_store:native_dataability",
440eace7efcSopenharmony_ci    "relational_store:native_rdb",
441eace7efcSopenharmony_ci    "safwk:system_ability_fwk",
442eace7efcSopenharmony_ci    "samgr:samgr_proxy",
443eace7efcSopenharmony_ci  ]
444eace7efcSopenharmony_ci
445eace7efcSopenharmony_ci  if (background_task_mgr_continuous_task_enable) {
446eace7efcSopenharmony_ci    external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ]
447eace7efcSopenharmony_ci  }
448eace7efcSopenharmony_ci
449eace7efcSopenharmony_ci  if (os_dlp_part_enabled) {
450eace7efcSopenharmony_ci    defines += [ "WITH_DLP" ]
451eace7efcSopenharmony_ci    external_deps += [ "dlp_permission_service:libdlp_permission_sdk" ]
452eace7efcSopenharmony_ci  }
453eace7efcSopenharmony_ci
454eace7efcSopenharmony_ci  if (ability_runtime_graphics) {
455eace7efcSopenharmony_ci    external_deps += [
456eace7efcSopenharmony_ci      "ability_base:session_info",
457eace7efcSopenharmony_ci      "i18n:intl_util",
458eace7efcSopenharmony_ci      "image_framework:image_native",
459eace7efcSopenharmony_ci      "resource_management:global_resmgr",
460eace7efcSopenharmony_ci      "window_manager:libdm",
461eace7efcSopenharmony_ci      "window_manager:libwm",
462eace7efcSopenharmony_ci    ]
463eace7efcSopenharmony_ci  }
464eace7efcSopenharmony_ci
465eace7efcSopenharmony_ci  cflags_cc = []
466eace7efcSopenharmony_ci  if (os_dlp_part_enabled) {
467eace7efcSopenharmony_ci    cflags_cc += [ "-DWITH_DLP" ]
468eace7efcSopenharmony_ci  }
469eace7efcSopenharmony_ci
470eace7efcSopenharmony_ci  subsystem_name = "ability"
471eace7efcSopenharmony_ci  innerapi_tags = [ "platformsdk_indirect" ]
472eace7efcSopenharmony_ci  part_name = "ability_runtime"
473eace7efcSopenharmony_ci}
474eace7efcSopenharmony_ci
475eace7efcSopenharmony_cigroup("ams_service_config") {
476eace7efcSopenharmony_ci  deps = [
477eace7efcSopenharmony_ci    ":ams_service_config.json",
478eace7efcSopenharmony_ci    ":deeplink_reserve_config.json",
479eace7efcSopenharmony_ci    ":start_ability_without_caller_token.json",
480eace7efcSopenharmony_ci    ":uiextension_picker_config.json",
481eace7efcSopenharmony_ci  ]
482eace7efcSopenharmony_ci}
483