blob: 9cef3fb907f1bb9e9e359b3d4d360e8323c58fdf [file] [log] [blame]
// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//
// Build the Car service.
genrule {
name: "statslog-Car-java-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --module car --javaPackage com.android.car"
+ " --javaClass CarStatsLog",
out: ["com/android/car/CarStatsLog.java"],
}
car_service_sources = [
"src/**/*.java",
":statslog-Car-java-gen",
]
common_lib_deps = [
"android.car.userlib",
"android.car.watchdoglib",
"android.frameworks.automotive.powerpolicy.internal-java",
"android.hidl.base-V1.0-java",
"android.hardware.automotive.audiocontrol-V1.0-java",
"android.hardware.automotive.audiocontrol-V2.0-java",
"android.hardware.automotive.audiocontrol-V1-java",
"android.hardware.automotive.vehicle-V2.0-java",
"android.hardware.health-V1.0-java",
"android.hardware.health-V2.0-java",
"android.hardware.automotive.occupant_awareness-V1-java",
"vehicle-hal-support-lib",
"car-systemtest",
"com.android.car.procfsinspector-client",
"blestream-protos",
"SettingsLib",
"androidx.preference_preference",
// TODO(b/175057848): car-admin-ui-lib is need by NewUserDisclaimerActivity;
// it might be better to move that class to CarSystemUI instead.
"car-admin-ui-lib",
]
android_app {
name: "CarService",
srcs: car_service_sources,
resource_dirs: ["res"],
platform_apis: true,
// Each update should be signed by OEMs
certificate: "platform",
privileged: true,
optimize: {
proguard_flags_files: ["proguard.flags"],
enabled: false,
},
libs: ["android.car"],
static_libs: common_lib_deps + [
"com.android.car.internal.system",
],
required: ["allowed_privapp_com.android.car"],
// Disable build in PDK, missing aidl import breaks build
product_variables: {
pdk: {
enabled: false,
},
},
}
java_library {
name: "car-service-common-util-static-lib",
srcs: [
"src/com/android/car/CarServiceBase.java",
"src/com/android/car/CarServiceUtils.java",
"src/com/android/car/CarLog.java",
"src/com/android/car/Utils.java",
],
product_variables: {
pdk: {
enabled: false,
},
},
}
//####################################################################################
// Build a static library to help mocking various car services in testing. This is meant to be used
// for internal unit tests around the car service.
//####################################################################################
android_library {
name: "car-service-test-static-lib",
srcs: car_service_sources,
resource_dirs: ["res"],
libs: [
"android.car",
"car-frameworks-service",
],
static_libs: common_lib_deps,
product_variables: {
pdk: {
enabled: false,
},
},
}
//####################################################################################
// Build a library to help generate a testing library for external apps.
// We do not want to use statically linked libraries, as this will bloat the output jar with classes
// that can conflict with the user's environment.
//####################################################################################
android_library {
name: "car-service-test-lib",
srcs: car_service_sources,
resource_dirs: ["res"],
libs: common_lib_deps + [
"android.car",
"car-frameworks-service",
],
min_sdk_version: "25",
product_variables: {
pdk: {
enabled: false,
},
},
}