blob: 709c92803ed3db455917f4d0b987b6bf604b85a8 [file] [log] [blame]
Dan Harms25fbf1b2019-07-25 16:09:17 -07001// Copyright (C) 2019 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15//
16
17// Build the Car service.
18
Bob Badour4da7d222021-02-22 16:14:07 -080019package {
20 default_applicable_licenses: ["Android-Apache-2.0"],
21}
22
Muhammad Qureshi94524cd2020-01-25 23:47:38 -080023genrule {
24 name: "statslog-Car-java-gen",
25 tools: ["stats-log-api-gen"],
26 cmd: "$(location stats-log-api-gen) --java $(out) --module car --javaPackage com.android.car"
27 + " --javaClass CarStatsLog",
28 out: ["com/android/car/CarStatsLog.java"],
29}
30
31car_service_sources = [
32 "src/**/*.java",
33 ":statslog-Car-java-gen",
34]
Dan Harms25fbf1b2019-07-25 16:09:17 -070035
tadvanaf7746cd2019-10-04 16:02:56 -070036common_lib_deps = [
Yuncheol Heo3e094c52021-05-03 11:15:17 -070037 "android.car.cluster.navigation",
tadvanaf7746cd2019-10-04 16:02:56 -070038 "android.car.userlib",
Eric Jeong6df075f2020-03-11 16:12:23 -070039 "android.car.watchdoglib",
Eric Jeong0d3bb4f2020-11-06 11:31:45 -080040 "android.frameworks.automotive.powerpolicy.internal-java",
tadvanaf7746cd2019-10-04 16:02:56 -070041 "android.hidl.base-V1.0-java",
42 "android.hardware.automotive.audiocontrol-V1.0-java",
Hayden Gomesd29c8db2020-03-09 13:47:28 -070043 "android.hardware.automotive.audiocontrol-V2.0-java",
Jeongik Chad589dc02021-01-28 00:49:50 +090044 "android.hardware.automotive.audiocontrol-V1-java",
tadvanaf7746cd2019-10-04 16:02:56 -070045 "android.hardware.automotive.vehicle-V2.0-java",
46 "android.hardware.health-V1.0-java",
47 "android.hardware.health-V2.0-java",
Jeongik Chad589dc02021-01-28 00:49:50 +090048 "android.hardware.automotive.occupant_awareness-V1-java",
tadvanaf7746cd2019-10-04 16:02:56 -070049 "vehicle-hal-support-lib",
50 "car-systemtest",
51 "com.android.car.procfsinspector-client",
52 "blestream-protos",
53 "SettingsLib",
54 "androidx.preference_preference",
Yan Zhufb764ac2021-02-19 22:20:52 -080055 // TODO(b/171603586): remove this after moving NewUserDisclaimerActivity
56 // to CarSettings
Felipe Leme8725a2f2020-12-09 16:04:51 -080057 "car-admin-ui-lib",
Felipe Leme701b0432021-03-24 16:25:31 -070058 "Slogf",
Max Dashoukff9ffbc2021-02-16 11:36:39 -080059 "cartelemetry-protos",
tadvanaf7746cd2019-10-04 16:02:56 -070060]
61
Dan Harms25fbf1b2019-07-25 16:09:17 -070062android_app {
63 name: "CarService",
64
65 srcs: car_service_sources,
66
67 resource_dirs: ["res"],
68
69 platform_apis: true,
70
71 // Each update should be signed by OEMs
72 certificate: "platform",
73 privileged: true,
74
75 optimize: {
76 proguard_flags_files: ["proguard.flags"],
77 enabled: false,
78 },
79
80 libs: ["android.car"],
81
tadvanaf7746cd2019-10-04 16:02:56 -070082 static_libs: common_lib_deps + [
Mayank Garg94f3eb92020-08-12 12:38:58 -070083 "com.android.car.internal.system",
Dan Harms25fbf1b2019-07-25 16:09:17 -070084 ],
85
Max Dashouk2c013db2021-06-30 17:43:54 +000086 jni_libs: [
87 "libcarservicejni",
88 "libscriptexecutorjni",
89 ],
Changyeon Joc882f7a2021-03-09 08:41:41 -080090
Yan Zhuca7c4592020-08-14 10:05:23 -070091 required: ["allowed_privapp_com.android.car"],
Dan Harms25fbf1b2019-07-25 16:09:17 -070092
93 // Disable build in PDK, missing aidl import breaks build
94 product_variables: {
95 pdk: {
96 enabled: false,
97 },
98 },
99}
100
Keun young Park9a91efb2019-11-15 18:10:47 -0800101java_library {
102
103 name: "car-service-common-util-static-lib",
104
105 srcs: [
106 "src/com/android/car/CarServiceBase.java",
107 "src/com/android/car/CarServiceUtils.java",
108 "src/com/android/car/CarLog.java",
Jordan Jozwiak9789ac52019-12-06 16:52:26 -0800109 "src/com/android/car/Utils.java",
Keun young Park9a91efb2019-11-15 18:10:47 -0800110 ],
111
bkchoi51076532021-06-14 14:35:01 -0700112 static_libs: [
113 "com.android.car.internal.common",
114 ],
115
Keun young Park9a91efb2019-11-15 18:10:47 -0800116 product_variables: {
117 pdk: {
118 enabled: false,
119 },
120 },
121}
122
Dan Harms25fbf1b2019-07-25 16:09:17 -0700123//####################################################################################
tadvanaf7746cd2019-10-04 16:02:56 -0700124// Build a static library to help mocking various car services in testing. This is meant to be used
125// for internal unit tests around the car service.
Dan Harms25fbf1b2019-07-25 16:09:17 -0700126//####################################################################################
127android_library {
tadvanaf7746cd2019-10-04 16:02:56 -0700128 name: "car-service-test-static-lib",
Dan Harms25fbf1b2019-07-25 16:09:17 -0700129
130 srcs: car_service_sources,
131
132 resource_dirs: ["res"],
133
134 libs: [
135 "android.car",
136 "car-frameworks-service",
137 ],
138
tadvanaf7746cd2019-10-04 16:02:56 -0700139 static_libs: common_lib_deps,
140
tadvanaf7746cd2019-10-04 16:02:56 -0700141 product_variables: {
142 pdk: {
143 enabled: false,
144 },
145 },
146}
147
148//####################################################################################
149// Build a library to help generate a testing library for external apps.
150// We do not want to use statically linked libraries, as this will bloat the output jar with classes
151// that can conflict with the user's environment.
152//####################################################################################
153android_library {
154 name: "car-service-test-lib",
155
156 srcs: car_service_sources,
157
158 resource_dirs: ["res"],
159
160 libs: common_lib_deps + [
161 "android.car",
162 "car-frameworks-service",
Dan Harms25fbf1b2019-07-25 16:09:17 -0700163 ],
164
Dan Harms25fbf1b2019-07-25 16:09:17 -0700165 product_variables: {
166 pdk: {
167 enabled: false,
168 },
169 },
170}