// Copyright 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. package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "frameworks_base_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_base_license"], } cc_defaults { name: "service.incremental-proto-defaults", cpp_std: "c++2a", proto: { type: "lite", }, tidy: true, tidy_checks: [ "android-*", "cert-*", "clang-analyzer-security*", "-cert-err34-c", "clang-analyzer-security*", // Disabling due to many unavoidable warnings from POSIX API usage. "-google-runtime-int", "-google-explicit-constructor", // do not define variadic C function - JNI headers "-cert-dcl50-cpp", // operator=() does not handle self-assignment properly - all protobuf-generated classes "-cert-oop54-cpp", ], } cc_defaults { name: "service.incremental-defaults", defaults: ["service.incremental-proto-defaults"], header_libs: ["jni_headers"], local_include_dirs: ["include/"], cflags: [ "-Wall", "-Werror", "-Wextra", "-Wno-unused-parameter", ], static_libs: [ "libbase", "libext2_uuid", "libdataloader_aidl-cpp", "libincremental_aidl-cpp", "libincremental_manager_aidl-cpp", "libprotobuf-cpp-lite", "service.incremental.proto", "libvold_binder", "libziparchive_for_incfs", ], shared_libs: [ "libandroidfw", "libbinder", "libcrypto", "libcutils", "libincfs", "liblog", "libpermission", "libutils", "libz", ], } filegroup { name: "service.incremental_srcs", srcs: [ "incremental_service.c", "IncrementalService.cpp", "IncrementalServiceValidation.cpp", "BinderIncrementalService.cpp", "path.cpp", "ServiceWrappers.cpp", ], } cc_library { name: "service.incremental", defaults: [ "service.incremental-defaults", ], export_include_dirs: ["include/",], srcs: [ ":service.incremental_srcs", ], } cc_library_headers { name: "service.incremental_headers", export_include_dirs: ["include/",], } cc_library_static { name: "service.incremental.proto", defaults: ["service.incremental-proto-defaults"], proto: { export_proto_headers: true, }, srcs: [ "Metadata.proto", ], } cc_test { name: "service.incremental_test", defaults: ["service.incremental-defaults"], test_suites: ["device-tests"], srcs: [ ":service.incremental_srcs", "test/IncrementalServiceTest.cpp", "test/path_test.cpp", ], static_libs: [ "libgmock", ], test_options: { unit_test: true, }, }