load("@build_bazel_rules_android//android:rules.bzl", "android_library")
load("@tink_base//:tink_version.bzl", "TINK_VERSION_LABEL")
load("@tink_base//tools:common.bzl", "template_rule")

licenses(["notice"])

package(default_visibility = ["//visibility:public"])

# Primitives

java_library(
    name = "aead",
    srcs = ["Aead.java"],
)

java_library(
    name = "streaming_aead",
    srcs = ["StreamingAead.java"],
)

java_library(
    name = "deterministic_aead",
    srcs = ["DeterministicAead.java"],
)

java_library(
    name = "hybrid_decrypt",
    srcs = ["HybridDecrypt.java"],
)

java_library(
    name = "hybrid_encrypt",
    srcs = ["HybridEncrypt.java"],
)

java_library(
    name = "mac",
    srcs = ["Mac.java"],
)

java_library(
    name = "key_wrap",
    srcs = ["KeyWrap.java"],
)

java_library(
    name = "public_key_sign",
    srcs = ["PublicKeySign.java"],
)

java_library(
    name = "public_key_verify",
    srcs = ["PublicKeyVerify.java"],
)

# Other public interfaces

java_library(
    name = "crypto_format",
    srcs = ["CryptoFormat.java"],
    deps = ["//proto:tink_java_proto"],
)

android_library(
    name = "crypto_format-android",
    srcs = ["CryptoFormat.java"],
    deps = ["//proto:tink_java_proto_lite"],
)

java_library(
    name = "primitive_wrapper",
    srcs = ["PrimitiveWrapper.java"],
    deps = [":primitive_set"],
)

android_library(
    name = "primitive_wrapper-android",
    srcs = ["PrimitiveWrapper.java"],
    deps = [":primitive_set-android"],
)

java_library(
    name = "kms_client",
    srcs = ["KmsClient.java"],
    deps = [":aead"],
)

java_library(
    name = "kms_clients",
    srcs = ["KmsClients.java"],
    deps = [":kms_client"],
)

java_library(
    name = "keyset_writer",
    srcs = ["KeysetWriter.java"],
    deps = ["//proto:tink_java_proto"],
)

android_library(
    name = "keyset_writer-android",
    srcs = ["KeysetWriter.java"],
    deps = ["//proto:tink_java_proto_lite"],
)

java_library(
    name = "binary_keyset_writer",
    srcs = ["BinaryKeysetWriter.java"],
    deps = [
        ":keyset_writer",
        "//proto:tink_java_proto",
    ],
)

android_library(
    name = "binary_keyset_writer-android",
    srcs = ["BinaryKeysetWriter.java"],
    deps = [
        ":keyset_writer-android",
        "//proto:tink_java_proto_lite",
    ],
)

java_library(
    name = "json_keyset_writer",
    srcs = ["JsonKeysetWriter.java"],
    deps = [
        ":keyset_writer",
        "//proto:tink_java_proto",
        "//src/main/java/com/google/crypto/tink/subtle:base64",
        "@maven//:org_json_json",
    ],
)

android_library(
    name = "json_keyset_writer-android",
    srcs = ["JsonKeysetWriter.java"],
    deps = [
        ":keyset_writer",
        ":keyset_writer-android",
        "//proto:tink_java_proto_lite",
        "//src/main/java/com/google/crypto/tink/subtle:base64",
        "@maven//:org_json_json",
    ],
)

java_library(
    name = "keyset_reader",
    srcs = ["KeysetReader.java"],
    deps = ["//proto:tink_java_proto"],
)

android_library(
    name = "keyset_reader-android",
    srcs = ["KeysetReader.java"],
    deps = ["//proto:tink_java_proto_lite"],
)

