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 "ffrt:libffrt", 68 "hilog:libhilog", 69 "hisysevent:libhisysevent", 70 "ipc:ipc_single", 71 "jsoncpp:jsoncpp", 72 "relational_store:native_rdb", 73 ] 74 75 defines = [] 76 if (power_manager_enable) { 77 external_deps += [ "power_manager:powermgr_client" ] 78 defines += [ "POWER_MANAGER_ENABLE" ] 79 } 80 81 if (hiview_usage_fold_stat_enable) { 82 sources += [ 83 "fold/cache/fold_app_usage_db_helper.cpp", 84 "fold/cache/fold_app_usage_event_factory.cpp", 85 "fold/cache/fold_event_cacher.cpp", 86 "fold/event/fold_app_usage_event.cpp", 87 "fold/usage_fold_event_report.cpp", 88 ] 89 90 external_deps += [ 91 "ability_runtime:app_manager", 92 "bundle_framework:appexecfwk_base", 93 "bundle_framework:appexecfwk_core", 94 "samgr:samgr_proxy", 95 "window_manager:libdm", 96 ] 97 98 defines += [ "USAGE_FOLD_STAT_ENABLE" ] 99 } 100 101 part_name = "hiview" 102 subsystem_name = "hiviewdfx" 103 } 104 105 config("usage_fold_event_report_config_for_test") { 106 visibility = [ "*:*" ] 107 include_dirs = [ 108 "fold/cache/include", 109 "fold/event/include", 110 ] 111 } 112 113 ohos_source_set("usage_event_report_for_test") { 114 configs = [ 115 ":usage_fold_event_report_config_for_test", 116 ":usage_event_report_config", 117 ] 118 119 sources = [ 120 "cache/event_db_helper.cpp", 121 "cache/json_parser.cpp", 122 "cache/usage_event_cacher.cpp", 123 "event/sys_usage_event.cpp", 124 "fold/cache/fold_app_usage_db_helper.cpp", 125 "fold/cache/fold_app_usage_event_factory.cpp", 126 "fold/cache/fold_event_cacher.cpp", 127 "fold/event/fold_app_usage_event.cpp", 128 "usage_event_report.cpp", 129 ] 130 131 if (power_manager_enable) { 132 sources += [ "idl/hiview_shutdown_callback.cpp" ] 133 } 134 135 deps = [ 136 "$hiview_base:hiviewbase", 137 "config:usageEventPipeline", 138 ] 139 140 external_deps = [ 141 "ability_runtime:app_manager", 142 "bounds_checking_function:libsec_shared", 143 "bundle_framework:appexecfwk_base", 144 "bundle_framework:appexecfwk_core", 145 "ffrt:libffrt", 146 "hilog:libhilog", 147 "hisysevent:libhisysevent", 148 "ipc:ipc_single", 149 "jsoncpp:jsoncpp", 150 "relational_store:native_rdb", 151 "samgr:samgr_proxy", 152 "window_manager:libdm", 153 ] 154 155 defines = [] 156 if (power_manager_enable) { 157 external_deps += [ "power_manager:powermgr_client" ] 158 defines += [ "POWER_MANAGER_ENABLE" ] 159 } 160 161 part_name = "hiview" 162 subsystem_name = "hiviewdfx" 163 } 164} else { 165 ohos_source_set("usage_event_report") { 166 } 167 168 ohos_source_set("usage_event_report_for_test") { 169 } 170} 171 172group("unittest") { 173 testonly = true 174 deps = [] 175 176 if (enable_hiview_usage_event_report_build) { 177 deps += [ 178 "test/unittest:FoldAppUsageTest", 179 "test/unittest:UsageEventReportCacheTest", 180 "test/unittest:UsageEventReportTest", 181 ] 182 } 183} 184 185group("moduletest") { 186 testonly = true 187 deps = [] 188} 189