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