package(default_visibility = ["//tools/testing:__subpackages__"])

licenses(["notice"])

cc_library(
    name = "cli_util",
    srcs = ["cli_util.cc"],
    hdrs = ["cli_util.h"],
    deps = [
        "//cc",
        "//cc:binary_keyset_reader",
        "//cc:cleartext_keyset_handle",
        "//cc:config",
        "//cc:json_keyset_reader",
        "//cc:json_keyset_writer",
        "//cc/config:tink_config",
        "//cc/util:status",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "aws_kms_aead_cli",
    srcs = ["aws_kms_aead_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
        "//cc/integration/awskms:aws_crypto",
        "//cc/integration/awskms:aws_kms_aead",
        "//cc/integration/awskms:aws_kms_client",
        "@aws_cpp_sdk//:aws_sdk_core",
    ],
)

cc_binary(
    name = "gcp_kms_aead_cli",
    srcs = ["gcp_kms_aead_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
        "//cc/integration/gcpkms:gcp_kms_aead",
        "//cc/integration/gcpkms:gcp_kms_client",
    ],
)

cc_binary(
    name = "keyset_reader_writer_cli",
    srcs = ["keyset_reader_writer_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
    ],
)

cc_binary(
    name = "version_cli_cc",
    srcs = ["version_cli.cc"],
    deps = [
        "//cc",
    ],
)

cc_binary(
    name = "aead_cli_cc",
    srcs = ["aead_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
    ],
)

cc_binary(
    name = "deterministic_aead_cli_cc",
    srcs = ["deterministic_aead_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
    ],
)

cc_binary(
    name = "streaming_aead_cli_cc",
    srcs = ["streaming_aead_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
        "//cc/util:istream_input_stream",
        "//cc/util:ostream_output_stream",
        "//cc/util:status",
    ],
)

cc_binary(
    name = "mac_cli_cc",
    srcs = ["mac_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
    ],
)

cc_binary(
    name = "hybrid_encrypt_cli_cc",
    srcs = ["hybrid_encrypt_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
    ],
)

cc_binary(
    name = "hybrid_decrypt_cli_cc",
    srcs = ["hybrid_decrypt_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
    ],
)

cc_binary(
    name = "public_key_sign_cli_cc",
    srcs = ["public_key_sign_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
    ],
)

cc_binary(
    name = "public_key_verify_cli_cc",
    srcs = ["public_key_verify_cli.cc"],
    deps = [
        ":cli_util",
        "//cc",
    ],
)

sh_test(
    name = "aws_kms_aead_test",
    size = "medium",
    srcs = [
        "aws_kms_aead_test.sh",
    ],
    data = [
        ":aws_kms_aead_cli",
        "//testdata:credentials",
        "//tools/testing/cross_language:test_lib",
    ],
    tags = ["no_rbe"],
)

sh_test(
    name = "gcp_kms_aead_test",
    size = "medium",
    srcs = [
        "gcp_kms_aead_test.sh",
    ],
    data = [
        ":gcp_kms_aead_cli",
        "//testdata:credentials",
        "//tools/testing/cross_language:test_lib",
        "@google_root_pem//file",
    ],
    tags = ["no_rbe"],
)
