1// Copyright 2018 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
15java_sdk_library {
16    name: "android.net.ipsec.ike",
17    defaults: ["framework-module-defaults"],
18    installable: true,
19
20    // ike is used as a shared library.
21    shared_library: true,
22
23    aidl: {
24        local_include_dirs: ["src/java"],
25    },
26    srcs: [":ike-srcs"],
27
28    static_libs: [
29        "ike-internals",
30    ],
31
32    libs: [
33        "unsupportedappusage",
34    ],
35
36    api_packages: [
37        "android.net.eap",
38        "android.net.ipsec.ike",
39        "android.net.ipsec.ike.exceptions",
40    ],
41
42    hidden_api_packages: [
43        "com.android.internal.net",
44    ],
45
46    // Shared filegroups of BouncyCastle and frameworks are jar-jar'ed to avoid
47    // being overwritten by the frameworks class copies.
48    jarjar_rules: "jarjar-rules-shared.txt",
49
50    hostdex: true, // for hiddenapi check
51    apex_available: [
52        "com.android.ipsec",
53        "test_com.android.ipsec",
54    ],
55
56    stubs_library_visibility: ["//visibility:public"],
57}
58
59filegroup {
60    name: "ike-srcs",
61    srcs: [
62        "src/java/**/*.java",
63        ":framework-ike-shared-srcs",
64    ],
65}
66
67filegroup {
68    name: "ike-api-srcs",
69    srcs: ["src/java/android/**/*.java"],
70    path: "src/java/",
71}
72
73// Provides internal classes needed to build the ike sources.
74java_library {
75    name: "ike-internals",
76    apex_available: [
77        "com.android.ipsec",
78        "test_com.android.ipsec",
79    ],
80    static_libs: ["bouncycastle_ike_digests"],
81    sdk_version: "core_current",
82}
83
84java_library {
85    name: "ike_test",
86    installable: false, // Used only for testing; never installed alone.
87    srcs: [":ike-srcs"],
88    libs: ["unsupportedappusage"],
89    static_libs: ["ike-internals"],
90
91    // Shared filegroups of BouncyCastle and frameworks are jar-jar'ed to avoid
92    // being overwritten by the frameworks class copies.
93    jarjar_rules: "jarjar-rules-shared.txt",
94}
95