xref: /aosp_15_r20/system/security/keystore2/test_utils/Android.bp (revision e1997b9af69e3155ead6e072d106a0077849ffba)
1*e1997b9aSAndroid Build Coastguard Worker// Copyright 2023, The Android Open Source Project
2*e1997b9aSAndroid Build Coastguard Worker//
3*e1997b9aSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*e1997b9aSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*e1997b9aSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*e1997b9aSAndroid Build Coastguard Worker//
7*e1997b9aSAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*e1997b9aSAndroid Build Coastguard Worker//
9*e1997b9aSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*e1997b9aSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*e1997b9aSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*e1997b9aSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*e1997b9aSAndroid Build Coastguard Worker// limitations under the License.
14*e1997b9aSAndroid Build Coastguard Worker
15*e1997b9aSAndroid Build Coastguard Workerpackage {
16*e1997b9aSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
17*e1997b9aSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
18*e1997b9aSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "system_security_license"
19*e1997b9aSAndroid Build Coastguard Worker    // to get the below license kinds:
20*e1997b9aSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
21*e1997b9aSAndroid Build Coastguard Worker    default_applicable_licenses: ["system_security_license"],
22*e1997b9aSAndroid Build Coastguard Worker}
23*e1997b9aSAndroid Build Coastguard Worker
24*e1997b9aSAndroid Build Coastguard Workerrust_defaults {
25*e1997b9aSAndroid Build Coastguard Worker    name: "libkeystore2_test_utils_defaults",
26*e1997b9aSAndroid Build Coastguard Worker    defaults: [
27*e1997b9aSAndroid Build Coastguard Worker        "keymint_use_latest_hal_aidl_rust",
28*e1997b9aSAndroid Build Coastguard Worker        "keystore2_use_latest_aidl_rust",
29*e1997b9aSAndroid Build Coastguard Worker    ],
30*e1997b9aSAndroid Build Coastguard Worker    rustlibs: [
31*e1997b9aSAndroid Build Coastguard Worker        "android.security.authorization-rust",
32*e1997b9aSAndroid Build Coastguard Worker        "libanyhow",
33*e1997b9aSAndroid Build Coastguard Worker        "libbinder_rs",
34*e1997b9aSAndroid Build Coastguard Worker        "libcxx",
35*e1997b9aSAndroid Build Coastguard Worker        "libkeystore2_selinux",
36*e1997b9aSAndroid Build Coastguard Worker        "liblog_rust",
37*e1997b9aSAndroid Build Coastguard Worker        "libnix",
38*e1997b9aSAndroid Build Coastguard Worker        "librand",
39*e1997b9aSAndroid Build Coastguard Worker        "librustutils",
40*e1997b9aSAndroid Build Coastguard Worker        "libserde",
41*e1997b9aSAndroid Build Coastguard Worker        "libserde_cbor",
42*e1997b9aSAndroid Build Coastguard Worker        "libthiserror",
43*e1997b9aSAndroid Build Coastguard Worker    ],
44*e1997b9aSAndroid Build Coastguard Worker    static_libs: [
45*e1997b9aSAndroid Build Coastguard Worker        "libcppbor",
46*e1997b9aSAndroid Build Coastguard Worker        "libkeymaster_portable",
47*e1997b9aSAndroid Build Coastguard Worker        "libkeymint_support",
48*e1997b9aSAndroid Build Coastguard Worker        "libkeystore-engine",
49*e1997b9aSAndroid Build Coastguard Worker        "libkeystore2_ffi_test_utils",
50*e1997b9aSAndroid Build Coastguard Worker    ],
51*e1997b9aSAndroid Build Coastguard Worker    shared_libs: [
52*e1997b9aSAndroid Build Coastguard Worker        "libbase",
53*e1997b9aSAndroid Build Coastguard Worker        "libcrypto",
54*e1997b9aSAndroid Build Coastguard Worker    ],
55*e1997b9aSAndroid Build Coastguard Worker}
56*e1997b9aSAndroid Build Coastguard Worker
57*e1997b9aSAndroid Build Coastguard Workerrust_library {
58*e1997b9aSAndroid Build Coastguard Worker    name: "libkeystore2_test_utils",
59*e1997b9aSAndroid Build Coastguard Worker    crate_name: "keystore2_test_utils",
60*e1997b9aSAndroid Build Coastguard Worker    srcs: ["lib.rs"],
61*e1997b9aSAndroid Build Coastguard Worker    defaults: ["libkeystore2_test_utils_defaults"],
62*e1997b9aSAndroid Build Coastguard Worker    static_libs: [
63*e1997b9aSAndroid Build Coastguard Worker        // Also include static_libs for the NDK variants so that they are available
64*e1997b9aSAndroid Build Coastguard Worker        // for dependencies.
65*e1997b9aSAndroid Build Coastguard Worker        "android.system.keystore2-V5-ndk",
66*e1997b9aSAndroid Build Coastguard Worker        "android.hardware.security.keymint-V4-ndk",
67*e1997b9aSAndroid Build Coastguard Worker    ],
68*e1997b9aSAndroid Build Coastguard Worker}
69*e1997b9aSAndroid Build Coastguard Worker
70*e1997b9aSAndroid Build Coastguard Workerrust_test {
71*e1997b9aSAndroid Build Coastguard Worker    name: "keystore2_test_utils_test",
72*e1997b9aSAndroid Build Coastguard Worker    srcs: ["lib.rs"],
73*e1997b9aSAndroid Build Coastguard Worker    defaults: ["libkeystore2_test_utils_defaults"],
74*e1997b9aSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
75*e1997b9aSAndroid Build Coastguard Worker    require_root: true,
76*e1997b9aSAndroid Build Coastguard Worker    auto_gen_config: true,
77*e1997b9aSAndroid Build Coastguard Worker    compile_multilib: "first",
78*e1997b9aSAndroid Build Coastguard Worker}
79*e1997b9aSAndroid Build Coastguard Worker
80*e1997b9aSAndroid Build Coastguard Workercc_library_static {
81*e1997b9aSAndroid Build Coastguard Worker    name: "libkeystore2_ffi_test_utils",
82*e1997b9aSAndroid Build Coastguard Worker    srcs: ["ffi_test_utils.cpp"],
83*e1997b9aSAndroid Build Coastguard Worker    defaults: [
84*e1997b9aSAndroid Build Coastguard Worker        "keymint_use_latest_hal_aidl_ndk_static",
85*e1997b9aSAndroid Build Coastguard Worker        "keystore2_use_latest_aidl_ndk_static",
86*e1997b9aSAndroid Build Coastguard Worker    ],
87*e1997b9aSAndroid Build Coastguard Worker    generated_headers: [
88*e1997b9aSAndroid Build Coastguard Worker        "cxx-bridge-header",
89*e1997b9aSAndroid Build Coastguard Worker        "libkeystore2_ffi_test_utils_bridge_header",
90*e1997b9aSAndroid Build Coastguard Worker    ],
91*e1997b9aSAndroid Build Coastguard Worker    generated_sources: ["libkeystore2_ffi_test_utils_bridge_code"],
92*e1997b9aSAndroid Build Coastguard Worker    static_libs: [
93*e1997b9aSAndroid Build Coastguard Worker        "libkeymaster_portable",
94*e1997b9aSAndroid Build Coastguard Worker        "libkeymint_support",
95*e1997b9aSAndroid Build Coastguard Worker        "libkeystore-engine",
96*e1997b9aSAndroid Build Coastguard Worker    ],
97*e1997b9aSAndroid Build Coastguard Worker    shared_libs: [
98*e1997b9aSAndroid Build Coastguard Worker        "libbase",
99*e1997b9aSAndroid Build Coastguard Worker        "libcrypto",
100*e1997b9aSAndroid Build Coastguard Worker    ],
101*e1997b9aSAndroid Build Coastguard Worker}
102*e1997b9aSAndroid Build Coastguard Worker
103*e1997b9aSAndroid Build Coastguard Workergenrule {
104*e1997b9aSAndroid Build Coastguard Worker    name: "libkeystore2_ffi_test_utils_bridge_code",
105*e1997b9aSAndroid Build Coastguard Worker    tools: ["cxxbridge"],
106*e1997b9aSAndroid Build Coastguard Worker    cmd: "$(location cxxbridge) $(in) >> $(out)",
107*e1997b9aSAndroid Build Coastguard Worker    srcs: ["ffi_test_utils.rs"],
108*e1997b9aSAndroid Build Coastguard Worker    out: ["libkeystore2_test_utils_cxx_generated.cc"],
109*e1997b9aSAndroid Build Coastguard Worker}
110*e1997b9aSAndroid Build Coastguard Worker
111*e1997b9aSAndroid Build Coastguard Workergenrule {
112*e1997b9aSAndroid Build Coastguard Worker    name: "libkeystore2_ffi_test_utils_bridge_header",
113*e1997b9aSAndroid Build Coastguard Worker    tools: ["cxxbridge"],
114*e1997b9aSAndroid Build Coastguard Worker    cmd: "$(location cxxbridge) $(in) --header >> $(out)",
115*e1997b9aSAndroid Build Coastguard Worker    srcs: ["ffi_test_utils.rs"],
116*e1997b9aSAndroid Build Coastguard Worker    out: ["ffi_test_utils.rs.h"],
117*e1997b9aSAndroid Build Coastguard Worker}
118