load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test")

rust_library(
    name = "xatu_lib",
    crate_name = "xatu",
    srcs = [
        "ast.rs",
        "file_store.rs",
        "parser.rs",
        "rules.rs",
        "rules/deprecated_to_path.rs",
        "rules/empty_inherit.rs",
        "xatu.rs",
    ],
    deps = [
        "//src/status:status",
        "//third_party/crates:rnix",
        "//third_party/crates/rowan-0.16.1:rowan",
    ],
)

rust_test(
    name = "file_store_test",
    srcs = ["file_store_test.rs"],
    deps = [":xatu_lib"],
)

rust_test(
    name = "xatu_test",
    srcs = ["xatu_test.rs"],
    deps = [
        ":xatu_lib",
        "//src/status:status",
    ],
)

rust_binary(
    name = "xatu",
    crate_name = "xatu_cli",
    srcs = ["xatu_main.rs"],
    deps = [
        ":xatu_lib",
        "//src/monorepo:monorepo",
        "//src/status:status",
        "//third_party/crates:clap",
    ],
)
