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