1# Copyright (c) 2022-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/test.gni") 16import("../ressched.gni") 17 18config("ressched_config") { 19 include_dirs = [ 20 "${ressched_common}/include", 21 "resschedmgr/resschedfwk/include", 22 "resschedmgr/pluginbase/include", 23 ] 24} 25 26config("resschedsvc_public_config") { 27 include_dirs = [ 28 "${ressched_common}/include", 29 "resschedmgr/resschedfwk/include", 30 "resschedmgr/pluginbase/include", 31 ] 32} 33 34config("resschedsvc_private_config") { 35 include_dirs = [ 36 "resschedservice/include", 37 "../scene_recognize/include", 38 "../sched_controller/common_event/include", 39 "../sched_controller/observer/include", 40 ] 41} 42 43ohos_shared_library("resschedsvc") { 44 configs = [ ":resschedsvc_private_config" ] 45 46 cflags_cc = [ 47 "-fdata-sections", 48 "-ffunction-sections", 49 "-fstack-protector-strong", 50 "-Os", 51 ] 52 53 public_configs = [ 54 ":resschedsvc_public_config", 55 "${ressched_interfaces}/innerkits/ressched_client:client_public_config", 56 ] 57 58 defines = [] 59 include_dirs = [ "../common/include" ] 60 61 sources = [ 62 "../scene_recognize/src/background_sensitive_task_overlapping_scene_recognizer.cpp", 63 "../scene_recognize/src/continuous_app_install_recognizer.cpp", 64 "../scene_recognize/src/scene_recognizer_mgr.cpp", 65 "../scene_recognize/src/slide_recognizer.cpp", 66 "../scene_recognize/src/system_upgrade_scene_recognizer.cpp", 67 "../sched_controller/common_event/src/event_controller.cpp", 68 "../sched_controller/observer/src/account_observer.cpp", 69 "../sched_controller/observer/src/audio_observer.cpp", 70 "../sched_controller/observer/src/connection_subscriber.cpp", 71 "../sched_controller/observer/src/download_upload_observer.cpp", 72 "../sched_controller/observer/src/fold_display_mode_observer.cpp", 73 "../sched_controller/observer/src/mmi_observer.cpp", 74 "../sched_controller/observer/src/observer_manager.cpp", 75 "resschedmgr/resschedfwk/src/config_reader.cpp", 76 "resschedmgr/resschedfwk/src/event_listener_mgr.cpp", 77 "resschedmgr/resschedfwk/src/kill_process.cpp", 78 "resschedmgr/resschedfwk/src/notifier_mgr.cpp", 79 "resschedmgr/resschedfwk/src/plugin_mgr.cpp", 80 "resschedmgr/resschedfwk/src/plugin_switch.cpp", 81 "resschedmgr/resschedfwk/src/res_sched_mgr.cpp", 82 "resschedservice/src/res_sched_service.cpp", 83 "resschedservice/src/res_sched_service_ability.cpp", 84 ] 85 86 deps = [ 87 "${ressched_interfaces}/innerkits/ressched_client:res_sched_service_stub", 88 "${ressched_interfaces}/innerkits/ressched_client:ressched_client", 89 "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client", 90 "../common:ressched_common_utils", 91 ] 92 93 external_deps = [ 94 "ability_base:want", 95 "ability_runtime:ability_manager", 96 "ability_runtime:app_manager", 97 "ability_runtime:connection_obs_manager", 98 "ability_runtime:wantagent_innerkits", 99 "access_token:libaccesstoken_sdk", 100 "access_token:libtokenid_sdk", 101 "background_task_mgr:bgtaskmgr_innerkits", 102 "bundle_framework:appexecfwk_base", 103 "bundle_framework:appexecfwk_core", 104 "common_event_service:cesfwk_innerkits", 105 "config_policy:configpolicy_util", 106 "ffrt:libffrt", 107 "hilog:libhilog", 108 "hisysevent:libhisysevent", 109 "hitrace:hitrace_meter", 110 "init:libbegetutil", 111 "ipc:ipc_single", 112 "libxml2:libxml2", 113 "os_account:os_account_innerkits", 114 "safwk:system_ability_fwk", 115 "samgr:samgr_proxy", 116 "window_manager:libdm", 117 "window_manager:libwm_lite", 118 ] 119 120 public_external_deps = [ 121 "c_utils:utils", 122 "eventhandler:libeventhandler", 123 "json:nlohmann_json_static", 124 ] 125 126 if (resource_schedule_service_hisysevent_enable) { 127 defines += [ "RESOURCE_SCHEDULE_SERVICE_HISYSEVENT_ENABLE" ] 128 external_deps += [ "hisysevent:libhisyseventmanager" ] 129 sources += [ 130 "../sched_controller/observer/src/hisysevent_observer.cpp", 131 "../sched_controller/observer/src/mmi_observer.cpp", 132 ] 133 } 134 if (device_movement_perception_enable) { 135 defines += [ "DEVICE_MOVEMENT_PERCEPTION_ENABLE" ] 136 external_deps += [ "movement:movement_client" ] 137 sources += 138 [ "../sched_controller/observer/src/device_movement_observer.cpp" ] 139 } 140 if (ressched_with_telephony_state_registry_enable) { 141 defines += [ "RESSCHED_TELEPHONY_STATE_REGISTRY_ENABLE" ] 142 external_deps += [ 143 "core_service:tel_core_service_api", 144 "state_registry:tel_state_registry_api", 145 ] 146 sources += 147 [ "../sched_controller/observer/src/sched_telephony_observer.cpp" ] 148 } 149 if (communication_bluetooth_perception_enable) { 150 defines += [ "RESSCHED_COMMUNICATION_BLUETOOTH_ENABLE" ] 151 external_deps += [ "bluetooth:btframework" ] 152 } 153 if (ressched_with_resourceschedule_multimedia_audio_framework_enable) { 154 defines += [ "RESSCHED_AUDIO_FRAMEWORK_ENABLE" ] 155 external_deps += [ "audio_framework:audio_client" ] 156 } 157 if (ressched_with_resourceschedule_multimedia_av_session_enable) { 158 defines += [ "RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE" ] 159 sources += 160 [ "../sched_controller/observer/src/av_session_state_listener.cpp" ] 161 external_deps += [ "av_session:avsession_client" ] 162 } 163 if (resource_schedule_service_with_ffrt_enable) { 164 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ] 165 } 166 if (resource_schedule_service_with_ext_res_enable) { 167 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_EXT_RES_ENABLE" ] 168 } 169 if (rss_request_enable) { 170 defines += [ "RESOURCE_REQUEST_REQUEST" ] 171 external_deps += [ "request:request_native" ] 172 } 173 if (rss_mmi_enable) { 174 defines += [ "MMI_ENABLE" ] 175 external_deps += [ "input:libmmi-client" ] 176 } 177 if (ressched_with_resourceschedule_soc_perf_enable && 178 resource_schedule_service_file_copy_soc_perf_enable) { 179 defines += [ "RESSCHED_RESOURCESCHEDULE_FILE_COPY_SOC_PERF_ENABLE" ] 180 } 181 external_deps += [ "data_share:datashare_consumer" ] 182 183 version_script = "libresschedsvc.versionscript" 184 shlib_type = "sa" 185 subsystem_name = "resourceschedule" 186 part_name = "resource_schedule_service" 187 branch_protector_ret = "pac_ret" 188 189 sanitize = { 190 cfi = true 191 cfi_cross_dso = true 192 debug = false 193 } 194} 195 196# for unittest 197ohos_static_library("resschedsvc_static") { 198 configs = [] 199 200 public_configs = [ 201 ":resschedsvc_private_config", 202 ":resschedsvc_public_config", 203 "${ressched_interfaces}/innerkits/ressched_client:client_public_config", 204 ] 205 206 defines = [] 207 208 include_dirs = [ "../common/include" ] 209 210 sources = [ 211 "../scene_recognize/src/background_sensitive_task_overlapping_scene_recognizer.cpp", 212 "../scene_recognize/src/continuous_app_install_recognizer.cpp", 213 "../scene_recognize/src/scene_recognizer_mgr.cpp", 214 "../scene_recognize/src/slide_recognizer.cpp", 215 "../scene_recognize/src/system_upgrade_scene_recognizer.cpp", 216 "../sched_controller/common_event/src/event_controller.cpp", 217 "../sched_controller/observer/src/account_observer.cpp", 218 "../sched_controller/observer/src/audio_observer.cpp", 219 "../sched_controller/observer/src/connection_subscriber.cpp", 220 "../sched_controller/observer/src/download_upload_observer.cpp", 221 "../sched_controller/observer/src/fold_display_mode_observer.cpp", 222 "../sched_controller/observer/src/observer_manager.cpp", 223 "resschedmgr/resschedfwk/src/config_reader.cpp", 224 "resschedmgr/resschedfwk/src/event_listener_mgr.cpp", 225 "resschedmgr/resschedfwk/src/kill_process.cpp", 226 "resschedmgr/resschedfwk/src/notifier_mgr.cpp", 227 "resschedmgr/resschedfwk/src/plugin_mgr.cpp", 228 "resschedmgr/resschedfwk/src/plugin_switch.cpp", 229 "resschedmgr/resschedfwk/src/res_sched_mgr.cpp", 230 "resschedservice/src/res_sched_service.cpp", 231 "resschedservice/src/res_sched_service_ability.cpp", 232 ] 233 234 deps = [ 235 "${ressched_interfaces}/innerkits/ressched_client:res_sched_service_stub", 236 "${ressched_interfaces}/innerkits/ressched_client:ressched_client", 237 "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client", 238 "../common:ressched_common_utils", 239 ] 240 241 public_external_deps = [ 242 "eventhandler:libeventhandler", 243 "libxml2:libxml2", 244 "safwk:system_ability_fwk", 245 ] 246 247 external_deps = [ 248 "ability_base:want", 249 "ability_runtime:app_manager", 250 "ability_runtime:connection_obs_manager", 251 "ability_runtime:dataobs_manager", 252 "ability_runtime:wantagent_innerkits", 253 "access_token:libaccesstoken_sdk", 254 "access_token:libtokenid_sdk", 255 "background_task_mgr:bgtaskmgr_innerkits", 256 "bundle_framework:appexecfwk_base", 257 "bundle_framework:appexecfwk_core", 258 "c_utils:utils", 259 "common_event_service:cesfwk_innerkits", 260 "config_policy:configpolicy_util", 261 "ffrt:libffrt", 262 "hilog:libhilog", 263 "hisysevent:libhisysevent", 264 "hitrace:hitrace_meter", 265 "init:libbegetutil", 266 "ipc:ipc_single", 267 "jsoncpp:jsoncpp", 268 "os_account:os_account_innerkits", 269 "samgr:samgr_proxy", 270 "window_manager:libdm", 271 "window_manager:libwm_lite", 272 ] 273 274 if (resource_schedule_service_hisysevent_enable) { 275 defines += [ "RESOURCE_SCHEDULE_SERVICE_HISYSEVENT_ENABLE" ] 276 external_deps += [ "hisysevent:libhisyseventmanager" ] 277 sources += [ 278 "../sched_controller/observer/src/hisysevent_observer.cpp", 279 "../sched_controller/observer/src/mmi_observer.cpp", 280 ] 281 } 282 if (device_movement_perception_enable) { 283 defines += [ "DEVICE_MOVEMENT_PERCEPTION_ENABLE" ] 284 external_deps += [ "movement:movement_client" ] 285 sources += 286 [ "../sched_controller/observer/src/device_movement_observer.cpp" ] 287 } 288 if (ressched_with_telephony_state_registry_enable) { 289 defines += [ "RESSCHED_TELEPHONY_STATE_REGISTRY_ENABLE" ] 290 external_deps += [ 291 "core_service:tel_core_service_api", 292 "state_registry:tel_state_registry_api", 293 ] 294 sources += 295 [ "../sched_controller/observer/src/sched_telephony_observer.cpp" ] 296 } 297 if (communication_bluetooth_perception_enable) { 298 defines += [ "RESSCHED_COMMUNICATION_BLUETOOTH_ENABLE" ] 299 external_deps += [ "bluetooth:btframework" ] 300 } 301 if (ressched_with_resourceschedule_multimedia_audio_framework_enable) { 302 defines += [ "RESSCHED_AUDIO_FRAMEWORK_ENABLE" ] 303 external_deps += [ "audio_framework:audio_client" ] 304 } 305 if (ressched_with_resourceschedule_multimedia_av_session_enable) { 306 defines += [ "RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE" ] 307 sources += 308 [ "../sched_controller/observer/src/av_session_state_listener.cpp" ] 309 external_deps += [ "av_session:avsession_client" ] 310 } 311 if (resource_schedule_service_with_ext_res_enable) { 312 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_EXT_RES_ENABLE" ] 313 } 314 if (rss_request_enable) { 315 defines += [ "RESOURCE_REQUEST_REQUEST" ] 316 external_deps += [ "request:request_native" ] 317 } 318 if (resource_schedule_service_with_ffrt_enable) { 319 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ] 320 } 321 if (ressched_with_resourceschedule_soc_perf_enable && 322 resource_schedule_service_file_copy_soc_perf_enable) { 323 defines += [ "RESSCHED_RESOURCESCHEDULE_FILE_COPY_SOC_PERF_ENABLE" ] 324 } 325 external_deps += [ "data_share:datashare_consumer" ] 326 if (rss_mmi_enable) { 327 defines += [ "MMI_ENABLE" ] 328 external_deps += [ "input:libmmi-client" ] 329 } 330 331 subsystem_name = "resourceschedule" 332 part_name = "resource_schedule_service" 333 branch_protector_ret = "pac_ret" 334 335 sanitize = { 336 cfi = true 337 cfi_cross_dso = true 338 debug = false 339 } 340} 341