xref: /aosp_15_r20/frameworks/base/cmds/incidentd/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project
2*d57664e9SAndroid Build Coastguard Worker//
3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d57664e9SAndroid Build Coastguard Worker//
7*d57664e9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*d57664e9SAndroid Build Coastguard Worker//
9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d57664e9SAndroid Build Coastguard Worker// limitations under the License.
14*d57664e9SAndroid Build Coastguard Worker
15*d57664e9SAndroid Build Coastguard Worker// =========
16*d57664e9SAndroid Build Coastguard Worker// incidentd
17*d57664e9SAndroid Build Coastguard Worker// =========
18*d57664e9SAndroid Build Coastguard Worker
19*d57664e9SAndroid Build Coastguard Workerpackage {
20*d57664e9SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
21*d57664e9SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
22*d57664e9SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_base_license"
23*d57664e9SAndroid Build Coastguard Worker    // to get the below license kinds:
24*d57664e9SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
25*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_license"],
26*d57664e9SAndroid Build Coastguard Worker}
27*d57664e9SAndroid Build Coastguard Worker
28*d57664e9SAndroid Build Coastguard Workercc_binary {
29*d57664e9SAndroid Build Coastguard Worker    name: "incidentd",
30*d57664e9SAndroid Build Coastguard Worker
31*d57664e9SAndroid Build Coastguard Worker    srcs: [
32*d57664e9SAndroid Build Coastguard Worker        "src/**/*.cpp",
33*d57664e9SAndroid Build Coastguard Worker        "src/**/*.proto",
34*d57664e9SAndroid Build Coastguard Worker        ":incidentd_section_list",
35*d57664e9SAndroid Build Coastguard Worker    ],
36*d57664e9SAndroid Build Coastguard Worker
37*d57664e9SAndroid Build Coastguard Worker    cflags: [
38*d57664e9SAndroid Build Coastguard Worker        "-Wall",
39*d57664e9SAndroid Build Coastguard Worker        "-Werror",
40*d57664e9SAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
41*d57664e9SAndroid Build Coastguard Worker        "-Wno-unused-variable",
42*d57664e9SAndroid Build Coastguard Worker        "-Wunused-parameter",
43*d57664e9SAndroid Build Coastguard Worker        "-Wno-tautological-undefined-compare",
44*d57664e9SAndroid Build Coastguard Worker
45*d57664e9SAndroid Build Coastguard Worker        // Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
46*d57664e9SAndroid Build Coastguard Worker        "-Wno-error=implicit-fallthrough",
47*d57664e9SAndroid Build Coastguard Worker
48*d57664e9SAndroid Build Coastguard Worker        // optimize for size (protobuf glop can get big)
49*d57664e9SAndroid Build Coastguard Worker        "-Os",
50*d57664e9SAndroid Build Coastguard Worker        //"-g",
51*d57664e9SAndroid Build Coastguard Worker        //"-O0",
52*d57664e9SAndroid Build Coastguard Worker    ],
53*d57664e9SAndroid Build Coastguard Worker
54*d57664e9SAndroid Build Coastguard Worker    local_include_dirs: ["src"],
55*d57664e9SAndroid Build Coastguard Worker    generated_headers: ["framework-cppstream-protos"],
56*d57664e9SAndroid Build Coastguard Worker
57*d57664e9SAndroid Build Coastguard Worker    proto: {
58*d57664e9SAndroid Build Coastguard Worker        type: "lite",
59*d57664e9SAndroid Build Coastguard Worker    },
60*d57664e9SAndroid Build Coastguard Worker
61*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
62*d57664e9SAndroid Build Coastguard Worker        "libbase",
63*d57664e9SAndroid Build Coastguard Worker        "libbinder",
64*d57664e9SAndroid Build Coastguard Worker        "libdebuggerd_client",
65*d57664e9SAndroid Build Coastguard Worker        "libdumputils",
66*d57664e9SAndroid Build Coastguard Worker        "libincidentpriv",
67*d57664e9SAndroid Build Coastguard Worker        "liblog",
68*d57664e9SAndroid Build Coastguard Worker        "libprotoutil",
69*d57664e9SAndroid Build Coastguard Worker        "libservices",
70*d57664e9SAndroid Build Coastguard Worker        "libutils",
71*d57664e9SAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
72*d57664e9SAndroid Build Coastguard Worker    ],
73*d57664e9SAndroid Build Coastguard Worker
74*d57664e9SAndroid Build Coastguard Worker    static_libs: [
75*d57664e9SAndroid Build Coastguard Worker        "libincidentcompanion",
76*d57664e9SAndroid Build Coastguard Worker        "libplatformprotos",
77*d57664e9SAndroid Build Coastguard Worker    ],
78*d57664e9SAndroid Build Coastguard Worker
79*d57664e9SAndroid Build Coastguard Worker    product_variables: {
80*d57664e9SAndroid Build Coastguard Worker        debuggable: {
81*d57664e9SAndroid Build Coastguard Worker            cflags: ["-DALLOW_RESTRICTED_SECTIONS=1"],
82*d57664e9SAndroid Build Coastguard Worker        },
83*d57664e9SAndroid Build Coastguard Worker    },
84*d57664e9SAndroid Build Coastguard Worker
85*d57664e9SAndroid Build Coastguard Worker    init_rc: ["incidentd.rc"],
86*d57664e9SAndroid Build Coastguard Worker}
87*d57664e9SAndroid Build Coastguard Worker
88*d57664e9SAndroid Build Coastguard Workercc_defaults {
89*d57664e9SAndroid Build Coastguard Worker    name: "incidentd_test_defaults",
90*d57664e9SAndroid Build Coastguard Worker
91*d57664e9SAndroid Build Coastguard Worker    cflags: [
92*d57664e9SAndroid Build Coastguard Worker        "-Werror",
93*d57664e9SAndroid Build Coastguard Worker        "-Wall",
94*d57664e9SAndroid Build Coastguard Worker        "-Wno-unused-variable",
95*d57664e9SAndroid Build Coastguard Worker        "-Wunused-parameter",
96*d57664e9SAndroid Build Coastguard Worker        "-g",
97*d57664e9SAndroid Build Coastguard Worker        "-Wno-tautological-undefined-compare",
98*d57664e9SAndroid Build Coastguard Worker
99*d57664e9SAndroid Build Coastguard Worker        // Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
100*d57664e9SAndroid Build Coastguard Worker        "-Wno-error=implicit-fallthrough",
101*d57664e9SAndroid Build Coastguard Worker    ],
102*d57664e9SAndroid Build Coastguard Worker
103*d57664e9SAndroid Build Coastguard Worker    local_include_dirs: ["src"],
104*d57664e9SAndroid Build Coastguard Worker    generated_headers: ["framework-cppstream-protos"],
105*d57664e9SAndroid Build Coastguard Worker
106*d57664e9SAndroid Build Coastguard Worker    srcs: [
107*d57664e9SAndroid Build Coastguard Worker        "src/FdBuffer.cpp",
108*d57664e9SAndroid Build Coastguard Worker        "src/Privacy.cpp",
109*d57664e9SAndroid Build Coastguard Worker        "src/PrivacyFilter.cpp",
110*d57664e9SAndroid Build Coastguard Worker        "src/Reporter.cpp",
111*d57664e9SAndroid Build Coastguard Worker        "src/Section.cpp",
112*d57664e9SAndroid Build Coastguard Worker        "src/Throttler.cpp",
113*d57664e9SAndroid Build Coastguard Worker        "src/WorkDirectory.cpp",
114*d57664e9SAndroid Build Coastguard Worker        "src/incidentd_util.cpp",
115*d57664e9SAndroid Build Coastguard Worker        "src/proto_util.cpp",
116*d57664e9SAndroid Build Coastguard Worker        "src/report_directory.cpp",
117*d57664e9SAndroid Build Coastguard Worker        "src/**/*.proto",
118*d57664e9SAndroid Build Coastguard Worker    ],
119*d57664e9SAndroid Build Coastguard Worker
120*d57664e9SAndroid Build Coastguard Worker    static_libs: [
121*d57664e9SAndroid Build Coastguard Worker        "libincidentcompanion",
122*d57664e9SAndroid Build Coastguard Worker        "libplatformprotos-test",
123*d57664e9SAndroid Build Coastguard Worker    ],
124*d57664e9SAndroid Build Coastguard Worker
125*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
126*d57664e9SAndroid Build Coastguard Worker        "libbase",
127*d57664e9SAndroid Build Coastguard Worker        "libbinder",
128*d57664e9SAndroid Build Coastguard Worker        "libdebuggerd_client",
129*d57664e9SAndroid Build Coastguard Worker        "libdumputils",
130*d57664e9SAndroid Build Coastguard Worker        "libincidentpriv",
131*d57664e9SAndroid Build Coastguard Worker        "liblog",
132*d57664e9SAndroid Build Coastguard Worker        "libprotobuf-cpp-full",
133*d57664e9SAndroid Build Coastguard Worker        "libprotoutil",
134*d57664e9SAndroid Build Coastguard Worker        "libservices",
135*d57664e9SAndroid Build Coastguard Worker        "libutils",
136*d57664e9SAndroid Build Coastguard Worker    ],
137*d57664e9SAndroid Build Coastguard Worker}
138*d57664e9SAndroid Build Coastguard Worker
139*d57664e9SAndroid Build Coastguard Worker// ==============
140*d57664e9SAndroid Build Coastguard Worker// incidentd_test
141*d57664e9SAndroid Build Coastguard Worker// ==============
142*d57664e9SAndroid Build Coastguard Workercc_test {
143*d57664e9SAndroid Build Coastguard Worker    name: "incidentd_test",
144*d57664e9SAndroid Build Coastguard Worker
145*d57664e9SAndroid Build Coastguard Worker    defaults: [
146*d57664e9SAndroid Build Coastguard Worker        "incidentd_test_defaults",
147*d57664e9SAndroid Build Coastguard Worker    ],
148*d57664e9SAndroid Build Coastguard Worker
149*d57664e9SAndroid Build Coastguard Worker    test_suites: ["device-tests"],
150*d57664e9SAndroid Build Coastguard Worker
151*d57664e9SAndroid Build Coastguard Worker    srcs: [
152*d57664e9SAndroid Build Coastguard Worker        "tests/**/*.cpp",
153*d57664e9SAndroid Build Coastguard Worker        "tests/**/*.proto",
154*d57664e9SAndroid Build Coastguard Worker    ],
155*d57664e9SAndroid Build Coastguard Worker
156*d57664e9SAndroid Build Coastguard Worker    data: ["testdata/**/*"],
157*d57664e9SAndroid Build Coastguard Worker
158*d57664e9SAndroid Build Coastguard Worker    static_libs: [
159*d57664e9SAndroid Build Coastguard Worker        "libgmock",
160*d57664e9SAndroid Build Coastguard Worker    ],
161*d57664e9SAndroid Build Coastguard Worker
162*d57664e9SAndroid Build Coastguard Worker    target: {
163*d57664e9SAndroid Build Coastguard Worker        android: {
164*d57664e9SAndroid Build Coastguard Worker            proto: {
165*d57664e9SAndroid Build Coastguard Worker                type: "full",
166*d57664e9SAndroid Build Coastguard Worker            },
167*d57664e9SAndroid Build Coastguard Worker        },
168*d57664e9SAndroid Build Coastguard Worker    },
169*d57664e9SAndroid Build Coastguard Worker}
170*d57664e9SAndroid Build Coastguard Worker
171*d57664e9SAndroid Build Coastguard Workergenrule {
172*d57664e9SAndroid Build Coastguard Worker    name: "incidentd_section_list",
173*d57664e9SAndroid Build Coastguard Worker    tools: ["incident-section-gen"],
174*d57664e9SAndroid Build Coastguard Worker    out: ["section_list.cpp"],
175*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location incident-section-gen) incidentd > $(out)",
176*d57664e9SAndroid Build Coastguard Worker}
177*d57664e9SAndroid Build Coastguard Worker
178*d57664e9SAndroid Build Coastguard Workercc_fuzz {
179*d57664e9SAndroid Build Coastguard Worker    name: "incidentd_service_fuzzer",
180*d57664e9SAndroid Build Coastguard Worker    defaults: [
181*d57664e9SAndroid Build Coastguard Worker        "service_fuzzer_defaults",
182*d57664e9SAndroid Build Coastguard Worker        "fuzzer_disable_leaks",
183*d57664e9SAndroid Build Coastguard Worker        "incidentd_test_defaults",
184*d57664e9SAndroid Build Coastguard Worker    ],
185*d57664e9SAndroid Build Coastguard Worker
186*d57664e9SAndroid Build Coastguard Worker    fuzz_config: {
187*d57664e9SAndroid Build Coastguard Worker        cc: [
188*d57664e9SAndroid Build Coastguard Worker            "[email protected]",
189*d57664e9SAndroid Build Coastguard Worker            "[email protected]",
190*d57664e9SAndroid Build Coastguard Worker        ],
191*d57664e9SAndroid Build Coastguard Worker        triage_assignee: "[email protected]",
192*d57664e9SAndroid Build Coastguard Worker    },
193*d57664e9SAndroid Build Coastguard Worker
194*d57664e9SAndroid Build Coastguard Worker    srcs: [
195*d57664e9SAndroid Build Coastguard Worker        "fuzzers/IncidentServiceFuzzer.cpp",
196*d57664e9SAndroid Build Coastguard Worker        "src/IncidentService.cpp",
197*d57664e9SAndroid Build Coastguard Worker        "src/Broadcaster.cpp",
198*d57664e9SAndroid Build Coastguard Worker        ":incidentd_section_list",
199*d57664e9SAndroid Build Coastguard Worker    ],
200*d57664e9SAndroid Build Coastguard Worker}
201