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. 13import("//base/hiviewdfx/hiview/hiview.gni") 14import("//build/ohos.gni") 15 16if (enable_hiview_usage_event_report_build) { 17 config("usage_event_report_config") { 18 visibility = [ "*:*" ] 19 include_dirs = [ 20 "cache/include", 21 "event/include", 22 "fold/include", 23 "include", 24 ] 25 26 if (power_manager_enable) { 27 include_dirs += [ "idl/include" ] 28 } 29 30 if (hiview_usage_fold_stat_enable) { 31 include_dirs += [ 32 "fold/cache/include", 33 "fold/event/include", 34 ] 35 } 36 } 37 38 ohos_source_set("usage_event_report") { 39 branch_protector_ret = "pac_ret" 40 sanitize = { 41 cfi = true 42 cfi_cross_dso = true 43 cfi_vcall_icall_only = true 44 debug = false 45 } 46 configs = [ ":usage_event_report_config" ] 47 48 sources = [ 49 "cache/event_db_helper.cpp", 50 "cache/json_parser.cpp", 51 "cache/usage_event_cacher.cpp", 52 "event/sys_usage_event.cpp", 53 "usage_event_report.cpp", 54 ] 55 56 if (power_manager_enable) { 57 sources += [ "idl/hiview_shutdown_callback.cpp" ] 58 } 59 60 deps = [ 61 "$hiview_base:hiviewbase", 62 "config:usageEventPipeline", 63 ] 64 65 external_deps = [ 66 "bounds_checking_function:libsec_shared", 67 "c_utils:utils", 68 "ffrt:libffrt", 69 "hilog:libhilog", 70 "hisysevent:libhisysevent", 71 "ipc:ipc_single", 72 "jsoncpp:jsoncpp", 73 "relational_store:native_rdb", 74 "samgr:samgr_proxy", 75 ] 76 77 defines = [] 78 if (power_manager_enable) { 79 external_deps += [ "power_manager:powermgr_client" ] 80 defines += [ "POWER_MANAGER_ENABLE" ] 81 } 82 83 if (hiview_usage_fold_stat_enable) { 84 sources += [ 85 "fold/cache/fold_app_usage_db_helper.cpp", 86 "fold/cache/fold_app_usage_event_factory.cpp", 87 "fold/cache/fold_common_utils.cpp", 88 "fold/cache/fold_event_cacher.cpp", 89 "fold/event/fold_app_usage_event.cpp", 90 "fold/usage_fold_event_report.cpp", 91 ] 92 93 external_deps += [ 94 "bundle_framework:appexecfwk_base", 95 "bundle_framework:appexecfwk_core", 96 "window_manager:libdm", 97 "window_manager:libwm", 98 ] 99 100 defines += [ "USAGE_FOLD_STAT_ENABLE" ] 101 } 102 103 part_name = "hiview" 104 subsystem_name = "hiviewdfx" 105 } 106 107 config("usage_fold_event_report_config_for_test") { 108 visibility = [ "*:*" ] 109 include_dirs = [ 110 "fold/cache/include", 111 "fold/event/include", 112 ] 113 } 114 115 ohos_source_set("usage_event_report_for_test") { 116 configs = [ 117 ":usage_fold_event_report_config_for_test", 118 ":usage_event_report_config", 119 ] 120 121 sources = [ 122 "cache/event_db_helper.cpp", 123 "cache/json_parser.cpp", 124 "cache/usage_event_cacher.cpp", 125 "event/sys_usage_event.cpp", 126 "fold/cache/fold_app_usage_db_helper.cpp", 127 "fold/cache/fold_app_usage_event_factory.cpp", 128 "fold/cache/fold_common_utils.cpp", 129 "fold/cache/fold_event_cacher.cpp", 130 "fold/event/fold_app_usage_event.cpp", 131 "usage_event_report.cpp", 132 ] 133 134 if (power_manager_enable) { 135 sources += [ "idl/hiview_shutdown_callback.cpp" ] 136 } 137 138 deps = [ 139 "$hiview_base:hiviewbase", 140 "config:usageEventPipeline", 141 ] 142 143 external_deps = [ 144 "bounds_checking_function:libsec_shared", 145 "bundle_framework:appexecfwk_base", 146 "bundle_framework:appexecfwk_core", 147 "c_utils:utils", 148 "ffrt:libffrt", 149 "hilog:libhilog", 150 "hisysevent:libhisysevent", 151 "ipc:ipc_single", 152 "jsoncpp:jsoncpp", 153 "relational_store:native_rdb", 154 "samgr:samgr_proxy", 155 "window_manager:libdm", 156 "window_manager:libwm", 157 ] 158 159 defines = [] 160 if (power_manager_enable) { 161 external_deps += [ "power_manager:powermgr_client" ] 162 defines += [ "POWER_MANAGER_ENABLE" ] 163 } 164 165 part_name = "hiview" 166 subsystem_name = "hiviewdfx" 167 } 168} else { 169 ohos_source_set("usage_event_report") { 170 } 171 172 ohos_source_set("usage_event_report_for_test") { 173 } 174} 175 176group("unittest") { 177 testonly = true 178 deps = [] 179 180 if (enable_hiview_usage_event_report_build) { 181 deps += [ 182 "test/unittest:FoldAppUsageTest", 183 "test/unittest:UsageEventReportCacheTest", 184 "test/unittest:UsageEventReportTest", 185 ] 186 } 187} 188 189group("moduletest") { 190 testonly = true 191 deps = [] 192} 193