package(default_visibility = ["//tools/build_defs:internal_pkg"])

licenses(["notice"])

load("//tools/build_defs:javac.bzl", "JAVACOPTS_OSS")

java_library(
    name = "libtinkey",
    srcs = glob(
        [
            "src/main/**/*.java",
        ],
        exclude = [
            "src/main/java/com/google/crypto/tink/tinkey/Tinkey.java",
        ],
    ),
    javacopts = JAVACOPTS_OSS,
    deps = [
        "//java/src/main/java/com/google/crypto/tink",
        "//java/src/main/java/com/google/crypto/tink:cleartext_keyset_handle",
        "//java/src/main/java/com/google/crypto/tink:primitives",
        "//java/src/main/java/com/google/crypto/tink/aead",
        "//java/src/main/java/com/google/crypto/tink/daead",
        "//java/src/main/java/com/google/crypto/tink/hybrid",
        "//java/src/main/java/com/google/crypto/tink/integration/awskms",
        "//java/src/main/java/com/google/crypto/tink/integration/gcpkms",
        "//java/src/main/java/com/google/crypto/tink/mac",
        "//java/src/main/java/com/google/crypto/tink/signature",
        "//java/src/main/java/com/google/crypto/tink/streamingaead",
        "//java/src/main/java/com/google/crypto/tink/subtle",
        "//proto:tink_java_proto",
        "@com_google_protobuf_javalite//:protobuf_java_lite",
        "@maven//:args4j_args4j",
    ],
)

java_binary(
    name = "tinkey",
    srcs = [
        "src/main/java/com/google/crypto/tink/tinkey/Tinkey.java",
    ],
    javacopts = JAVACOPTS_OSS,
    main_class = "com.google.crypto.tink.tinkey.Tinkey",
    visibility = ["//tools/testing:__subpackages__"],
    deps = [
        ":libtinkey",
        "//java/src/main/java/com/google/crypto/tink/config",
        "@maven//:args4j_args4j",
    ],
)

# tests

load("//tools:gen_java_test_rules.bzl", "gen_java_test_rules")

java_library(
    name = "generator_test",
    testonly = 1,
    srcs = glob([
        "src/test/**/*.java",
    ]),
    deps = [
        ":libtinkey",
        "//java:testonly",
        "//java:testutil",
        "@com_google_protobuf_javalite//:protobuf_java_lite",
        "@maven//:com_google_truth_truth",
        "@maven//:junit_junit",
    ],
)

gen_java_test_rules(
    data = [
        "//testdata:credentials",
    ],
    test_files = glob([
        "src/test/**/*Test.java",
    ]),
    deps = [
        ":generator_test",
    ],
)
