1# Copyright (c) 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("//base/notification/distributed_notification_service/notification.gni") 15import("//build/ohos.gni") 16 17group("reminder_service") { 18 deps = [ ":libreminder" ] 19} 20 21config("public_reminder_config") { 22 include_dirs = [ 23 "${services_path}/reminder/include", 24 "${core_path}/include", 25 ] 26} 27 28ohos_source_set("reminder_service_sources") { 29 sanitize = { 30 integer_overflow = true 31 ubsan = true 32 boundary_sanitize = true 33 cfi = true 34 cfi_cross_dso = true 35 debug = false 36 } 37 38 cflags = [ 39 "-fno-math-errno", 40 "-fno-unroll-loops", 41 "-fmerge-all-constants", 42 "-fno-ident", 43 "-Oz", 44 "-flto", 45 "-ffunction-sections", 46 "-fdata-sections", 47 ] 48 49 include_dirs = [ "${services_path}/reminder/include" ] 50 51 defines = [] 52 53 sources = [ 54 "src/reminder_agent_service.cpp", 55 "src/reminder_agent_service_ability.cpp", 56 "src/reminder_bundle_manager_helper.cpp", 57 "src/reminder_config_change_observer.cpp", 58 "src/reminder_data_manager.cpp", 59 "src/reminder_data_manager_inner.cpp", 60 "src/reminder_datashare_helper.cpp", 61 "src/reminder_event_manager.cpp", 62 "src/reminder_store.cpp", 63 "src/reminder_store_strategy.cpp", 64 "src/reminder_table.cpp", 65 "src/reminder_table_old.cpp", 66 "src/reminder_timer_info.cpp", 67 ] 68 69 deps = [ 70 "${frameworks_module_ans_path}:ans_innerkits", 71 "${frameworks_module_reminder_path}:reminder_innerkits", 72 ] 73 74 if (is_double_framework) { 75 cflags += [ "-DCONFIG_DUAL_FRAMEWORK" ] 76 } 77 78 if (distributed_notification_supported) { 79 defines += [ "DISTRIBUTED_NOTIFICATION_SUPPORTED" ] 80 deps += [ "${services_path}/distributed:libans_distributed" ] 81 include_dirs += [ "${services_path}/distributed/include" ] 82 } 83 84 if (notification_smart_reminder_supported) { 85 defines += [ "NOTIFICATION_SMART_REMINDER_SUPPORTED" ] 86 } 87 88 external_deps = [ 89 "ability_base:configuration", 90 "ability_runtime:ability_manager", 91 "ability_runtime:app_manager", 92 "ability_runtime:appkit_native", 93 "ability_runtime:dataobs_manager", 94 "ability_runtime:extension_manager", 95 "ability_runtime:wantagent_innerkits", 96 "access_token:libaccesstoken_sdk", 97 "access_token:libtokenid_sdk", 98 "bundle_framework:appexecfwk_base", 99 "bundle_framework:appexecfwk_core", 100 "c_utils:utils", 101 "common_event_service:cesfwk_innerkits", 102 "config_policy:configpolicy_util", 103 "data_share:datashare_common", 104 "data_share:datashare_consumer", 105 "data_share:datashare_permission", 106 "device_manager:devicemanagersdk", 107 "ffrt:libffrt", 108 "i18n:intl_util", 109 "image_framework:image_native", 110 "init:libbegetutil", 111 "kv_store:distributeddata_inner", 112 "openssl:libcrypto_shared", 113 "os_account:os_account_innerkits", 114 "relational_store:native_rdb", 115 "resource_management:global_resmgr", 116 "time_service:time_client", 117 ] 118 external_deps += component_external_deps 119 120 if (device_usage) { 121 external_deps += [ "device_usage_statistics:usagestatsinner" ] 122 defines += [ "DEVICE_USAGE_STATISTICS_ENABLE" ] 123 } 124 125 if (hisysevent_usage) { 126 cflags += [ "-DHAS_HISYSEVENT_PART" ] 127 external_deps += [ "hisysevent:libhisysevent" ] 128 } 129 130 if (standby_enable) { 131 external_deps += [ "device_standby:standby_innerkits" ] 132 defines += [ "DEVICE_STANDBY_ENABLE" ] 133 } 134 135 if (player_framework) { 136 external_deps += [ "player_framework:media_client" ] 137 external_deps += [ "audio_framework:audio_client" ] 138 external_deps += [ "player_framework:system_sound_client" ] 139 defines += [ "PLAYER_FRAMEWORK_ENABLE" ] 140 } 141 142 if (ans_hitrace_usage) { 143 external_deps += [ "hitrace:hitrace_meter" ] 144 defines += [ "HITRACE_METER_ENABLE" ] 145 } 146 147 if (ans_config_policy_enable) { 148 external_deps += [ "config_policy:configpolicy_util" ] 149 defines += [ "CONFIG_POLICY_ENABLE" ] 150 } 151 152 if (screenlock_mgr_enable) { 153 external_deps += [ "screenlock_mgr:screenlock_client" ] 154 defines += [ "SCREENLOCK_MGR_ENABLE" ] 155 } 156 157 if (distributed_notification_service_feature_summary) { 158 defines += [ "ENABLE_ANS_EXT_WRAPPER" ] 159 } 160 161 if (telephony_cust) { 162 defines += [ "ENABLE_ANS_TELEPHONY_CUST_WRAPPER" ] 163 } 164 165 if (distributed_notification_service_feature_disable_fa_model) { 166 defines += [ "ANS_DISABLE_FA_MODEL" ] 167 } 168 169 if (is_emulator) { 170 defines += [ "IS_EMULATOR" ] 171 } 172 subsystem_name = "${subsystem_name}" 173 part_name = "${component_name}" 174} 175 176ohos_shared_library("libreminder") { 177 sanitize = { 178 integer_overflow = true 179 ubsan = true 180 boundary_sanitize = true 181 cfi = true 182 cfi_cross_dso = true 183 debug = false 184 } 185 branch_protector_ret = "pac_ret" 186 187 shlib_type = "sa" 188 version_script = "libreminder.map" 189 cflags = [ 190 "-fno-math-errno", 191 "-fno-unroll-loops", 192 "-fmerge-all-constants", 193 "-fno-ident", 194 "-Oz", 195 "-flto", 196 "-ffunction-sections", 197 "-fdata-sections", 198 ] 199 sources = [] 200 201 configs = [ ":public_reminder_config" ] 202 203 defines = [] 204 205 if (is_double_framework) { 206 cflags += [ "-DCONFIG_DUAL_FRAMEWORK" ] 207 } 208 209 deps = [ "${services_path}/reminder:reminder_service_sources" ] 210 211 if (distributed_notification_supported) { 212 deps += [ "${services_path}/distributed:libans_distributed" ] 213 } 214 215 external_deps = [ 216 "ability_base:configuration", 217 "ability_runtime:ability_manager", 218 "ability_runtime:app_manager", 219 "ability_runtime:appkit_native", 220 "ability_runtime:dataobs_manager", 221 "ability_runtime:extension_manager", 222 "ability_runtime:wantagent_innerkits", 223 "access_token:libaccesstoken_sdk", 224 "access_token:libtokenid_sdk", 225 "bundle_framework:appexecfwk_base", 226 "bundle_framework:appexecfwk_core", 227 "c_utils:utils", 228 "common_event_service:cesfwk_innerkits", 229 "config_policy:configpolicy_util", 230 "data_share:datashare_common", 231 "data_share:datashare_consumer", 232 "data_share:datashare_permission", 233 "device_manager:devicemanagersdk", 234 "ffrt:libffrt", 235 "i18n:intl_util", 236 "image_framework:image_native", 237 "init:libbegetutil", 238 "kv_store:distributeddata_inner", 239 "openssl:libcrypto_shared", 240 "os_account:os_account_innerkits", 241 "relational_store:native_rdb", 242 "resource_management:global_resmgr", 243 "time_service:time_client", 244 ] 245 external_deps += component_external_deps 246 247 if (device_usage) { 248 external_deps += [ "device_usage_statistics:usagestatsinner" ] 249 } 250 251 if (hisysevent_usage) { 252 cflags += [ "-DHAS_HISYSEVENT_PART" ] 253 external_deps += [ "hisysevent:libhisysevent" ] 254 } 255 256 if (standby_enable) { 257 external_deps += [ "device_standby:standby_innerkits" ] 258 } 259 260 if (player_framework) { 261 external_deps += [ "player_framework:media_client" ] 262 } 263 264 if (ans_hitrace_usage) { 265 external_deps += [ "hitrace:hitrace_meter" ] 266 } 267 268 if (ans_config_policy_enable) { 269 external_deps += [ "config_policy:configpolicy_util" ] 270 } 271 272 if (screenlock_mgr_enable) { 273 external_deps += [ "screenlock_mgr:screenlock_client" ] 274 } 275 276 subsystem_name = "${subsystem_name}" 277 part_name = "${component_name}" 278} 279 280# for unittest 281ohos_static_library("libreminder_static") { 282 sanitize = { 283 integer_overflow = true 284 ubsan = true 285 boundary_sanitize = true 286 cfi = true 287 cfi_cross_dso = true 288 debug = false 289 } 290 branch_protector_ret = "pac_ret" 291 292 cflags = [ 293 "-fno-math-errno", 294 "-fno-unroll-loops", 295 "-fmerge-all-constants", 296 "-fno-ident", 297 "-Oz", 298 "-flto", 299 "-ffunction-sections", 300 "-fdata-sections", 301 ] 302 sources = [] 303 304 configs = [ ":public_reminder_config" ] 305 306 defines = [] 307 308 if (is_double_framework) { 309 cflags += [ "-DCONFIG_DUAL_FRAMEWORK" ] 310 } 311 312 deps = [ "${services_path}/reminder:reminder_service_sources" ] 313 314 if (distributed_notification_supported) { 315 deps += [ "${services_path}/distributed:libans_distributed" ] 316 } 317 318 external_deps = [ 319 "ability_base:configuration", 320 "ability_runtime:ability_manager", 321 "ability_runtime:app_manager", 322 "ability_runtime:appkit_native", 323 "ability_runtime:dataobs_manager", 324 "ability_runtime:extension_manager", 325 "ability_runtime:wantagent_innerkits", 326 "access_token:libaccesstoken_sdk", 327 "access_token:libtokenid_sdk", 328 "bundle_framework:appexecfwk_base", 329 "bundle_framework:appexecfwk_core", 330 "c_utils:utils", 331 "common_event_service:cesfwk_innerkits", 332 "config_policy:configpolicy_util", 333 "data_share:datashare_common", 334 "data_share:datashare_consumer", 335 "data_share:datashare_permission", 336 "device_manager:devicemanagersdk", 337 "ffrt:libffrt", 338 "i18n:intl_util", 339 "image_framework:image_native", 340 "init:libbegetutil", 341 "kv_store:distributeddata_inner", 342 "openssl:libcrypto_shared", 343 "os_account:os_account_innerkits", 344 "relational_store:native_rdb", 345 "resource_management:global_resmgr", 346 "time_service:time_client", 347 ] 348 external_deps += component_external_deps 349 350 if (device_usage) { 351 external_deps += [ "device_usage_statistics:usagestatsinner" ] 352 } 353 354 if (hisysevent_usage) { 355 cflags += [ "-DHAS_HISYSEVENT_PART" ] 356 external_deps += [ "hisysevent:libhisysevent" ] 357 } 358 359 if (standby_enable) { 360 external_deps += [ "device_standby:standby_innerkits" ] 361 } 362 363 if (player_framework) { 364 external_deps += [ "player_framework:media_client" ] 365 } 366 367 if (ans_hitrace_usage) { 368 external_deps += [ "hitrace:hitrace_meter" ] 369 } 370 371 if (ans_config_policy_enable) { 372 external_deps += [ "config_policy:configpolicy_util" ] 373 } 374 375 if (screenlock_mgr_enable) { 376 external_deps += [ "screenlock_mgr:screenlock_client" ] 377 } 378 379 subsystem_name = "${subsystem_name}" 380 part_name = "${component_name}" 381} 382