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