xref: /aosp_15_r20/frameworks/base/services/incremental/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker// Copyright 2019, 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 Workerpackage {
16*d57664e9SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
17*d57664e9SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
18*d57664e9SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_base_license"
19*d57664e9SAndroid Build Coastguard Worker    // to get the below license kinds:
20*d57664e9SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
21*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_license"],
22*d57664e9SAndroid Build Coastguard Worker}
23*d57664e9SAndroid Build Coastguard Worker
24*d57664e9SAndroid Build Coastguard Workercc_defaults {
25*d57664e9SAndroid Build Coastguard Worker    name: "service.incremental-proto-defaults",
26*d57664e9SAndroid Build Coastguard Worker
27*d57664e9SAndroid Build Coastguard Worker    cpp_std: "c++2a",
28*d57664e9SAndroid Build Coastguard Worker    proto: {
29*d57664e9SAndroid Build Coastguard Worker        type: "lite",
30*d57664e9SAndroid Build Coastguard Worker    },
31*d57664e9SAndroid Build Coastguard Worker    tidy: true,
32*d57664e9SAndroid Build Coastguard Worker    tidy_checks: [
33*d57664e9SAndroid Build Coastguard Worker        "android-*",
34*d57664e9SAndroid Build Coastguard Worker        "cert-*",
35*d57664e9SAndroid Build Coastguard Worker        "clang-analyzer-security*",
36*d57664e9SAndroid Build Coastguard Worker        "-cert-err34-c",
37*d57664e9SAndroid Build Coastguard Worker        "clang-analyzer-security*",
38*d57664e9SAndroid Build Coastguard Worker        // Disabling due to many unavoidable warnings from POSIX API usage.
39*d57664e9SAndroid Build Coastguard Worker        "-google-runtime-int",
40*d57664e9SAndroid Build Coastguard Worker        "-google-explicit-constructor",
41*d57664e9SAndroid Build Coastguard Worker        // do not define variadic C function - JNI headers
42*d57664e9SAndroid Build Coastguard Worker        "-cert-dcl50-cpp",
43*d57664e9SAndroid Build Coastguard Worker        // operator=() does not handle self-assignment properly - all protobuf-generated classes
44*d57664e9SAndroid Build Coastguard Worker        "-cert-oop54-cpp",
45*d57664e9SAndroid Build Coastguard Worker    ],
46*d57664e9SAndroid Build Coastguard Worker}
47*d57664e9SAndroid Build Coastguard Worker
48*d57664e9SAndroid Build Coastguard Workercc_defaults {
49*d57664e9SAndroid Build Coastguard Worker    name: "service.incremental-defaults",
50*d57664e9SAndroid Build Coastguard Worker    defaults: ["service.incremental-proto-defaults"],
51*d57664e9SAndroid Build Coastguard Worker    header_libs: ["jni_headers"],
52*d57664e9SAndroid Build Coastguard Worker    local_include_dirs: ["include/"],
53*d57664e9SAndroid Build Coastguard Worker    cflags: [
54*d57664e9SAndroid Build Coastguard Worker        "-Wall",
55*d57664e9SAndroid Build Coastguard Worker        "-Werror",
56*d57664e9SAndroid Build Coastguard Worker        "-Wextra",
57*d57664e9SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
58*d57664e9SAndroid Build Coastguard Worker    ],
59*d57664e9SAndroid Build Coastguard Worker
60*d57664e9SAndroid Build Coastguard Worker    static_libs: [
61*d57664e9SAndroid Build Coastguard Worker        "libbase",
62*d57664e9SAndroid Build Coastguard Worker        "libext2_uuid",
63*d57664e9SAndroid Build Coastguard Worker        "libdataloader_aidl-cpp",
64*d57664e9SAndroid Build Coastguard Worker        "libincremental_aidl-cpp",
65*d57664e9SAndroid Build Coastguard Worker        "libincremental_manager_aidl-cpp",
66*d57664e9SAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
67*d57664e9SAndroid Build Coastguard Worker        "service.incremental.proto",
68*d57664e9SAndroid Build Coastguard Worker        "libvold_binder",
69*d57664e9SAndroid Build Coastguard Worker        "libziparchive_for_incfs",
70*d57664e9SAndroid Build Coastguard Worker    ],
71*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
72*d57664e9SAndroid Build Coastguard Worker        "libandroidfw",
73*d57664e9SAndroid Build Coastguard Worker        "libbinder",
74*d57664e9SAndroid Build Coastguard Worker        "libcrypto",
75*d57664e9SAndroid Build Coastguard Worker        "libcutils",
76*d57664e9SAndroid Build Coastguard Worker        "libincfs",
77*d57664e9SAndroid Build Coastguard Worker        "liblog",
78*d57664e9SAndroid Build Coastguard Worker        "libpermission",
79*d57664e9SAndroid Build Coastguard Worker        "libutils",
80*d57664e9SAndroid Build Coastguard Worker        "libz",
81*d57664e9SAndroid Build Coastguard Worker    ],
82*d57664e9SAndroid Build Coastguard Worker}
83*d57664e9SAndroid Build Coastguard Worker
84*d57664e9SAndroid Build Coastguard Workerfilegroup {
85*d57664e9SAndroid Build Coastguard Worker    name: "service.incremental_srcs",
86*d57664e9SAndroid Build Coastguard Worker    srcs: [
87*d57664e9SAndroid Build Coastguard Worker        "incremental_service.c",
88*d57664e9SAndroid Build Coastguard Worker        "IncrementalService.cpp",
89*d57664e9SAndroid Build Coastguard Worker        "IncrementalServiceValidation.cpp",
90*d57664e9SAndroid Build Coastguard Worker        "BinderIncrementalService.cpp",
91*d57664e9SAndroid Build Coastguard Worker        "path.cpp",
92*d57664e9SAndroid Build Coastguard Worker        "ServiceWrappers.cpp",
93*d57664e9SAndroid Build Coastguard Worker    ],
94*d57664e9SAndroid Build Coastguard Worker}
95*d57664e9SAndroid Build Coastguard Worker
96*d57664e9SAndroid Build Coastguard Workercc_library {
97*d57664e9SAndroid Build Coastguard Worker    name: "service.incremental",
98*d57664e9SAndroid Build Coastguard Worker    defaults: [
99*d57664e9SAndroid Build Coastguard Worker        "service.incremental-defaults",
100*d57664e9SAndroid Build Coastguard Worker    ],
101*d57664e9SAndroid Build Coastguard Worker
102*d57664e9SAndroid Build Coastguard Worker    export_include_dirs: ["include/",],
103*d57664e9SAndroid Build Coastguard Worker    srcs: [
104*d57664e9SAndroid Build Coastguard Worker        ":service.incremental_srcs",
105*d57664e9SAndroid Build Coastguard Worker    ],
106*d57664e9SAndroid Build Coastguard Worker}
107*d57664e9SAndroid Build Coastguard Worker
108*d57664e9SAndroid Build Coastguard Workercc_library_headers {
109*d57664e9SAndroid Build Coastguard Worker    name: "service.incremental_headers",
110*d57664e9SAndroid Build Coastguard Worker    export_include_dirs: ["include/",],
111*d57664e9SAndroid Build Coastguard Worker}
112*d57664e9SAndroid Build Coastguard Worker
113*d57664e9SAndroid Build Coastguard Workercc_library_static {
114*d57664e9SAndroid Build Coastguard Worker    name: "service.incremental.proto",
115*d57664e9SAndroid Build Coastguard Worker    defaults: ["service.incremental-proto-defaults"],
116*d57664e9SAndroid Build Coastguard Worker    proto: {
117*d57664e9SAndroid Build Coastguard Worker        export_proto_headers: true,
118*d57664e9SAndroid Build Coastguard Worker    },
119*d57664e9SAndroid Build Coastguard Worker
120*d57664e9SAndroid Build Coastguard Worker    srcs: [
121*d57664e9SAndroid Build Coastguard Worker        "Metadata.proto",
122*d57664e9SAndroid Build Coastguard Worker    ],
123*d57664e9SAndroid Build Coastguard Worker}
124*d57664e9SAndroid Build Coastguard Worker
125*d57664e9SAndroid Build Coastguard Workercc_test {
126*d57664e9SAndroid Build Coastguard Worker    name: "service.incremental_test",
127*d57664e9SAndroid Build Coastguard Worker    defaults: ["service.incremental-defaults"],
128*d57664e9SAndroid Build Coastguard Worker    test_suites: ["device-tests"],
129*d57664e9SAndroid Build Coastguard Worker    srcs: [
130*d57664e9SAndroid Build Coastguard Worker        ":service.incremental_srcs",
131*d57664e9SAndroid Build Coastguard Worker        "test/IncrementalServiceTest.cpp",
132*d57664e9SAndroid Build Coastguard Worker        "test/path_test.cpp",
133*d57664e9SAndroid Build Coastguard Worker    ],
134*d57664e9SAndroid Build Coastguard Worker    static_libs: [
135*d57664e9SAndroid Build Coastguard Worker        "libgmock",
136*d57664e9SAndroid Build Coastguard Worker    ],
137*d57664e9SAndroid Build Coastguard Worker    test_options: {
138*d57664e9SAndroid Build Coastguard Worker        unit_test: true,
139*d57664e9SAndroid Build Coastguard Worker    },
140*d57664e9SAndroid Build Coastguard Worker}
141