load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@cui//:defs.bzl", "aliases", "all_crate_deps")
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_doc", "rust_doc_test", "rust_library", "rust_test")
load("//crate_universe:version.bzl", "VERSION")

exports_files(
    glob([
        "src/**/*.bzl",
        "src/**/*.j2",
        "src/**/*.rs",
    ]) + [
        "Cargo.toml",
        "Cargo.lock",
        "defs.bzl",
        "extensions.bzl",
    ],
    visibility = ["//visibility:public"],
)

filegroup(
    name = "bzl_srcs",
    srcs = glob(["*.bzl"]) + [
        "//crate_universe/3rdparty:bzl_srcs",
        "//crate_universe/private:bzl_srcs",
        "//crate_universe/tools:bzl_srcs",
    ],
    visibility = ["//visibility:public"],
)

bzl_library(
    name = "bzl_lib",
    srcs = [":bzl_srcs"],
    visibility = ["//visibility:public"],
    deps = [
        "//rust:bzl_lib",
        "@bazel_features//:features",
    ],
)

filegroup(
    name = "rust_data",
    srcs = glob([
        "src/**/*.bzl",
        "src/**/*.j2",
        "src/**/*.sh",
        "src/**/*.bat",
    ]),
)

filegroup(
    name = "rust_srcs",
    srcs = glob([
        "src/**/*.rs",
    ]) + [
        ":rust_data",
    ],
    visibility = ["//crate_universe:__subpackages__"],
)

rust_library(
    name = "cargo_bazel",
    srcs = glob(
        include = ["src/**/*.rs"],
        exclude = ["src/main.rs"],
    ),
    aliases = aliases(),
    compile_data = [":rust_data"],
    edition = "2021",
    proc_macro_deps = all_crate_deps(proc_macro = True),
    # This target embeds additional, stamping related information (see
    # https://docs.bazel.build/versions/main/user-manual.html#workspace_status
    # for more information). Set stamp = -1 to indicate that it should respect
    # the value of the --stamp comandline flag.
    stamp = -1,
    version = VERSION,
    visibility = ["//visibility:public"],
    deps = all_crate_deps(normal = True),
)

rust_binary(
    name = "cargo_bazel_bin",
    srcs = ["src/main.rs"],
    edition = "2021",
    version = VERSION,
    visibility = ["//visibility:public"],
    deps = [":cargo_bazel"],
)

alias(
    name = "bin",
    actual = ":cargo_bazel_bin",
    visibility = ["//visibility:public"],
)

rust_test(
    name = "unit_test",
    aliases = aliases(),
    compile_data = glob(["test_data/**"]),
    crate = ":cargo_bazel",
    data = glob(["test_data/**"]) + [
        "//crate_universe/test_data/serialized_configs",
        "@rules_rust//rust/toolchain:current_cargo_files",
        "@rules_rust//rust/toolchain:current_rustc_files",
    ],
    proc_macro_deps = all_crate_deps(
        proc_macro_dev = True,
    ),
    rustc_env = {
        "CARGO": "$(rootpath @rules_rust//rust/toolchain:current_cargo_files)",
        "RUSTC": "$(rootpath @rules_rust//rust/toolchain:current_rustc_files)",
    },
    deps = [
        "@rules_rust//rust/runfiles",
    ] + all_crate_deps(
        normal_dev = True,
    ),
)

# Integration tests which invoke cargo and/or rustc as subprocesses.
rust_test(
    name = "cargo_integration_test",
    timeout = "long",
    srcs = ["tests/cargo_integration_test.rs"],
    aliases = aliases(),
    data = glob(["test_data/**"]) + [
        "//crate_universe/test_data/serialized_configs",
        "@rules_rust//rust/toolchain:current_cargo_files",
        "@rules_rust//rust/toolchain:current_rustc_files",
    ],
    edition = "2021",
    env = {
        "CARGO": "$(rlocationpath @rules_rust//rust/toolchain:current_cargo_files)",
        "RUSTC": "$(rlocationpath @rules_rust//rust/toolchain:current_rustc_files)",
    },
    proc_macro_deps = all_crate_deps(
        proc_macro_dev = True,
    ),
    tags = ["requires-network"],
    deps = [
        ":cargo_bazel",
        "@rules_rust//rust/runfiles",
    ] + all_crate_deps(
        normal = True,
    ),
)

rust_test(
    name = "versions_test",
    srcs = ["tests/version_test.rs"],
    data = [
        "Cargo.toml",
        "version.bzl",
    ],
    edition = "2021",
    rustc_env = {
        "CARGO_TOML": "$(rootpath :Cargo.toml)",
        "VERSION_BZL": "$(rootpath :version.bzl)",
    },
)

rust_doc(
    name = "rustdoc",
    crate = ":cargo_bazel",
    rustdoc_flags = [
        "--cap-lints=warn",
        "--document-private-items",
        "--allow=rustdoc::private_intra_doc_links",
    ],
    visibility = ["//visibility:public"],
)

rust_doc_test(
    name = "rustdoc_test",
    crate = ":cargo_bazel",
)
