1// Copyright 2019 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Defaults shared between production and test versions of the APEX.
16package {
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20apex_defaults {
21    name: "com.android.ipsec-defaults",
22    updatable: true,
23    min_sdk_version: "30",
24    bootclasspath_fragments: ["com.android.ipsec-bootclasspath-fragment"],
25    prebuilts: ["current_sdkinfo"],
26    key: "com.android.ipsec.key",
27    certificate: ":com.android.ipsec.certificate",
28    // Indicates that pre-installed version of this apex can be compressed.
29    // Whether it actually will be compressed is controlled on per-device basis.
30    compressible: true,
31}
32
33// Production APEX
34apex {
35    name: "com.android.ipsec",
36    defaults: ["com.android.ipsec-defaults"],
37    manifest: "apex_manifest.json",
38}
39
40apex_key {
41    name: "com.android.ipsec.key",
42    public_key: "com.android.ipsec.avbpubkey",
43    private_key: "com.android.ipsec.pem"
44}
45
46android_app_certificate {
47     name: "com.android.ipsec.certificate",
48
49     // Will use com.android.ipsec.pk8 and com.android.ipsec.x509.pem
50     certificate: "com.android.ipsec",
51}
52
53// Encapsulate the contributions made by the com.android.ipsec to the bootclasspath.
54bootclasspath_fragment {
55    name: "com.android.ipsec-bootclasspath-fragment",
56    contents: ["android.net.ipsec.ike"],
57    apex_available: ["com.android.ipsec"],
58
59    // The bootclasspath_fragments that provide APIs on which this depends.
60    fragments: [
61        {
62            apex: "com.android.art",
63            module: "art-bootclasspath-fragment",
64        },
65        {
66            apex: "com.android.tethering",
67            module: "com.android.tethering-bootclasspath-fragment",
68        },
69    ],
70
71    // Additional stubs libraries that this fragment's contents use which are
72    // not provided by another bootclasspath_fragment.
73    additional_stubs: [
74        "android-non-updatable",
75    ],
76}
77