java_library(
    name = "binary_keyset_reader",
    srcs = ["BinaryKeysetReader.java"],
    deps = [
        ":keyset_reader",
        "//proto:tink_java_proto",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "binary_keyset_reader-android",
    srcs = ["BinaryKeysetReader.java"],
    deps = [
        ":keyset_reader-android",
        "//proto:tink_java_proto_lite",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "json_keyset_reader",
    srcs = ["JsonKeysetReader.java"],
    deps = [
        ":keyset_reader",
        ":util",
        "//proto:tink_java_proto",
        "//src/main/java/com/google/crypto/tink/subtle:base64",
        "@com_google_protobuf//:protobuf_javalite",
        "@maven//:org_json_json",
    ],
)

android_library(
    name = "json_keyset_reader-android",
    srcs = ["JsonKeysetReader.java"],
    deps = [
        ":keyset_reader-android",
        ":util-android",
        "//proto:tink_java_proto_lite",
        "//src/main/java/com/google/crypto/tink/subtle:base64",
        "@com_google_protobuf//:protobuf_javalite",
        "@maven//:org_json_json",
    ],
)

java_library(
    name = "private_key_manager",
    srcs = ["PrivateKeyManager.java"],
    deps = [
        ":key_manager",
        "//proto:tink_java_proto",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "private_key_manager-android",
    srcs = ["PrivateKeyManager.java"],
    deps = [
        ":key_manager-android",
        "//proto:tink_java_proto_lite",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "privileged_registry",
    srcs = ["PrivilegedRegistry.java"],
    visibility = ["//visibility:public"],
    deps = [
        ":registry_cluster",
        "//proto:tink_java_proto",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "privileged_registry-android",
    srcs = ["PrivilegedRegistry.java"],
    visibility = ["//visibility:public"],
    deps = [
        ":registry_cluster-android",
        "//proto:tink_java_proto_lite",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "key_type_manager",
    srcs = ["KeyTypeManager.java"],
    deps = [
        "//proto:tink_java_proto",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "key_type_manager-android",
    srcs = ["KeyTypeManager.java"],
    deps = [
        "//proto:tink_java_proto_lite",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "key_template",
    srcs = ["KeyTemplate.java"],
    deps = [
        "//proto:tink_java_proto",
        "@com_google_protobuf//:protobuf_javalite",
        "@maven//:com_google_errorprone_error_prone_annotations",
    ],
)

android_library(
    name = "key_template-android",
    srcs = ["KeyTemplate.java"],
    deps = [
        "//proto:tink_java_proto_lite",
        "@com_google_protobuf//:protobuf_javalite",
        "@maven//:com_google_errorprone_error_prone_annotations",
    ],
)

java_library(
    name = "config",
    srcs = ["Config.java"],
    deps = [
        ":catalogue",
        ":key_manager",
        ":registry_cluster",
        "//proto:config_java_proto",
    ],
)

android_library(
    name = "config-android",
    srcs = ["Config.java"],
    deps = [
        ":catalogue-android",
        ":key_manager-android",
        ":registry_cluster-android",
        "//proto:config_java_proto_lite",
    ],
)

java_library(
    name = "private_key_manager_impl",
    srcs = ["PrivateKeyManagerImpl.java"],
    deps = [
        ":key_manager_impl",
        ":key_type_manager",
        ":private_key_manager",
        ":private_key_type_manager",
        "//proto:tink_java_proto",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "private_key_manager_impl-android",
    srcs = ["PrivateKeyManagerImpl.java"],
    deps = [
        ":key_manager_impl-android",
        ":key_type_manager-android",
        ":private_key_manager-android",
        ":private_key_type_manager-android",
        "//proto:tink_java_proto_lite",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "no_secret_keyset_handle",
    srcs = ["NoSecretKeysetHandle.java"],
    deps = [
        ":keyset_reader",
        ":registry_cluster",
        "//proto:tink_java_proto",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "no_secret_keyset_handle-android",
    srcs = ["NoSecretKeysetHandle.java"],
    deps = [
        ":keyset_reader-android",
        ":registry_cluster-android",
        "//proto:tink_java_proto_lite",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "cleartext_keyset_handle",
    srcs = ["CleartextKeysetHandle.java"],
    deps = [
        ":keyset_reader",
        ":keyset_writer",
        ":registry_cluster",
        "//proto:tink_java_proto",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "cleartext_keyset_handle-android",
    srcs = ["CleartextKeysetHandle.java"],
    deps = [
        ":keyset_reader-android",
        ":keyset_writer-android",
        ":registry_cluster-android",
        "//proto:tink_java_proto_lite",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "private_key_type_manager",
    srcs = ["PrivateKeyTypeManager.java"],
    deps = [
        ":key_type_manager",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "private_key_type_manager-android",
    srcs = ["PrivateKeyTypeManager.java"],
    deps = [
        ":key_type_manager-android",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "util",
    srcs = ["Util.java"],
    deps = ["//proto:tink_java_proto"],
)

android_library(
    name = "util-android",
    srcs = ["Util.java"],
    deps = ["//proto:tink_java_proto_lite"],
)

java_library(
    name = "catalogue",
    srcs = ["Catalogue.java"],
    deps = [
        ":key_manager",
        ":primitive_wrapper",
    ],
)

android_library(
    name = "catalogue-android",
    srcs = ["Catalogue.java"],
    deps = [
        ":key_manager-android",
        ":primitive_wrapper-android",
    ],
)

java_library(
    name = "key_manager",
    srcs = ["KeyManager.java"],
    deps = [
        "//proto:tink_java_proto",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "key_manager-android",
    srcs = ["KeyManager.java"],
    deps = [
        "//proto:tink_java_proto_lite",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "key_manager_impl",
    srcs = ["KeyManagerImpl.java"],
    deps = [
        ":key_manager",
        ":key_type_manager",
        "//proto:tink_java_proto",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

android_library(
    name = "key_manager_impl-android",
    srcs = ["KeyManagerImpl.java"],
    deps = [
        ":key_manager-android",
        ":key_type_manager-android",
        "//proto:tink_java_proto_lite",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)

java_library(
    name = "primitive_set",
    srcs = ["PrimitiveSet.java"],
    deps = [
        ":crypto_format",
        "//proto:tink_java_proto",
    ],
)

android_library(
    name = "primitive_set-android",
    srcs = ["PrimitiveSet.java"],
    deps = [
        ":crypto_format-android",
        "//proto:tink_java_proto_lite",
    ],
)

java_library(
    name = "registry_cluster",
    srcs = [
        "KeysetHandle.java",
        "KeysetManager.java",
        "Registry.java",
    ],
    deps = [
        ":aead",
        ":catalogue",
        ":key_manager",
        ":key_manager_impl",
        ":key_template",
        ":key_type_manager",
        ":keyset_reader",
        ":keyset_writer",
        ":primitive_set",
        ":primitive_wrapper",
        ":private_key_manager",
        ":private_key_manager_impl",
        ":private_key_type_manager",
        ":util",
        "//proto:tink_java_proto",
        "@com_google_protobuf//:protobuf_javalite",
        "@maven//:com_google_code_findbugs_jsr305",
    ],
)

android_library(
    name = "registry_cluster-android",
    srcs = [
        "KeysetHandle.java",
        "KeysetManager.java",
        "Registry.java",
    ],
    deps = [
        ":aead",
        ":catalogue-android",
        ":key_manager-android",
        ":key_manager_impl-android",
        ":key_template-android",
        ":key_type_manager-android",
        ":keyset_reader-android",
        ":keyset_writer-android",
        ":primitive_set-android",
        ":primitive_wrapper-android",
        ":private_key_manager-android",
        ":private_key_manager_impl-android",
        ":private_key_type_manager-android",
        ":util-android",
        "//proto:tink_java_proto_lite",
        "@com_google_protobuf//:protobuf_javalite",
        "@maven//:com_google_code_findbugs_jsr305",
    ],
)

template_rule(
    name = "version_java",
    src = "Version.java.templ",
    out = "Version.java",
    substitutions = {
        "TINK_VERSION_LABEL": "%s" % TINK_VERSION_LABEL,
    },
)

# Deprecated rules, will be removed soon.

full_protos = [
    "//proto:common_java_proto",
    "//proto:config_java_proto",
    "//proto:tink_java_proto",
]

lite_protos = [
    "//proto:common_java_proto_lite",
    "//proto:config_java_proto_lite",
    "//proto:tink_java_proto_lite",
]

# public interfaces

PRIMITIVES_SRCS = [
    "Aead.java",
    "DeterministicAead.java",
    "HybridDecrypt.java",
    "HybridEncrypt.java",
    "KeyWrap.java",
    "Mac.java",
    "PublicKeySign.java",
    "PublicKeyVerify.java",
    "StreamingAead.java",
]

java_library(
    name = "primitives",
    srcs = PRIMITIVES_SRCS,
    visibility = ["//visibility:public"],
)

# restricted APIs

CLEARTEXT_KEYSET_HANDLE_SRCS = [
    # Storing keyset in cleartext usually leads to security incidents.
    # To discourage users from doing that, the visibility of
    # CleartextKeysetHandle, which allows loading cleartext keyset,
    # is restricted.
    "CleartextKeysetHandle.java",
]

PRIVILEGED_REGISTRY = ["PrivilegedRegistry.java"]

filegroup(
    name = "cleartext_keyset_handle_srcs",
    srcs = CLEARTEXT_KEYSET_HANDLE_SRCS,
)

# core, without restricted APIs

java_library(
    name = "core",
    srcs = glob(
        ["*.java"],
        exclude = CLEARTEXT_KEYSET_HANDLE_SRCS + PRIMITIVES_SRCS + PRIVILEGED_REGISTRY,
    ) + [":version_java"],
    visibility = ["//visibility:public"],
    deps = full_protos + [
        ":primitives",
        "//src/main/java/com/google/crypto/tink/annotations",
        "//src/main/java/com/google/crypto/tink/subtle:base64",
        "@com_google_protobuf//:protobuf_java",
        "@maven//:com_google_code_findbugs_jsr305",
        "@maven//:com_google_errorprone_error_prone_annotations",
        "@maven//:org_json_json",
    ],
)

java_library(
    name = "tink",
    deprecation = "Use :core and :primitives instead",
    visibility = ["//visibility:public"],
    exports = [
        ":core",
        ":primitives",
    ],
)

java_library(
    name = "core-android",
    srcs = glob(
        ["*.java"],
        exclude = CLEARTEXT_KEYSET_HANDLE_SRCS + PRIMITIVES_SRCS + PRIVILEGED_REGISTRY + [
            # TextFormat doesn't work with lite protos
            "TextFormatKeysetReaders.java",
            "TextFormatKeysetWriters.java",
        ],
    ) + [":version_java"],
    visibility = ["//visibility:public"],
    deps = lite_protos + [
        ":primitives",
        "//src/main/java/com/google/crypto/tink/annotations",
        "//src/main/java/com/google/crypto/tink/subtle:base64",
        "@com_google_protobuf//:protobuf_javalite",
        "@maven//:com_google_code_findbugs_jsr305",
        "@maven//:com_google_errorprone_error_prone_annotations",
        "@maven//:org_json_json",
    ],
)

java_library(
    name = "android",
    deprecation = "Use :core-android and :primitives instead",
    visibility = ["//visibility:public"],
    exports = [
        ":core-android",
        ":primitives",
    ],
)

java_library(
    name = "cleartext_keyset_handle_android",
    srcs = [
        ":cleartext_keyset_handle_srcs",
    ],
    deps = lite_protos + [
        ":android",
        "@com_google_protobuf//:protobuf_javalite",
    ],
)
