1# Copyright (c) 2021-2023 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("//foundation/ability/form_fwk/form_fwk.gni") 17 18################################### libfms ######################################## 19config("formmgr_log_config") { 20 defines = [ "FMS_LOG_TAG = \"FormManagerService\"" ] 21} 22 23config("formmgr_config") { 24 include_dirs = [ 25 "services/config", 26 "services/include", 27 "//third_party/json/include", 28 ] 29} 30 31ohos_shared_library("libfms") { 32 shlib_type = "sa" 33 version_script = "libfms.map" 34 cflags_cc = [] 35 include_dirs = [ 36 "${ability_runtime_path}/services/common/include", 37 "${ability_runtime_native_path}/appkit/ability_runtime", 38 "${form_fwk_napi_path}/form_host/form_state_observer/include", 39 "${init_path}/interfaces/innerkits/include/syspara/", 40 ] 41 42 sources = [ 43 "services/config/form_xml_parser.cpp", 44 "services/src/form_ability_connection.cpp", 45 "services/src/form_acquire_connection.cpp", 46 "services/src/form_acquire_data_connection.cpp", 47 "services/src/form_acquire_state_connection.cpp", 48 "services/src/form_ams_helper.cpp", 49 "services/src/form_background_connection.cpp", 50 "services/src/form_batch_delete_connection.cpp", 51 "services/src/form_bms_helper.cpp", 52 "services/src/form_bundle_event_callback.cpp", 53 "services/src/form_cache_mgr.cpp", 54 "services/src/form_cast_temp_connection.cpp", 55 "services/src/form_data_mgr.cpp", 56 "services/src/form_data_proxy_mgr.cpp", 57 "services/src/form_data_proxy_record.cpp", 58 "services/src/form_db_cache.cpp", 59 "services/src/form_db_info.cpp", 60 "services/src/form_delete_connection.cpp", 61 "services/src/form_distributed_client.cpp", 62 "services/src/form_dump_mgr.cpp", 63 "services/src/form_ecological_rule_service.cpp", 64 "services/src/form_event_handler.cpp", 65 "services/src/form_event_notify_connection.cpp", 66 "services/src/form_event_report.cpp", 67 "services/src/form_event_util.cpp", 68 "services/src/form_free_install_operator.cpp", 69 "services/src/form_host_callback.cpp", 70 "services/src/form_host_record.cpp", 71 "services/src/form_info_mgr.cpp", 72 "services/src/form_info_rdb_storage_mgr.cpp", 73 "services/src/form_info_storage.cpp", 74 "services/src/form_info_storage_mgr.cpp", 75 "services/src/form_item_info.cpp", 76 "services/src/form_mgr_adapter.cpp", 77 "services/src/form_mgr_service.cpp", 78 "services/src/form_msg_event_connection.cpp", 79 "services/src/form_observer_record.cpp", 80 "services/src/form_provider_mgr.cpp", 81 "services/src/form_rdb_data_mgr.cpp", 82 "services/src/form_refresh_connection.cpp", 83 "services/src/form_refresh_limiter.cpp", 84 "services/src/form_render_connection.cpp", 85 "services/src/form_render_mgr.cpp", 86 "services/src/form_render_mgr_inner.cpp", 87 "services/src/form_router_proxy_mgr.cpp", 88 "services/src/form_sandbox_render_mgr_inner.cpp", 89 "services/src/form_serial_queue.cpp", 90 "services/src/form_share_connection.cpp", 91 "services/src/form_share_mgr.cpp", 92 "services/src/form_supply_callback.cpp", 93 "services/src/form_sys_event_receiver.cpp", 94 "services/src/form_task_mgr.cpp", 95 "services/src/form_timer_mgr.cpp", 96 "services/src/form_trust_mgr.cpp", 97 "services/src/form_util.cpp", 98 "services/src/free_install_status_callback_proxy.cpp", 99 "services/src/free_install_status_callback_stub.cpp", 100 "services/src/mem_status_listener.cpp", 101 ] 102 103 configs = [ 104 ":formmgr_config", 105 ":formmgr_log_config", 106 ":formmgr_sdk_config", 107 ] 108 cflags = [] 109 if (target_cpu == "arm") { 110 cflags += [ "-DBINDER_IPC_32BIT" ] 111 } 112 113 deps = [ 114 "${form_fwk_path}:form_config", 115 "${form_fwk_path}:form_manager", 116 "//third_party/libxml2:libxml2", 117 ] 118 119 external_deps = [ 120 "ability_base:base", 121 "ability_base:want", 122 "ability_base:zuri", 123 "ability_runtime:ability_deps_wrapper", 124 "ability_runtime:ability_manager", 125 "ability_runtime:app_manager", 126 "ability_runtime:wantagent_innerkits", 127 "access_token:libaccesstoken_sdk", 128 "access_token:libtokenid_sdk", 129 "bundle_framework:appexecfwk_base", 130 "bundle_framework:appexecfwk_core", 131 "c_utils:utils", 132 "common_event_service:cesfwk_core", 133 "common_event_service:cesfwk_innerkits", 134 "data_share:datashare_common", 135 "data_share:datashare_consumer", 136 "eventhandler:libeventhandler", 137 "ffrt:libffrt", 138 "hicollie:libhicollie", 139 "hilog:libhilog", 140 "hisysevent:libhisysevent", 141 "hitrace:hitrace_meter", 142 "init:libbegetutil", 143 "ipc:ipc_core", 144 "kv_store:distributeddata_inner", 145 "os_account:os_account_innerkits", 146 "relational_store:native_rdb", 147 "resource_management:global_resmgr", 148 "safwk:system_ability_fwk", 149 "samgr:samgr_proxy", 150 "time_service:time_client", 151 ] 152 153 if (cite_memmgr_plugin) { 154 external_deps += [ "memmgr_plugin:memmgrclient" ] 155 } else if (cite_memmgr) { 156 external_deps += [ "memmgr:memmgrclient" ] 157 } 158 159 defines = [] 160 if (ability_runtime_power) { 161 defines = [ "SUPPORT_POWER" ] 162 external_deps += [ "power_manager:powermgr_client" ] 163 } 164 165 if (device_usage_statistics) { 166 external_deps += [ "device_usage_statistics:usagestatsinner" ] 167 defines += [ "DEVICE_USAGE_STATISTICS_ENABLE" ] 168 } 169 170 if (build_variant == "root") { 171 defines += [ "FORM_EVENT_FOR_TEST" ] 172 } 173 174 subsystem_name = "ability" 175 part_name = "form_fwk" 176} 177 178################################### fmskit_native ######################################## 179config("fmskit_config") { 180 defines = [ "FMS_LOG_TAG = \"FmskitNative\"" ] 181} 182 183config("fmskit_public_config") { 184 include_dirs = [ 185 "interfaces/kits/native/include", 186 "${ability_runtime_path}/services/common/include", 187 "${form_fwk_path}/interfaces/inner_api/include", 188 "${bundlefwk_inner_api_path}/appexecfwk_base/include", 189 ] 190} 191 192ohos_shared_library("fmskit_native") { 193 configs = [ ":fmskit_config" ] 194 public_configs = [ ":fmskit_public_config" ] 195 sources = [ 196 "interfaces/kits/native/src/form_caller_mgr.cpp", 197 "interfaces/kits/native/src/form_errors.cpp", 198 "interfaces/kits/native/src/form_host_caller.cpp", 199 "interfaces/kits/native/src/form_host_client.cpp", 200 "interfaces/kits/native/src/form_mgr.cpp", 201 "interfaces/kits/native/src/form_provider_caller.cpp", 202 "interfaces/kits/native/src/form_provider_client.cpp", 203 ] 204 205 cflags = [] 206 if (target_cpu == "arm") { 207 cflags += [ "-DBINDER_IPC_32BIT" ] 208 } 209 210 deps = [ ":form_manager" ] 211 212 external_deps = [ 213 "ability_base:want", 214 "ability_runtime:abilitykit_native", 215 "c_utils:utils", 216 "eventhandler:libeventhandler", 217 "hilog:libhilog", 218 "hitrace:hitrace_meter", 219 "ipc:ipc_core", 220 "napi:ace_napi", 221 "samgr:samgr_proxy", 222 ] 223 224 subsystem_name = "ability" 225 innerapi_tags = [ "platformsdk" ] 226 part_name = "form_fwk" 227} 228 229################################### form_manager ######################################## 230config("formmgr_sdk_config") { 231 visibility = [ ":*" ] 232 include_dirs = [ 233 "interfaces/inner_api/include/", 234 "//third_party/json/include", 235 "${ability_base_kits_path}/configuration/include", 236 "${ability_runtime_path}/interfaces/kits/native/ability/native", 237 "${ability_runtime_innerapi_path}/ability_manager/include", 238 "${ability_runtime_innerapi_path}/app_manager/include/appmgr", 239 "${ability_runtime_path}/services/common/include", 240 ] 241 cflags = [] 242 if (target_cpu == "arm") { 243 cflags += [ "-DBINDER_IPC_32BIT" ] 244 } 245} 246 247ohos_shared_library("form_manager") { 248 include_dirs = [ "${ability_runtime_innerapi_path}/runtime/include" ] 249 250 sources = [ 251 "interfaces/inner_api/src/form_ashmem.cpp", 252 "interfaces/inner_api/src/form_ecological_rule_param.cpp", 253 "interfaces/inner_api/src/form_host_delegate_proxy.cpp", 254 "interfaces/inner_api/src/form_host_delegate_stub.cpp", 255 "interfaces/inner_api/src/form_host_proxy.cpp", 256 "interfaces/inner_api/src/form_host_stub.cpp", 257 "interfaces/inner_api/src/form_info_filter.cpp", 258 "interfaces/inner_api/src/form_instance.cpp", 259 "interfaces/inner_api/src/form_instances_filter.cpp", 260 "interfaces/inner_api/src/form_js_info.cpp", 261 "interfaces/inner_api/src/form_mgr_proxy.cpp", 262 "interfaces/inner_api/src/form_mgr_stub.cpp", 263 "interfaces/inner_api/src/form_provider_data.cpp", 264 "interfaces/inner_api/src/form_provider_info.cpp", 265 "interfaces/inner_api/src/form_provider_proxy.cpp", 266 "interfaces/inner_api/src/form_provider_stub.cpp", 267 "interfaces/inner_api/src/form_publish_interceptor_proxy.cpp", 268 "interfaces/inner_api/src/form_publish_interceptor_stub.cpp", 269 "interfaces/inner_api/src/form_render_proxy.cpp", 270 "interfaces/inner_api/src/form_render_stub.cpp", 271 "interfaces/inner_api/src/form_share_info.cpp", 272 "interfaces/inner_api/src/form_supply_proxy.cpp", 273 "interfaces/inner_api/src/form_supply_stub.cpp", 274 "interfaces/inner_api/src/js_form_state_observer_proxy.cpp", 275 "interfaces/inner_api/src/js_form_state_observer_stub.cpp", 276 "interfaces/inner_api/src/provider_connect_proxy.cpp", 277 "interfaces/inner_api/src/provider_connect_stub.cpp", 278 "interfaces/inner_api/src/running_form_info.cpp", 279 ] 280 281 configs = [ ":formmgr_log_config" ] 282 283 public_configs = [ 284 ":formmgr_sdk_config", 285 "${form_fwk_path}:formmgr_config", 286 ] 287 288 deps = [ "//third_party/jsoncpp:jsoncpp" ] 289 290 external_deps = [ 291 "ability_base:want", 292 "bundle_framework:appexecfwk_base", 293 "c_utils:utils", 294 "hilog:libhilog", 295 "ipc:ipc_core", 296 "napi:ace_napi", 297 "samgr:samgr_proxy", 298 ] 299 300 subsystem_name = "ability" 301 innerapi_tags = [ "platformsdk" ] 302 part_name = "form_fwk" 303} 304 305ohos_prebuilt_etc("form_config") { 306 source = "services/config/form_config.xml" 307 module_install_dir = "etc/form" 308 part_name = "form_fwk" 309 subsystem_name = "ability" 310} 311 312group("form_napi_packages") { 313 if (ability_runtime_graphics) { 314 deps = [ 315 "${form_fwk_napi_path}:formagent", 316 "${form_fwk_napi_path}:formbindingdata", 317 "${form_fwk_napi_path}:formbindingdata_napi", 318 "${form_fwk_napi_path}:formerror_napi", 319 "${form_fwk_napi_path}:formextension_napi", 320 "${form_fwk_napi_path}:formextensionability", 321 "${form_fwk_napi_path}:formextensioncontext_napi", 322 "${form_fwk_napi_path}:formhost", 323 "${form_fwk_napi_path}:formhost_napi", 324 "${form_fwk_napi_path}:forminfo", 325 "${form_fwk_napi_path}:forminfo_napi", 326 "${form_fwk_napi_path}:formobserver", 327 "${form_fwk_napi_path}:formprovider", 328 "${form_fwk_napi_path}:formprovider_napi", 329 "${form_fwk_napi_path}:formutil_napi", 330 ] 331 } 332} 333 334group("fms_innerkits_target") { 335 if (ability_runtime_graphics) { 336 deps = [ ":form_manager" ] 337 } 338} 339 340group("fms_target") { 341 deps = [ 342 ":libfms", 343 "services/form_render_service:formrender_service_hap", 344 ] 345} 346 347group("fms_services_target") { 348 if (ability_runtime_graphics) { 349 deps = [ ":fms_target" ] 350 } 351} 352