// 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.

java_sdk_library {
    name: "android.net.ipsec.ike",
    installable: true,
    defaults: ["framework-module-defaults"],
    sdk_version: "module_current",

    // 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",
    ],

    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",
    ],
}

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"],
    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",
}

filegroup {
    name: "ike-test-utils",
    srcs: [
        "src/java/**/IkeCertUtils.java",
        "tests/iketests/src/java/**/CertUtils.java",
    ],
}
