1020a203aSopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd. 2020a203aSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3020a203aSopenharmony_ci# you may not use this file except in compliance with the License. 4020a203aSopenharmony_ci# You may obtain a copy of the License at 5020a203aSopenharmony_ci# 6020a203aSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7020a203aSopenharmony_ci# 8020a203aSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9020a203aSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10020a203aSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11020a203aSopenharmony_ci# See the License for the specific language governing permissions and 12020a203aSopenharmony_ci# limitations under the License. 13020a203aSopenharmony_ciimport("//base/hiviewdfx/hiview/hiview.gni") 14020a203aSopenharmony_ciimport("//build/ohos.gni") 15020a203aSopenharmony_ci 16020a203aSopenharmony_ciif (enable_hiview_usage_event_report_build) { 17020a203aSopenharmony_ci config("usage_event_report_config") { 18020a203aSopenharmony_ci visibility = [ "*:*" ] 19020a203aSopenharmony_ci include_dirs = [ 20020a203aSopenharmony_ci "cache/include", 21020a203aSopenharmony_ci "event/include", 22020a203aSopenharmony_ci "include", 23020a203aSopenharmony_ci ] 24020a203aSopenharmony_ci 25020a203aSopenharmony_ci if (power_manager_enable) { 26020a203aSopenharmony_ci include_dirs += [ "idl/include" ] 27020a203aSopenharmony_ci } 28020a203aSopenharmony_ci } 29020a203aSopenharmony_ci 30020a203aSopenharmony_ci ohos_source_set("usage_event_report") { 31020a203aSopenharmony_ci branch_protector_ret = "pac_ret" 32020a203aSopenharmony_ci sanitize = { 33020a203aSopenharmony_ci cfi = true 34020a203aSopenharmony_ci cfi_cross_dso = true 35020a203aSopenharmony_ci cfi_vcall_icall_only = true 36020a203aSopenharmony_ci debug = false 37020a203aSopenharmony_ci } 38020a203aSopenharmony_ci configs = [ ":usage_event_report_config" ] 39020a203aSopenharmony_ci 40020a203aSopenharmony_ci sources = [ 41020a203aSopenharmony_ci "cache/event_db_helper.cpp", 42020a203aSopenharmony_ci "cache/fold_app_usage_db_helper.cpp", 43020a203aSopenharmony_ci "cache/fold_app_usage_event_factory.cpp", 44020a203aSopenharmony_ci "cache/fold_event_cacher.cpp", 45020a203aSopenharmony_ci "cache/json_parser.cpp", 46020a203aSopenharmony_ci "cache/usage_event_cacher.cpp", 47020a203aSopenharmony_ci "event/fold_app_usage_event.cpp", 48020a203aSopenharmony_ci "event/sys_usage_event.cpp", 49020a203aSopenharmony_ci "usage_event_report.cpp", 50020a203aSopenharmony_ci ] 51020a203aSopenharmony_ci 52020a203aSopenharmony_ci if (power_manager_enable) { 53020a203aSopenharmony_ci sources += [ "idl/hiview_shutdown_callback.cpp" ] 54020a203aSopenharmony_ci } 55020a203aSopenharmony_ci 56020a203aSopenharmony_ci deps = [ 57020a203aSopenharmony_ci "$hiview_base:hiviewbase", 58020a203aSopenharmony_ci "config:usageEventPipeline", 59020a203aSopenharmony_ci ] 60020a203aSopenharmony_ci 61020a203aSopenharmony_ci external_deps = [ 62020a203aSopenharmony_ci "ability_runtime:ability_manager", 63020a203aSopenharmony_ci "ability_runtime:app_manager", 64020a203aSopenharmony_ci "bounds_checking_function:libsec_shared", 65020a203aSopenharmony_ci "bundle_framework:appexecfwk_base", 66020a203aSopenharmony_ci "bundle_framework:appexecfwk_core", 67020a203aSopenharmony_ci "ffrt:libffrt", 68020a203aSopenharmony_ci "hilog:libhilog", 69020a203aSopenharmony_ci "hisysevent:libhisysevent", 70020a203aSopenharmony_ci "ipc:ipc_single", 71020a203aSopenharmony_ci "jsoncpp:jsoncpp", 72020a203aSopenharmony_ci "relational_store:native_rdb", 73020a203aSopenharmony_ci "samgr:samgr_proxy", 74020a203aSopenharmony_ci "window_manager:libdm", 75020a203aSopenharmony_ci ] 76020a203aSopenharmony_ci 77020a203aSopenharmony_ci defines = [] 78020a203aSopenharmony_ci if (power_manager_enable) { 79020a203aSopenharmony_ci external_deps += [ "power_manager:powermgr_client" ] 80020a203aSopenharmony_ci defines += [ "POWER_MANAGER_ENABLE" ] 81020a203aSopenharmony_ci } 82020a203aSopenharmony_ci 83020a203aSopenharmony_ci part_name = "hiview" 84020a203aSopenharmony_ci subsystem_name = "hiviewdfx" 85020a203aSopenharmony_ci } 86020a203aSopenharmony_ci 87020a203aSopenharmony_ci ohos_source_set("usage_event_report_for_test") { 88020a203aSopenharmony_ci configs = [ ":usage_event_report_config" ] 89020a203aSopenharmony_ci 90020a203aSopenharmony_ci sources = [ 91020a203aSopenharmony_ci "cache/event_db_helper.cpp", 92020a203aSopenharmony_ci "cache/fold_app_usage_db_helper.cpp", 93020a203aSopenharmony_ci "cache/fold_app_usage_event_factory.cpp", 94020a203aSopenharmony_ci "cache/fold_event_cacher.cpp", 95020a203aSopenharmony_ci "cache/json_parser.cpp", 96020a203aSopenharmony_ci "cache/usage_event_cacher.cpp", 97020a203aSopenharmony_ci "event/fold_app_usage_event.cpp", 98020a203aSopenharmony_ci "event/sys_usage_event.cpp", 99020a203aSopenharmony_ci "usage_event_report.cpp", 100020a203aSopenharmony_ci ] 101020a203aSopenharmony_ci 102020a203aSopenharmony_ci if (power_manager_enable) { 103020a203aSopenharmony_ci sources += [ "idl/hiview_shutdown_callback.cpp" ] 104020a203aSopenharmony_ci } 105020a203aSopenharmony_ci 106020a203aSopenharmony_ci deps = [ 107020a203aSopenharmony_ci "$hiview_base:hiviewbase", 108020a203aSopenharmony_ci "config:usageEventPipeline", 109020a203aSopenharmony_ci ] 110020a203aSopenharmony_ci 111020a203aSopenharmony_ci external_deps = [ 112020a203aSopenharmony_ci "ability_runtime:ability_manager", 113020a203aSopenharmony_ci "ability_runtime:app_manager", 114020a203aSopenharmony_ci "bounds_checking_function:libsec_shared", 115020a203aSopenharmony_ci "bundle_framework:appexecfwk_base", 116020a203aSopenharmony_ci "bundle_framework:appexecfwk_core", 117020a203aSopenharmony_ci "ffrt:libffrt", 118020a203aSopenharmony_ci "hilog:libhilog", 119020a203aSopenharmony_ci "hisysevent:libhisysevent", 120020a203aSopenharmony_ci "ipc:ipc_single", 121020a203aSopenharmony_ci "jsoncpp:jsoncpp", 122020a203aSopenharmony_ci "relational_store:native_rdb", 123020a203aSopenharmony_ci "samgr:samgr_proxy", 124020a203aSopenharmony_ci "window_manager:libdm", 125020a203aSopenharmony_ci ] 126020a203aSopenharmony_ci 127020a203aSopenharmony_ci defines = [] 128020a203aSopenharmony_ci if (power_manager_enable) { 129020a203aSopenharmony_ci external_deps += [ "power_manager:powermgr_client" ] 130020a203aSopenharmony_ci defines += [ "POWER_MANAGER_ENABLE" ] 131020a203aSopenharmony_ci } 132020a203aSopenharmony_ci 133020a203aSopenharmony_ci part_name = "hiview" 134020a203aSopenharmony_ci subsystem_name = "hiviewdfx" 135020a203aSopenharmony_ci } 136020a203aSopenharmony_ci} else { 137020a203aSopenharmony_ci ohos_source_set("usage_event_report") { 138020a203aSopenharmony_ci } 139020a203aSopenharmony_ci 140020a203aSopenharmony_ci ohos_source_set("usage_event_report_for_test") { 141020a203aSopenharmony_ci } 142020a203aSopenharmony_ci} 143020a203aSopenharmony_ci 144020a203aSopenharmony_cigroup("unittest") { 145020a203aSopenharmony_ci testonly = true 146020a203aSopenharmony_ci deps = [] 147020a203aSopenharmony_ci 148020a203aSopenharmony_ci if (enable_hiview_usage_event_report_build) { 149020a203aSopenharmony_ci deps += [ 150020a203aSopenharmony_ci "test/unittest:FoldAppUsageTest", 151020a203aSopenharmony_ci "test/unittest:UsageEventReportCacheTest", 152020a203aSopenharmony_ci "test/unittest:UsageEventReportTest", 153020a203aSopenharmony_ci ] 154020a203aSopenharmony_ci } 155020a203aSopenharmony_ci} 156020a203aSopenharmony_ci 157020a203aSopenharmony_cigroup("moduletest") { 158020a203aSopenharmony_ci testonly = true 159020a203aSopenharmony_ci deps = [] 160020a203aSopenharmony_ci} 161