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