blob: ab19534bcba7dac2e7ffd4899cfe1f4f9f404501 [file] [log] [blame]
// 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",
// Indicates that pre-installed version of this apex can be compressed.
// Whether it actually will be compressed is controlled on per-device basis.
compressible: true,
// 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"],
},
}