• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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