1# Copyright (c) 2021-2025 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/config/components/idl_tool/idl.gni") 15import("//build/ohos.gni") 16import("//foundation/ability/form_fwk/form_fwk.gni") 17 18################################### libfms ######################################## 19config("formmgr_log_config") { 20 defines = [ "FMS_LOG_TAG = \"FormManagerService\"" ] 21} 22 23config("fms_idl_config") { 24 include_dirs = [ 25 "${target_gen_dir}", 26 "interfaces/inner_api/include", 27 ] 28} 29 30idl_gen_interface("form_host_delegate_interface") { 31 sources = [ "ipc_idl_gen/IFormHostDelegate.idl" ] 32 log_domainid = "0xD001301" 33 log_tag = "FormManagerService" 34 subsystem_name = "ability" 35 part_name = "form_fwk" 36} 37 38ohos_source_set("form_host_delegate_proxy") { 39 sanitize = { 40 cfi = true 41 cfi_cross_dso = true 42 debug = false 43 } 44 output_values = get_target_outputs(":form_host_delegate_interface") 45 sources = filter_include(output_values, [ "*_proxy.cpp" ]) 46 public_configs = [ ":fms_idl_config" ] 47 deps = [ ":form_host_delegate_interface" ] 48 external_deps = [ 49 "ability_base:want", 50 "bundle_framework:appexecfwk_base", 51 "c_utils:utils", 52 "hilog:libhilog", 53 "ipc:ipc_single", 54 "samgr:samgr_proxy", 55 ] 56 subsystem_name = "ability" 57 part_name = "form_fwk" 58} 59 60ohos_source_set("form_host_delegate_stub") { 61 sanitize = { 62 cfi = true 63 cfi_cross_dso = true 64 debug = false 65 } 66 output_values = get_target_outputs(":form_host_delegate_interface") 67 sources = filter_include(output_values, [ "*_stub.cpp" ]) 68 public_configs = [ ":fms_idl_config" ] 69 deps = [ ":form_host_delegate_interface" ] 70 external_deps = [ 71 "ability_base:want", 72 "bundle_framework:appexecfwk_base", 73 "c_utils:utils", 74 "hilog:libhilog", 75 "ipc:ipc_single", 76 ] 77 subsystem_name = "ability" 78 part_name = "form_fwk" 79} 80 81config("formmgr_config") { 82 include_dirs = [ 83 "services/config", 84 "services/include", 85 ] 86} 87 88ohos_shared_library("libfms") { 89 branch_protector_ret = "pac_ret" 90 91 sanitize = { 92 cfi = true 93 cfi_cross_dso = true 94 debug = false 95 } 96 97 shlib_type = "sa" 98 version_script = "libfms.map" 99 cflags_cc = [] 100 include_dirs = 101 [ "${form_fwk_napi_path}/form_host/form_state_observer/include" ] 102 103 sources = [ 104 "services/config/form_resource_param.cpp", 105 "services/config/form_xml_parser.cpp", 106 "services/src/ams_mgr/form_ams_helper.cpp", 107 "services/src/bms_mgr/form_bms_helper.cpp", 108 "services/src/bms_mgr/form_bundle_event_callback.cpp", 109 "services/src/common/connection/form_ability_connection.cpp", 110 "services/src/common/connection/form_ability_connection_reporter.cpp", 111 "services/src/common/event/form_event_handler.cpp", 112 "services/src/common/event/form_event_notify_connection.cpp", 113 "services/src/common/event/form_event_report.cpp", 114 "services/src/common/event/form_event_util.cpp", 115 "services/src/common/event/system_event/form_sys_event_receiver.cpp", 116 "services/src/common/event/system_event/form_systemload_listener.cpp", 117 "services/src/common/timer_mgr/form_refresh_limiter.cpp", 118 "services/src/common/timer_mgr/form_timer_mgr.cpp", 119 "services/src/common/util/form_dump_mgr.cpp", 120 "services/src/common/util/form_report.cpp", 121 "services/src/common/util/form_serial_queue.cpp", 122 "services/src/common/util/form_trust_mgr.cpp", 123 "services/src/common/util/form_util.cpp", 124 "services/src/common/util/mem_status_listener.cpp", 125 "services/src/data_center/database/form_db_cache.cpp", 126 "services/src/data_center/database/form_db_info.cpp", 127 "services/src/data_center/database/form_rdb_data_mgr.cpp", 128 "services/src/data_center/form_basic_info_mgr.cpp", 129 "services/src/data_center/form_cache_mgr.cpp", 130 "services/src/data_center/form_cust_config_mgr.cpp", 131 "services/src/data_center/form_data_mgr.cpp", 132 "services/src/data_center/form_data_proxy_mgr.cpp", 133 "services/src/data_center/form_data_proxy_record.cpp", 134 "services/src/data_center/form_info/form_info_mgr.cpp", 135 "services/src/data_center/form_info/form_info_rdb_storage_mgr.cpp", 136 "services/src/data_center/form_info/form_info_storage.cpp", 137 "services/src/data_center/form_info/form_item_info.cpp", 138 "services/src/data_center/form_record/form_record_report.cpp", 139 "services/src/feature/bundle_distributed/form_distributed_mgr.cpp", 140 "services/src/feature/bundle_forbidden/form_bundle_forbid_mgr.cpp", 141 "services/src/feature/bundle_lock/form_bundle_lock_mgr.cpp", 142 "services/src/feature/bundle_lock/form_exempt_lock_mgr.cpp", 143 "services/src/feature/ecological_rule/form_ecological_rule_service.cpp", 144 "services/src/feature/form_share/form_distributed_client.cpp", 145 "services/src/feature/form_share/form_free_install_operator.cpp", 146 "services/src/feature/form_share/form_share_connection.cpp", 147 "services/src/feature/form_share/form_share_mgr.cpp", 148 "services/src/feature/form_share/form_share_task_mgr.cpp", 149 "services/src/feature/free_install/free_install_status_callback_proxy.cpp", 150 "services/src/feature/free_install/free_install_status_callback_stub.cpp", 151 "services/src/feature/memory_mgr/form_render_report.cpp", 152 "services/src/feature/param_update/param_common_event.cpp", 153 "services/src/feature/param_update/param_manager.cpp", 154 "services/src/feature/param_update/param_reader.cpp", 155 "services/src/feature/param_update/sign_tools.cpp", 156 "services/src/feature/route_proxy/form_router_proxy_mgr.cpp", 157 "services/src/form_host/form_host_callback.cpp", 158 "services/src/form_host/form_host_queue.cpp", 159 "services/src/form_host/form_host_record.cpp", 160 "services/src/form_host/form_host_task_mgr.cpp", 161 "services/src/form_mgr/form_mgr_adapter.cpp", 162 "services/src/form_mgr/form_mgr_queue.cpp", 163 "services/src/form_mgr/form_mgr_service.cpp", 164 "services/src/form_observer/form_observer_record.cpp", 165 "services/src/form_observer/form_observer_task_mgr.cpp", 166 "services/src/form_observer/form_resource_observer.cpp", 167 "services/src/form_provider/connection/form_acquire_connection.cpp", 168 "services/src/form_provider/connection/form_acquire_data_connection.cpp", 169 "services/src/form_provider/connection/form_acquire_state_connection.cpp", 170 "services/src/form_provider/connection/form_background_connection.cpp", 171 "services/src/form_provider/connection/form_batch_delete_connection.cpp", 172 "services/src/form_provider/connection/form_cast_temp_connection.cpp", 173 "services/src/form_provider/connection/form_configuration_update_connection.cpp", 174 "services/src/form_provider/connection/form_delete_connection.cpp", 175 "services/src/form_provider/connection/form_location_connection.cpp", 176 "services/src/form_provider/connection/form_msg_event_connection.cpp", 177 "services/src/form_provider/connection/form_refresh_connection.cpp", 178 "services/src/form_provider/connection/form_update_size_connection.cpp", 179 "services/src/form_provider/form_provider_mgr.cpp", 180 "services/src/form_provider/form_provider_queue.cpp", 181 "services/src/form_provider/form_provider_task_mgr.cpp", 182 "services/src/form_provider/form_supply_callback.cpp", 183 "services/src/form_refresh/check_mgr/active_user_checker.cpp", 184 "services/src/form_refresh/check_mgr/add_finish_checker.cpp", 185 "services/src/form_refresh/check_mgr/calling_bundle_checker.cpp", 186 "services/src/form_refresh/check_mgr/calling_user_checker.cpp", 187 "services/src/form_refresh/check_mgr/self_form_checker.cpp", 188 "services/src/form_refresh/check_mgr/system_app_checker.cpp", 189 "services/src/form_refresh/check_mgr/untrust_app_checker.cpp", 190 "services/src/form_refresh/form_refresh_mgr.cpp", 191 "services/src/form_refresh/refresh_impl/form_data_refresh_impl.cpp", 192 "services/src/form_refresh/refresh_impl/form_force_refresh_impl.cpp", 193 "services/src/form_refresh/refresh_impl/form_host_refresh_impl.cpp", 194 "services/src/form_refresh/refresh_impl/form_net_conn_refresh_impl.cpp", 195 "services/src/form_refresh/refresh_impl/form_next_time_refresh_impl.cpp", 196 "services/src/form_refresh/refresh_impl/form_refresh_after_uncontrol_impl.cpp", 197 "services/src/form_refresh/refresh_impl/form_timer_refresh_impl.cpp", 198 "services/src/form_refresh/refresh_impl/form_app_upgrade_refresh_impl.cpp", 199 "services/src/form_refresh/strategy/refresh_cache_mgr.cpp", 200 "services/src/form_refresh/strategy/refresh_check_mgr.cpp", 201 "services/src/form_refresh/strategy/refresh_control_mgr.cpp", 202 "services/src/form_refresh/strategy/refresh_exec_mgr.cpp", 203 "services/src/form_render/form_render_connection.cpp", 204 "services/src/form_render/form_render_mgr.cpp", 205 "services/src/form_render/form_render_mgr_inner.cpp", 206 "services/src/form_render/form_render_queue.cpp", 207 "services/src/form_render/form_render_task_mgr.cpp", 208 "services/src/form_render/form_sandbox_render_mgr_inner.cpp", 209 "services/src/status_mgr_center/form_event_queue.cpp", 210 "services/src/status_mgr_center/form_event_retry_mgr.cpp", 211 "services/src/status_mgr_center/form_event_timeout_queue.cpp", 212 "services/src/status_mgr_center/form_status.cpp", 213 "services/src/status_mgr_center/form_status_mgr.cpp", 214 "services/src/status_mgr_center/form_status_queue.cpp", 215 "services/src/status_mgr_center/form_status_table.cpp", 216 "services/src/status_mgr_center/form_status_task_mgr.cpp", 217 ] 218 219 configs = [ 220 ":fms_idl_config", 221 ":formmgr_config", 222 ":formmgr_log_config", 223 ":formmgr_sdk_config", 224 ] 225 cflags = [] 226 if (target_cpu == "arm") { 227 cflags += [ "-DBINDER_IPC_32BIT" ] 228 } 229 230 deps = [ 231 ":form_config", 232 ":form_manager", 233 ] 234 235 external_deps = [ 236 "ability_base:base", 237 "ability_base:configuration", 238 "ability_base:want", 239 "ability_base:zuri", 240 "ability_runtime:ability_context_native", 241 "ability_runtime:ability_deps_wrapper", 242 "ability_runtime:ability_manager", 243 "ability_runtime:abilitykit_native", 244 "ability_runtime:app_manager", 245 "ability_runtime:appkit_native", 246 "ability_runtime:mission_info", 247 "ability_runtime:wantagent_innerkits", 248 "access_token:libaccesstoken_sdk", 249 "access_token:libtokenid_sdk", 250 "bundle_framework:appexecfwk_base", 251 "bundle_framework:appexecfwk_core", 252 "c_utils:utils", 253 "common_event_service:cesfwk_core", 254 "common_event_service:cesfwk_innerkits", 255 "data_share:datashare_common", 256 "data_share:datashare_consumer", 257 "eventhandler:libeventhandler", 258 "faultloggerd:libbacktrace_local", 259 "faultloggerd:libdfx_dumpcatcher", 260 "ffrt:libffrt", 261 "hicollie:libhicollie", 262 "hilog:libhilog", 263 "hisysevent:libhisysevent", 264 "hitrace:hitrace_meter", 265 "init:libbeget_proxy", 266 "init:libbegetutil", 267 "ipc:ipc_core", 268 "kv_store:distributeddata_inner", 269 "libxml2:libxml2", 270 "netmanager_base:net_conn_manager_if", 271 "openssl:libcrypto_shared", 272 "os_account:os_account_innerkits", 273 "relational_store:native_rdb", 274 "resource_management:global_resmgr", 275 "safwk:system_ability_fwk", 276 "samgr:samgr_proxy", 277 "time_service:time_client", 278 "window_manager:libwsutils", 279 ] 280 281 if (cite_memmgr) { 282 external_deps += [ "memmgr:memmgrclient" ] 283 cflags_cc += [ "-DMEM_MGR_ENABLE" ] 284 } 285 286 if (theme_mgr_enable) { 287 external_deps += [ "theme_mgr:theme_manager_client" ] 288 cflags_cc += [ "-DTHEME_MGR_ENABLE" ] 289 } 290 291 defines = [] 292 if (form_runtime_power) { 293 defines = [ "SUPPORT_POWER" ] 294 external_deps += [ "power_manager:powermgr_client" ] 295 } 296 297 if (device_usage_statistics) { 298 external_deps += [ "device_usage_statistics:usagestatsinner" ] 299 defines += [ "DEVICE_USAGE_STATISTICS_ENABLE" ] 300 } 301 302 if (form_fwk_watch_api_disable) { 303 defines += [ "WATCH_API_DISABLE" ] 304 } 305 306 if (res_schedule_service && !form_fwk_watch_api_disable) { 307 external_deps += [ "resource_schedule_service:ressched_client" ] 308 defines += [ "RES_SCHEDULE_ENABLE" ] 309 } 310 311 if (build_variant == "root") { 312 defines += [ "FORM_EVENT_FOR_TEST" ] 313 } 314 315 subsystem_name = "ability" 316 part_name = "form_fwk" 317} 318 319################################### fmskit_native ######################################## 320config("fmskit_config") { 321 defines = [ "FMS_LOG_TAG = \"FmskitNative\"" ] 322} 323 324config("fmskit_public_config") { 325 include_dirs = [ 326 "interfaces/kits/native/include", 327 "interfaces/inner_api/include", 328 ] 329} 330 331ohos_shared_library("fmskit_native") { 332 sanitize = { 333 cfi = true 334 cfi_cross_dso = true 335 debug = false 336 } 337 configs = [ 338 ":fmskit_config", 339 ":fms_idl_config", 340 ] 341 public_configs = [ ":fmskit_public_config" ] 342 sources = [ 343 "interfaces/kits/native/src/form_caller_mgr.cpp", 344 "interfaces/kits/native/src/form_errors.cpp", 345 "interfaces/kits/native/src/form_host_caller.cpp", 346 "interfaces/kits/native/src/form_host_client.cpp", 347 "interfaces/kits/native/src/form_mgr.cpp", 348 "interfaces/kits/native/src/form_provider_caller.cpp", 349 ] 350 351 cflags = [] 352 if (target_cpu == "arm") { 353 cflags += [ "-DBINDER_IPC_32BIT" ] 354 } 355 356 deps = [ ":form_manager" ] 357 358 external_deps = [ 359 "ability_base:want", 360 "ability_runtime:extensionkit_native", 361 "c_utils:utils", 362 "eventhandler:libeventhandler", 363 "hilog:libhilog", 364 "hitrace:hitrace_meter", 365 "ipc:ipc_core", 366 "samgr:samgr_proxy", 367 ] 368 369 public_external_deps = [ 370 "ability_runtime:abilitykit_native", 371 "bundle_framework:appexecfwk_base", 372 ] 373 374 subsystem_name = "ability" 375 innerapi_tags = [ "platformsdk" ] 376 part_name = "form_fwk" 377 378 defines = [] 379 if (form_fwk_watch_api_disable) { 380 defines += [ "WATCH_API_DISABLE" ] 381 } 382 if (hiappevent_global_part_enabled) { 383 defines += [ "NO_RUNTIME_EMULATOR" ] 384 } 385} 386 387################################### fmskit_provider_client ######################################## 388config("fmskit_provider_config") { 389 defines = [ "FMS_LOG_TAG = \"FmskitNative\"" ] 390} 391 392config("fmskit_provider_public_config") { 393 include_dirs = [ 394 "interfaces/kits/native/include", 395 "interfaces/inner_api/include", 396 ] 397} 398 399ohos_shared_library("fmskit_provider_client") { 400 sanitize = { 401 cfi = true 402 cfi_cross_dso = true 403 debug = false 404 } 405 configs = [ ":fmskit_provider_config" ] 406 public_configs = [ ":fmskit_provider_public_config" ] 407 sources = [ "interfaces/kits/native/src/form_provider_client.cpp" ] 408 409 cflags = [] 410 if (target_cpu == "arm") { 411 cflags += [ "-DBINDER_IPC_32BIT" ] 412 } 413 414 deps = [ 415 ":fmskit_native", 416 ":form_manager", 417 ] 418 419 external_deps = [ 420 "ability_base:want", 421 "ability_runtime:ability_connect_callback_stub", 422 "ability_runtime:abilitykit_native", 423 "c_utils:utils", 424 "eventhandler:libeventhandler", 425 "hilog:libhilog", 426 "hitrace:hitrace_meter", 427 "ipc:ipc_core", 428 "napi:ace_napi", 429 "samgr:samgr_proxy", 430 ] 431 432 subsystem_name = "ability" 433 innerapi_tags = [ "platformsdk" ] 434 part_name = "form_fwk" 435} 436 437################################### form_manager ######################################## 438config("formmgr_sdk_config") { 439 visibility = [ ":*" ] 440 include_dirs = [ "interfaces/inner_api/include/" ] 441 cflags = [] 442 if (target_cpu == "arm") { 443 cflags += [ "-DBINDER_IPC_32BIT" ] 444 } 445} 446 447ohos_shared_library("form_manager") { 448 branch_protector_ret = "pac_ret" 449 450 include_dirs = [] 451 sanitize = { 452 cfi = true 453 cfi_cross_dso = true 454 debug = false 455 } 456 457 sources = [ 458 "interfaces/inner_api/src/form_ashmem.cpp", 459 "interfaces/inner_api/src/form_ecological_rule_param.cpp", 460 "interfaces/inner_api/src/form_event_hiappevent.cpp", 461 "interfaces/inner_api/src/form_host_proxy.cpp", 462 "interfaces/inner_api/src/form_host_stub.cpp", 463 "interfaces/inner_api/src/form_info_filter.cpp", 464 "interfaces/inner_api/src/form_instance.cpp", 465 "interfaces/inner_api/src/form_instances_filter.cpp", 466 "interfaces/inner_api/src/form_js_info.cpp", 467 "interfaces/inner_api/src/form_lock_info.cpp", 468 "interfaces/inner_api/src/form_mgr_proxy.cpp", 469 "interfaces/inner_api/src/form_mgr_stub.cpp", 470 "interfaces/inner_api/src/form_provider_data.cpp", 471 "interfaces/inner_api/src/form_provider_info.cpp", 472 "interfaces/inner_api/src/form_provider_proxy.cpp", 473 "interfaces/inner_api/src/form_provider_stub.cpp", 474 "interfaces/inner_api/src/form_publish_interceptor_proxy.cpp", 475 "interfaces/inner_api/src/form_publish_interceptor_stub.cpp", 476 "interfaces/inner_api/src/form_render_proxy.cpp", 477 "interfaces/inner_api/src/form_render_stub.cpp", 478 "interfaces/inner_api/src/form_share_info.cpp", 479 "interfaces/inner_api/src/form_status_print.cpp", 480 "interfaces/inner_api/src/form_supply_proxy.cpp", 481 "interfaces/inner_api/src/form_supply_stub.cpp", 482 "interfaces/inner_api/src/js_form_state_observer_proxy.cpp", 483 "interfaces/inner_api/src/js_form_state_observer_stub.cpp", 484 "interfaces/inner_api/src/provider_connect_proxy.cpp", 485 "interfaces/inner_api/src/provider_connect_stub.cpp", 486 "interfaces/inner_api/src/running_form_info.cpp", 487 ] 488 489 configs = [ ":formmgr_log_config" ] 490 491 public_configs = [ 492 ":formmgr_sdk_config", 493 ":formmgr_config", 494 ] 495 496 deps = [ 497 ":form_host_delegate_proxy", 498 ":form_host_delegate_stub", 499 ] 500 501 external_deps = [ 502 "ability_base:want", 503 "ability_runtime:ability_manager", 504 "ability_runtime:app_manager", 505 "ability_runtime:runtime", 506 "bundle_framework:appexecfwk_base", 507 "c_utils:utils", 508 "eventhandler:libeventhandler", 509 "hicollie:libhicollie", 510 "hilog:libhilog", 511 "ipc:ipc_core", 512 "ipc:ipc_single", 513 "jsoncpp:jsoncpp", 514 "napi:ace_napi", 515 "os_account:os_account_innerkits", 516 "samgr:samgr_proxy", 517 ] 518 519 subsystem_name = "ability" 520 innerapi_tags = [ "platformsdk" ] 521 part_name = "form_fwk" 522 523 defines = [] 524 if (hiappevent_global_part_enabled) { 525 defines += [ "NO_RUNTIME_EMULATOR" ] 526 527 external_deps += [ "hiappevent:hiappevent_innerapi" ] 528 } 529} 530 531ohos_prebuilt_etc("form_config") { 532 source = "services/config/form_config.xml" 533 module_install_dir = "etc/form" 534 part_name = "form_fwk" 535 subsystem_name = "ability" 536} 537 538group("form_napi_packages") { 539 if (ability_runtime_graphics) { 540 deps = [ 541 "${form_fwk_napi_path}:form_edit_extension", 542 "${form_fwk_napi_path}:form_edit_extension_module", 543 "${form_fwk_napi_path}:formagent", 544 "${form_fwk_napi_path}:formbindingdata", 545 "${form_fwk_napi_path}:formbindingdata_napi", 546 "${form_fwk_napi_path}:formeditextensionability_napi", 547 "${form_fwk_napi_path}:formeditextensioncontext_napi", 548 "${form_fwk_napi_path}:formerror_napi", 549 "${form_fwk_napi_path}:formextension_napi", 550 "${form_fwk_napi_path}:formextensionability", 551 "${form_fwk_napi_path}:formextensioncontext_napi", 552 "${form_fwk_napi_path}:formhost", 553 "${form_fwk_napi_path}:formhost_napi", 554 "${form_fwk_napi_path}:forminfo", 555 "${form_fwk_napi_path}:forminfo_napi", 556 "${form_fwk_napi_path}:formobserver", 557 "${form_fwk_napi_path}:formprovider", 558 "${form_fwk_napi_path}:formprovider_napi", 559 "${form_fwk_napi_path}:formutil_napi", 560 "${form_fwk_napi_path}:live_form_extension", 561 "${form_fwk_napi_path}:live_form_extension_module", 562 "${form_fwk_napi_path}:liveformextensionability_napi", 563 "${form_fwk_napi_path}:liveformextensioncontext_napi", 564 ] 565 } 566} 567 568group("form_ani_packages") { 569 deps = [] 570 if (ability_runtime_graphics) { 571 deps += [ 572 "${form_fwk_ani_path}/form_binding_data:formBindingData_ani", 573 "${form_fwk_ani_path}/form_binding_data:form_binding_data_etc", 574 "${form_fwk_ani_path}/form_error:form_error_etc", 575 "${form_fwk_ani_path}/form_info:form_info_etc", 576 "${form_fwk_ani_path}/form_provider:formProvider_ani", 577 "${form_fwk_ani_path}/form_provider:form_provider_etc", 578 ] 579 } 580} 581 582group("fms_innerkits_target") { 583 if (ability_runtime_graphics) { 584 deps = [ ":form_manager" ] 585 } 586} 587 588group("fms_target") { 589 deps = [ 590 ":libfms", 591 "services/form_render_service:formrender_service_hap", 592 ] 593} 594 595group("fms_services_target") { 596 if (ability_runtime_graphics) { 597 deps = [ ":fms_target" ] 598 } 599} 600