| // Copyright (C) 2018 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: "idmap2_defaults", | |
| cpp_std: "gnu++2b", | |
| tidy: true, | |
| tidy_checks: [ | |
| "modernize-*", | |
| "-modernize-avoid-c-arrays", | |
| "-modernize-use-nodiscard", | |
| "-modernize-use-trailing-return-type", | |
| "android-*", | |
| "misc-*", | |
| "-misc-const-correctness", | |
| "readability-*", | |
| "-readability-identifier-length", | |
| "-readability-implicit-bool-conversion", | |
| ], | |
| tidy_checks_as_errors: [ | |
| "modernize-*", | |
| "-modernize-avoid-c-arrays", | |
| "-modernize-concat-nested-namespaces", | |
| "-modernize-pass-by-value", | |
| "-modernize-replace-disallow-copy-and-assign-macro", | |
| "-modernize-return-braced-init-list", | |
| "-modernize-use-default-member-init", | |
| "-modernize-use-equals-default", | |
| "-modernize-use-emplace", | |
| "-modernize-use-nodiscard", | |
| "-modernize-use-override", | |
| "-modernize-use-trailing-return-type", | |
| "-modernize-use-using", | |
| "android-*", | |
| "misc-*", | |
| "-misc-non-private-member-variables-in-classes", | |
| "readability-*", | |
| "-readability-braces-around-statements", | |
| "-readability-const-return-type", | |
| "-readability-convert-member-functions-to-static", | |
| "-readability-duplicate-include", | |
| "-readability-implicit-bool-conversion", | |
| "-readability-else-after-return", | |
| "-readability-named-parameter", | |
| "-readability-redundant-access-specifiers", | |
| "-readability-uppercase-literal-suffix", | |
| ], | |
| } | |
| cc_library { | |
| name: "libidmap2", | |
| defaults: [ | |
| "idmap2_defaults", | |
| ], | |
| host_supported: true, | |
| srcs: [ | |
| "libidmap2/**/*.cpp", | |
| "self_targeting/*.cpp", | |
| ], | |
| export_include_dirs: ["include"], | |
| target: { | |
| android: { | |
| static: { | |
| enabled: false, | |
| }, | |
| static_libs: [ | |
| "libidmap2_policies", | |
| "libidmap2_protos", | |
| "libpng", | |
| ], | |
| shared_libs: [ | |
| "libandroidfw", | |
| "libbase", | |
| "libcutils", | |
| "libprotobuf-cpp-lite", | |
| "libutils", | |
| "libz", | |
| "libziparchive", | |
| ], | |
| }, | |
| host: { | |
| shared: { | |
| enabled: false, | |
| }, | |
| static_libs: [ | |
| "libandroidfw", | |
| "libbase", | |
| "libcutils", | |
| "libidmap2_policies", | |
| "libidmap2_protos", | |
| "libpng", | |
| "libprotobuf-cpp-lite", | |
| "libutils", | |
| "libz", | |
| "libziparchive", | |
| ], | |
| }, | |
| }, | |
| } | |
| cc_library { | |
| name: "libidmap2_protos", | |
| srcs: [ | |
| "libidmap2/proto/*.proto", | |
| ], | |
| host_supported: true, | |
| tidy: false, | |
| proto: { | |
| type: "lite", | |
| export_proto_headers: true, | |
| }, | |
| } | |
| cc_library_static { | |
| name: "libidmap2_policies", | |
| defaults: [ | |
| "idmap2_defaults", | |
| ], | |
| host_supported: true, | |
| export_include_dirs: ["libidmap2_policies/include"], | |
| target: { | |
| windows: { | |
| enabled: true, | |
| }, | |
| android: { | |
| shared_libs: [ | |
| "libandroidfw", | |
| ], | |
| }, | |
| host: { | |
| static_libs: [ | |
| "libandroidfw", | |
| ], | |
| }, | |
| }, | |
| } | |
| cc_test { | |
| name: "idmap2_tests", | |
| defaults: [ | |
| "idmap2_defaults", | |
| ], | |
| tidy_checks: [ | |
| "-readability-magic-numbers", | |
| ], | |
| host_supported: true, | |
| test_suites: ["general-tests"], | |
| srcs: [ | |
| "tests/BinaryStreamVisitorTests.cpp", | |
| "tests/CommandLineOptionsTests.cpp", | |
| "tests/FabricatedOverlayTests.cpp", | |
| "tests/FileUtilsTests.cpp", | |
| "tests/Idmap2BinaryTests.cpp", | |
| "tests/IdmapTests.cpp", | |
| "tests/Main.cpp", | |
| "tests/PoliciesTests.cpp", | |
| "tests/PrettyPrintVisitorTests.cpp", | |
| "tests/RawPrintVisitorTests.cpp", | |
| "tests/ResourceMappingTests.cpp", | |
| "tests/ResourceUtilsTests.cpp", | |
| "tests/ResultTests.cpp", | |
| "tests/XmlParserTests.cpp", | |
| ], | |
| required: [ | |
| "idmap2", | |
| ], | |
| static_libs: [ | |
| "libgmock", | |
| "libidmap2_protos", | |
| "libpng", | |
| ], | |
| target: { | |
| android: { | |
| shared_libs: [ | |
| "libandroidfw", | |
| "libbase", | |
| "libidmap2", | |
| "liblog", | |
| "libprotobuf-cpp-lite", | |
| "libutils", | |
| "libz", | |
| "libz", | |
| "libziparchive", | |
| ], | |
| static_libs: [ | |
| "libidmap2_policies", | |
| ], | |
| }, | |
| host: { | |
| static_libs: [ | |
| "libandroidfw", | |
| "libbase", | |
| "libcutils", | |
| "libidmap2", | |
| "libidmap2_policies", | |
| "liblog", | |
| "libprotobuf-cpp-lite", | |
| "libutils", | |
| "libziparchive", | |
| ], | |
| shared_libs: [ | |
| "libz", | |
| ], | |
| data: [ | |
| ":libz", | |
| ":idmap2", | |
| ], | |
| }, | |
| }, | |
| data: [ | |
| "tests/data/**/*.apk", | |
| "tests/data/**/*.png", | |
| ], | |
| compile_multilib: "first", | |
| test_options: { | |
| unit_test: true, | |
| }, | |
| } | |
| cc_binary { | |
| name: "idmap2", | |
| defaults: [ | |
| "idmap2_defaults", | |
| ], | |
| host_supported: true, | |
| srcs: [ | |
| "idmap2/CommandUtils.cpp", | |
| "idmap2/Create.cpp", | |
| "idmap2/CreateMultiple.cpp", | |
| "idmap2/Dump.cpp", | |
| "idmap2/Lookup.cpp", | |
| "idmap2/Main.cpp", | |
| ], | |
| static_libs: [ | |
| "libidmap2_protos", | |
| ], | |
| target: { | |
| android: { | |
| shared_libs: [ | |
| "libandroidfw", | |
| "libbase", | |
| "libcutils", | |
| "libidmap2", | |
| "libpng", | |
| "libprotobuf-cpp-lite", | |
| "libutils", | |
| "libz", | |
| "libziparchive", | |
| ], | |
| static_libs: [ | |
| "libidmap2_policies", | |
| ], | |
| }, | |
| host: { | |
| static_libs: [ | |
| "libandroidfw", | |
| "libbase", | |
| "libcutils", | |
| "libidmap2", | |
| "libidmap2_policies", | |
| "liblog", | |
| "libpng", | |
| "libprotobuf-cpp-lite", | |
| "libutils", | |
| "libziparchive", | |
| ], | |
| shared_libs: [ | |
| "libz", | |
| ], | |
| }, | |
| }, | |
| } | |
| cc_binary { | |
| name: "idmap2d", | |
| defaults: [ | |
| "idmap2_defaults", | |
| ], | |
| host_supported: false, | |
| srcs: [ | |
| "idmap2d/Idmap2Service.cpp", | |
| "idmap2d/Main.cpp", | |
| ], | |
| shared_libs: [ | |
| "libandroidfw", | |
| "libbase", | |
| "libbinder", | |
| "libcutils", | |
| "libidmap2", | |
| "libprotobuf-cpp-lite", | |
| "libutils", | |
| "libziparchive", | |
| ], | |
| static_libs: [ | |
| "libidmap2_policies", | |
| "libidmap2_protos", | |
| "libidmap2daidl", | |
| ], | |
| init_rc: ["idmap2d/idmap2d.rc"], | |
| } | |
| cc_library_static { | |
| name: "libidmap2daidl", | |
| srcs: [ | |
| ":idmap2_aidl", | |
| ":idmap2_core_aidl", | |
| ], | |
| header_libs: [ | |
| "libbinder_headers", | |
| ], | |
| shared_libs: [ | |
| "libbase", | |
| ], | |
| aidl: { | |
| export_aidl_headers: true, | |
| local_include_dirs: [ | |
| "idmap2d/aidl/core", | |
| "idmap2d/aidl/services/", | |
| ], | |
| }, | |
| } | |
| filegroup { | |
| name: "idmap2_core_aidl", | |
| srcs: [ | |
| "idmap2d/aidl/core/android/os/FabricatedOverlayInternal.aidl", | |
| "idmap2d/aidl/core/android/os/FabricatedOverlayInternalEntry.aidl", | |
| "idmap2d/aidl/core/android/os/FabricatedOverlayInfo.aidl", | |
| ], | |
| path: "idmap2d/aidl/core/", | |
| } | |
| filegroup { | |
| name: "idmap2_aidl", | |
| srcs: [ | |
| "idmap2d/aidl/services/android/os/IIdmap2.aidl", | |
| ], | |
| path: "idmap2d/aidl/services/", | |
| } | |
| aidl_interface { | |
| name: "overlayable_policy_aidl", | |
| unstable: true, | |
| srcs: [":overlayable_policy_aidl_files"], | |
| } | |
| filegroup { | |
| name: "overlayable_policy_aidl_files", | |
| srcs: [ | |
| "idmap2d/aidl/services/android/os/OverlayablePolicy.aidl", | |
| ], | |
| path: "idmap2d/aidl/services/", | |
| } |