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("//build/ohos_var.gni") 16import("//foundation/ability/dmsfwk/dmsfwk.gni") 17 18group("unittest") { 19 testonly = true 20 deps = [ "test:unittest" ] 21} 22 23config("distributed_sched_config") { 24 visibility = [ ":*" ] 25 visibility += [ "./test/*" ] 26 include_dirs = [ 27 "include", 28 "${dms_path}/common/include", 29 "${dms_path}/interfaces/kits/napi/include", 30 "${dms_path}/interfaces/innerkits/common/include", 31 "include/collaborate", 32 "include/continue", 33 "include/continue/state", 34 "include/continue/state/source_state", 35 "include/continue/state/sink_state", 36 "include/distributedWant", 37 "include/softbus_adapter/transport", 38 "include/softbus_adapter/allconnectmgr", 39 ] 40 defines = [] 41 if (dmsfwk_mission_manager) { 42 defines += [ "SUPPORT_DISTRIBUTED_MISSION_MANAGER" ] 43 } 44 if (dmsfwk_report_memmgr || dmsfwk_report_memmgr_plugins) { 45 defines += [ "SUPPORT_DISTRIBUTEDCOMPONENT_TO_MEMMGR" ] 46 } 47 if (dmsfwk_standard_form_share) { 48 defines += [ "SUPPORT_DISTRIBUTED_FORM_SHARE" ] 49 } 50 if (efficiency_manager_service_enable) { 51 defines += [ "EFFICIENCY_MANAGER_ENABLE" ] 52 } 53 if (dmsfwk_service_disable) { 54 defines += [ "DMS_SERVICE_DISABLE" ] 55 } 56 if (os_account_part) { 57 defines += [ "OS_ACCOUNT_PART" ] 58 } 59 if (dmsfwk_ces_listener) { 60 defines += [ "SUPPORT_COMMON_EVENT_SERVICE" ] 61 } 62 if (dmsfwk_mmi_listener) { 63 defines += [ "SUPPORT_MULTIMODALINPUT_SERVICE" ] 64 } 65 if (use_libfuzzer || use_clang_coverage) { 66 defines += [ "TEST_COVERAGE" ] 67 } 68} 69 70ohos_shared_library("distributedschedsvr") { 71 branch_protector_ret = "pac_ret" 72 sanitize = { 73 cfi = true 74 cfi_cross_dso = true 75 debug = false 76 } 77 78 install_enable = true 79 80 if (!dmsfwk_softbus_adapter_common) { 81 cflags = [ 82 "-DDMSFWK_SAME_ACCOUNT", 83 "-DDMSFWK_INTERACTIVE_ADAPTER", 84 "-DDMSFWK_ALL_CONNECT_MGR", 85 ] 86 } 87 88 sources = [ 89 "src/ability_connection_wrapper_proxy.cpp", 90 "src/ability_connection_wrapper_stub.cpp", 91 "src/adapter/dnetwork_adapter.cpp", 92 "src/app_state_observer.cpp", 93 "src/bundle/bundle_manager_callback_stub.cpp", 94 "src/bundle/bundle_manager_internal.cpp", 95 "src/collaborate/dsched_collaborate_callback_mgr.cpp", 96 "src/connect_death_recipient.cpp", 97 "src/continue/dsched_continue.cpp", 98 "src/continue/dsched_continue_event.cpp", 99 "src/continue/dsched_continue_event_handler.cpp", 100 "src/continue/dsched_continue_manager.cpp", 101 "src/continue/state/dsched_continue_state_machine.cpp", 102 "src/continue/state/sink_state/dsched_continue_data_state.cpp", 103 "src/continue/state/sink_state/dsched_continue_sink_end_state.cpp", 104 "src/continue/state/sink_state/dsched_continue_sink_start_state.cpp", 105 "src/continue/state/sink_state/dsched_continue_sink_wait_end_state.cpp", 106 "src/continue/state/source_state/dsched_continue_ability_state.cpp", 107 "src/continue/state/source_state/dsched_continue_source_end_state.cpp", 108 "src/continue/state/source_state/dsched_continue_source_start_state.cpp", 109 "src/continue/state/source_state/dsched_continue_source_wait_end_state.cpp", 110 "src/continue_scene_session_handler.cpp", 111 "src/datashare_manager.cpp", 112 "src/deviceManager/dms_device_info.cpp", 113 "src/dfx/distributed_radar.cpp", 114 "src/dfx/distributed_sched_dumper.cpp", 115 "src/dfx/distributed_ue.cpp", 116 "src/dfx/dms_continue_time_dumper.cpp", 117 "src/dfx/dms_hisysevent_report.cpp", 118 "src/dfx/dms_hitrace_chain.cpp", 119 "src/distributedWant/distributed_operation.cpp", 120 "src/distributedWant/distributed_operation_builder.cpp", 121 "src/distributedWant/distributed_want.cpp", 122 "src/distributedWant/distributed_want_params.cpp", 123 "src/distributedWant/distributed_want_params_wrapper.cpp", 124 "src/distributed_device_node_listener.cpp", 125 "src/distributed_event_died_listener.cpp", 126 "src/distributed_sched_adapter.cpp", 127 "src/distributed_sched_continuation.cpp", 128 "src/distributed_sched_permission.cpp", 129 "src/distributed_sched_proxy.cpp", 130 "src/distributed_sched_service.cpp", 131 "src/distributed_sched_stub.cpp", 132 "src/dms_callback_task.cpp", 133 "src/dms_free_install_callback.cpp", 134 "src/dms_free_install_callback_proxy.cpp", 135 "src/dms_free_install_callback_stub.cpp", 136 "src/dms_token_callback.cpp", 137 "src/dms_version_manager.cpp", 138 "src/dtbschedmgr_device_info_storage.cpp", 139 "src/softbus_adapter/allconnectmgr/dsched_all_connect_manager.cpp", 140 "src/softbus_adapter/transport/dsched_data_buffer.cpp", 141 "src/softbus_adapter/transport/dsched_softbus_session.cpp", 142 "src/softbus_adapter/transport/dsched_transport_softbus_adapter.cpp", 143 "src/switch_status_dependency.cpp", 144 ] 145 146 if (!dmsfwk_softbus_adapter_common) { 147 sources += [ "src/softbus_adapter/softbus_adapter.cpp" ] 148 } else { 149 sources += [ "src/softbus_adapter/softbus_adapter_common.cpp" ] 150 } 151 152 configs = [ 153 ":distributed_sched_config", 154 "//foundation/ability/dmsfwk/services/dtbschedmgr/test/resource:coverage_flags", 155 ] 156 157 deps = [ "${dms_path}/common:distributed_sched_utils" ] 158 159 external_deps = [ 160 "ability_base:base", 161 "ability_base:want", 162 "ability_base:zuri", 163 "ability_runtime:ability_manager", 164 "ability_runtime:app_manager", 165 "ability_runtime:dataobs_manager", 166 "ability_runtime:mission_info", 167 "access_token:libaccesstoken_sdk", 168 "access_token:libtokensetproc_shared", 169 "bundle_framework:appexecfwk_base", 170 "bundle_framework:appexecfwk_core", 171 "cJSON:cjson", 172 "c_utils:utils", 173 "data_share:datashare_consumer", 174 "device_auth:deviceauth_sdk", 175 "device_info_manager:distributed_device_profile_common", 176 "device_info_manager:distributed_device_profile_sdk", 177 "device_manager:devicemanagersdk", 178 "device_security_level:dslm_sdk", 179 "distributed_bundle_framework:dbms_fwk", 180 "dsoftbus:softbus_client", 181 "eventhandler:libeventhandler", 182 "hilog:libhilog", 183 "hisysevent:libhisysevent", 184 "hitrace:hitrace_meter", 185 "hitrace:libhitracechain", 186 "init:libbegetutil", 187 "ipc:ipc_core", 188 "kv_store:distributeddata_inner", 189 "os_account:libaccountkits", 190 "safwk:system_ability_fwk", 191 "samgr:samgr_proxy", 192 "wifi:wifi_sdk", 193 "window_manager:libwsutils", 194 "window_manager:scene_session", 195 "window_manager:session_manager_lite", 196 ] 197 if (os_account_part) { 198 external_deps += [ "os_account:os_account_innerkits" ] 199 } 200 201 if (efficiency_manager_service_enable) { 202 external_deps += [ "resource_schedule_service:ressched_client" ] 203 } 204 205 if (dmsfwk_standard_form_share) { 206 external_deps += [ "form_fwk:form_manager" ] 207 sources += [ "src/form_mgr_death_recipient.cpp" ] 208 } 209 210 if (dmsfwk_mission_manager) { 211 sources += [ 212 "src/mission/distributed_bm_storage.cpp", 213 "src/mission/distributed_bundle_info.cpp", 214 "src/mission/distributed_data_change_listener.cpp", 215 "src/mission/distributed_data_storage.cpp", 216 "src/mission/distributed_mission_broadcast_listener.cpp", 217 "src/mission/distributed_mission_change_listener.cpp", 218 "src/mission/distributed_mission_died_listener.cpp", 219 "src/mission/distributed_mission_focused_listener.cpp", 220 "src/mission/distributed_mission_info.cpp", 221 "src/mission/distributed_sched_mission_manager.cpp", 222 "src/mission/dms_continue_recv_manager.cpp", 223 "src/mission/dms_continue_send_manager.cpp", 224 "src/mission/dsched_sync_e2e.cpp", 225 "src/mission/kvstore_death_recipient.cpp", 226 "src/mission/mission_changed_notify.cpp", 227 "src/mission/mission_info_converter.cpp", 228 "src/mission/snapshot.cpp", 229 "src/mission/snapshot_converter.cpp", 230 "src/mission/wifi_state_adapter.cpp", 231 "src/mission/wifi_state_listener.cpp", 232 ] 233 external_deps += [ 234 "config_policy:configpolicy_util", 235 "image_framework:image_native", 236 ] 237 } 238 239 if (dmsfwk_report_memmgr) { 240 external_deps += [ "memmgr:memmgrclient" ] 241 } 242 243 if (dmsfwk_report_memmgr_plugins) { 244 external_deps += [ "memmgr_override:memmgrclient" ] 245 } 246 247 if (dmsfwk_ces_listener) { 248 external_deps += [ "common_event_service:cesfwk_innerkits" ] 249 sources += [ "src/common_event_listener.cpp" ] 250 } 251 252 if (dmsfwk_mmi_listener) { 253 external_deps += [ "input:libmmi-client" ] 254 sources += [ "src/adapter/mmi_adapter.cpp" ] 255 } else { 256 sources += [ "src/adapter/mmi_adapter_common.cpp" ] 257 } 258 259 install_images = [ system_base_dir ] 260 relative_install_dir = "platformsdk" 261 part_name = "dmsfwk" 262 subsystem_name = "ability" 263} 264