| // 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. |
| |
| package { |
| default_applicable_licenses: ["Android-Apache-2.0"], |
| } |
| |
| apex_test { |
| name: "test_com.android.sdkext", |
| defaults: ["com.android.sdkext-defaults"], |
| bootclasspath_fragments: ["test_com.android.sdkext-bootclasspath-fragment"], |
| manifest: "test_manifest.json", |
| prebuilts: [ |
| "sdkinfo_45", |
| "test_extensions_db", |
| ], |
| file_contexts: ":com.android.sdkext-file_contexts", |
| installable: false, // Should never be installed on the systemimage |
| multilib: { |
| prefer32: { |
| binaries: [ |
| "derive_classpath_prefer32", |
| "derive_sdk_prefer32", |
| ], |
| }, |
| }, |
| // The automated test infra ends up building this apex for 64+32-bit and |
| // then installs it on a 32-bit-only device. Work around this weirdness |
| // by preferring 32-bit. |
| compile_multilib: "prefer32", |
| } |
| |
| // Encapsulate the contributions made by the test_com.android.sdkext to the |
| // bootclasspath. |
| bootclasspath_fragment { |
| name: "test_com.android.sdkext-bootclasspath-fragment", |
| contents: [ |
| "framework-sdkextensions", |
| "test_framework-sdkextensions", |
| ], |
| apex_available: ["test_com.android.sdkext"], |
| |
| // The bootclasspath_fragments that provide APIs on which this depends. |
| fragments: [ |
| { |
| apex: "com.android.art", |
| module: "art-bootclasspath-fragment", |
| }, |
| ], |
| } |
| |
| genrule { |
| name: "sdkinfo_45_src", |
| out: ["sdkinfo.pb"], |
| tools: ["gen_sdkinfo"], |
| cmd: "$(location) -v 45 -o $(out)", |
| } |
| |
| prebuilt_etc { |
| name: "sdkinfo_45", |
| src: ":sdkinfo_45_src", |
| filename: "sdkinfo.pb", |
| installable: false, |
| visibility: [ |
| ":__pkg__", |
| "//frameworks/av/apex/testing", |
| ], |
| } |
| |
| genrule { |
| name: "test_extensions_db.pb", |
| srcs: ["test_extensions_db.textpb"], |
| out: ["test_extensions_db.pb"], |
| tools: ["gen_sdk"], |
| cmd: "$(location gen_sdk) --action print_binary --database $(location test_extensions_db.textpb) > $(out)", |
| visibility: ["//visibility:private"], |
| } |
| |
| prebuilt_etc { |
| name: "test_extensions_db", |
| src: ":test_extensions_db.pb", |
| filename: "extensions_db.pb", |
| installable: false, |
| visibility: ["//visibility:private"], |
| } |
| |
| filegroup { |
| name: "test_framework-sdkextensions-sources", |
| srcs: ["impl-src/android/os/ext/test/Test.java"], |
| path: "impl-src", |
| visibility: [ |
| "//packages/modules/SdkExtensions:__subpackages__", |
| ], |
| } |
| |
| java_sdk_library { |
| name: "test_framework-sdkextensions", |
| defaults: ["framework-module-defaults"], |
| srcs: [":test_framework-sdkextensions-sources"], |
| permitted_packages: ["android.os.ext.test"], |
| min_sdk_version: "30", |
| apex_available: [ |
| "test_com.android.sdkext", |
| ], |
| impl_library_visibility: [ |
| "//packages/modules/SdkExtensions/tests/e2e:__subpackages__", |
| ], |
| lint: { |
| strict_updatability_linting: true, |
| }, |
| |
| // Test only SDK, don't check against released APIs. |
| unsafe_ignore_missing_latest_api: true, |
| |
| // Output the api files to a special directory that won't trigger an API |
| // review as it is a test only API. |
| api_dir: "apis_for_tests", |
| |
| // Testing only. |
| no_dist: true, |
| } |