// 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. // Defaults shared between real and test versions of the APEX. package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "external_conscrypt_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["external_conscrypt_license"], } apex_defaults { name: "com.android.conscrypt-defaults", updatable: true, androidManifest: ":com.android.conscrypt-androidManifest", compile_multilib: "both", bootclasspath_fragments: ["com.android.conscrypt-bootclasspath-fragment"], jni_libs: ["libjavacrypto"], prebuilts: ["current_sdkinfo"], multilib: { both: { binaries: ["boringssl_self_test"], }, }, key: "apex.conscrypt.key", certificate: ":com.android.conscrypt.certificate", // IMPORTANT: For the APEX to be installed on Android 10, // min_sdk_version should be 29. This enables the build system to make // sure the package compatible to Android 10 in two ways: // - build the APEX package compatible to Android 10 // so that the package can be installed. // - build artifacts (lib/javalib/bin) against Android 10 SDK // so that the artifacts can run. min_sdk_version: "29", } filegroup { name: "com.android.conscrypt-androidManifest", srcs: ["AndroidManifest.xml"], } apex_key { name: "apex.conscrypt.key", public_key: "com.android.conscrypt.avbpubkey", private_key: "com.android.conscrypt.pem", } android_app_certificate { name: "com.android.conscrypt.certificate", certificate: "com.android.conscrypt", } prebuilt_etc { name: "com.android.conscrypt.ld.config.txt", src: "ld.config.txt", filename: "ld.config.txt", installable: false, } // Production APEX apex { name: "com.android.conscrypt", visibility: [ "//vendor:__subpackages__", ], defaults: ["com.android.conscrypt-defaults"], manifest: "apex_manifest.json", binaries: ["boringssl_self_test"], prebuilts: ["com.android.conscrypt.ld.config.txt"], } // Encapsulate the contributions made by the com.android.conscrypt to the bootclasspath. bootclasspath_fragment { name: "com.android.conscrypt-bootclasspath-fragment", contents: ["conscrypt"], apex_available: ["com.android.conscrypt"], // The bootclasspath_fragments that provide APIs on which this depends. fragments: [ { apex: "com.android.art", module: "art-bootclasspath-fragment", }, ], // The APIs provided by this fragment. api: { stub_libs: [ "conscrypt.module.public.api", ], }, // The core platform APIs provided by this fragment. core_platform_api: { stub_libs: [ "conscrypt.module.platform.api", ], }, // Additional hidden API flags that override the default flags derived // from the api stub libraries. hidden_api: { max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"], }, }