blob: ae7b04600dffadf3f76e82b612eda36e130e87f6 [file] [log] [blame]
// Copyright 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.
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
java_sdk_library {
name: "android.net.ipsec.ike",
installable: true,
defaults: ["framework-module-defaults"],
// ike is used as a shared library.
shared_library: true,
aidl: {
local_include_dirs: ["src/java"],
},
srcs: [":ike-srcs"],
static_libs: [
"ike-internals",
],
libs: [
"unsupportedappusage",
"framework-annotations-lib",
"conscrypt.module.public.api",
"framework-connectivity",
],
stub_only_libs: ["framework-connectivity"],
api_packages: [
"android.net.eap",
"android.net.ipsec.ike",
"android.net.ipsec.ike.exceptions",
"android.net.ipsec.ike.exceptions.protocol",
"android.net.ipsec.ike.ike3gpp",
],
hidden_api_packages: [
"com.android.internal.net",
],
// Shared filegroups of BouncyCastle and frameworks are jar-jar'ed to avoid
// being overwritten by the frameworks class copies.
jarjar_rules: "jarjar-rules-shared.txt",
hostdex: true, // for hiddenapi check
apex_available: [
"com.android.ipsec",
"test_com.android.ipsec",
],
permitted_packages: [
"com.android.internal.net",
"android.net.ipsec.ike",
"android.net.eap",
],
min_sdk_version: "30",
}
filegroup {
name: "ike-srcs",
srcs: [
"src/java/**/*.java",
":framework-ike-shared-srcs",
],
}
filegroup {
name: "ike-api-srcs",
srcs: ["src/java/android/**/*.java"],
path: "src/java/",
}
filegroup {
name: "ike-aes-xcbc",
srcs: ["src/java/**/AesXCbcImpl.java"],
}
// Provides internal classes needed to build the ike sources.
java_library {
name: "ike-internals",
apex_available: [
"com.android.ipsec",
"test_com.android.ipsec",
],
static_libs: [
"bouncycastle_ike_digests",
"modules-utils-build",],
sdk_version: "module_current",
}
java_library {
name: "ike_test",
installable: false, // Used only for testing; never installed alone.
srcs: [":ike-srcs"],
libs: [
"unsupportedappusage",
"conscrypt.module.public.api"
],
static_libs: ["ike-internals"],
// Shared filegroups of BouncyCastle and frameworks are jar-jar'ed to avoid
// being overwritten by the frameworks class copies and break code coverage
// reports. IKE source files are jarjared to avoid this test jar being
// overshadowed by the IKE jar in framework and bootclasspath which will
// cause compiling and runtime errors respectively.
jarjar_rules: "jarjar-rules-test.txt",
}
java_library {
name: "ike-test-utils-dependency",
installable: false, // Used only for building the "ike-test-utils"
srcs: ["src/java/**/IkeCertUtils.java"],
jarjar_rules: "jarjar-rules-test.txt",
}
java_library {
name: "ike-test-utils",
srcs: ["tests/iketests/src/java/**/CertUtils.java"],
static_libs: ["ike-test-utils-dependency"],
libs: ["androidx.test.rules"],
visibility: ["//packages/modules/IPsec/tests/cts"]
}
sdk {
name: "ipsec-module-sdk",
java_sdk_libs: [
"android.net.ipsec.ike",
],
}