• 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.
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