load("//bazel:rust.bzl", "rust_binary", "rust_library", "rust_module", "rust_test")

rust_module(
    name = "graph",
    src = "src/graph.rs",
)

rust_module(
    name = "artifact",
    src = "src/artifact.rs",
    deps = [":graph"],
)

rust_library(
    name = "ariadne_lib",
    crate_name = "ariadne",
    src = "src/lib.rs",
    modules = [":artifact"],
    deps = [
        "//third_party/crates:serde",
        "//third_party/crates:serde_json",
    ],
)

rust_test(
    name = "ariadne_lib_test",
    src = "src/lib_test.rs",
    deps = [
        ":ariadne_lib",
        "//third_party/crates:serde_json",
    ],
)

rust_binary(
    name = "ariadne",
    crate_name = "ariadne_cli",
    src = "src/main.rs",
    deps = [":ariadne_lib"],
)

sh_binary(
    name = "extract_and_decompile",
    srcs = ["extract-and-decompile.sh"],
    data = ["extract-tools.nix"],
)
