"""Build file for rialo-s-program-error."""

load("@crates//:defs.bzl", "aliases", "all_crate_deps")
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")

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

# Export Cargo.toml for crate_universe
exports_files(["Cargo.toml"])

rust_library(
    name = "rialo-s-program-error",
    srcs = glob(["src/**/*.rs"]),
    aliases = aliases(),
    compile_data = ["Cargo.toml"],
    crate_features = ["borsh", "serde"],
    crate_name = "rialo_s_program_error",
    edition = "2021",
    proc_macro_deps = all_crate_deps(proc_macro = True),
    deps = [
        "//developer-frameworks/sdk/rialo-s-decode-error:rialo-s-decode-error",
        "//developer-frameworks/sdk/rialo-s-instruction:rialo-s-instruction",
        "//developer-frameworks/sdk/rialo-s-msg:rialo-s-msg",
        "//developer-frameworks/sdk/rialo-s-pubkey:rialo-s-pubkey",
    ] + all_crate_deps(normal = True),
)

rust_test(
    name = "rialo-s-program-error-test",
    aliases = aliases(),
    crate = ":rialo-s-program-error",
    crate_features = ["borsh", "serde"],
    edition = "2021",
    proc_macro_deps = all_crate_deps(
        proc_macro = True,
        proc_macro_dev = True,
    ),
    deps = [
        "//developer-frameworks/sdk/rialo-s-decode-error:rialo-s-decode-error",
        "//developer-frameworks/sdk/rialo-s-instruction:rialo-s-instruction",
        "//developer-frameworks/sdk/rialo-s-msg:rialo-s-msg",
        "//developer-frameworks/sdk/rialo-s-pubkey:rialo-s-pubkey",
    ] + all_crate_deps(
        normal = True,
        normal_dev = True,
    ),
)
