load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test")
load(":input_from_different_cfg.bzl", "input_from_different_cfg")

write_file(
    name = "generate_src",
    out = "src.rs",
    content = """
#[cfg(not(generated_file_as_root))]
pub fn forty_two() -> i32 { 42 }

#[cfg(generated_file_as_root)]
mod lib_for_src;

#[cfg(generated_file_as_root)]
pub fn get_forty_two_as_string() -> String {
    format!("{}", lib_for_src::forty_two())
}
""".splitlines(),
    newline = "unix",
)

rust_library(
    name = "use_generated_src",
    srcs = [
        "lib.rs",
        ":src.rs",
    ],
    edition = "2018",
    tags = ["norustfmt"],
)

rust_library(
    name = "use_generated_src_with_crate_root_defined",
    srcs = [
        "lib.rs",
        ":src.rs",
    ],
    crate_root = "lib.rs",
    edition = "2018",
    tags = ["norustfmt"],
)

rust_library(
    name = "use_generated_src_as_crate_root",
    srcs = [
        "lib.rs",
        "lib_for_src.rs",
        ":src.rs",
    ],
    crate_root = ":src.rs",
    edition = "2018",
    rustc_flags = ["--cfg=generated_file_as_root"],
    tags = ["norustfmt"],
)

# When no lib.rs, main.rs file exists, we try to use the file that carries
# the target's name as a crate_root.
rust_library(
    name = "src",
    srcs = [
        "lib_for_src.rs",
        ":src.rs",
    ],
    edition = "2018",
    rustc_flags = ["--cfg=generated_file_as_root"],
    tags = ["norustfmt"],
)

rust_test(
    name = "generated_src_test",
    crate = ":use_generated_src_with_crate_root_defined",
    edition = "2018",
    tags = ["norustfmt"],
)

rust_binary(
    name = "print_42",
    srcs = [
        "main.rs",
        ":src.rs",
    ],
    edition = "2018",
    tags = ["norustfmt"],
)

input_from_different_cfg(
    name = "generated_in_different_cfg",
)

filegroup(
    name = "input_from_different_cfg",
    srcs = [":generated_in_different_cfg"],
    output_group = "generated_file",
)

rust_library(
    name = "generated_src_in_different_cfg_as_root",
    srcs = [":input_from_different_cfg"],
    edition = "2018",
    tags = ["norustfmt"],
)

rust_test(
    name = "generated_src_in_different_cfg_as_root_test",
    crate = "generated_src_in_different_cfg_as_root",
    edition = "2018",
    tags = ["norustfmt"],
)

rust_library(
    name = "generated_src_in_different_cfg",
    srcs = [
        "root.rs",
        ":input_from_different_cfg",
    ],
    crate_root = "root.rs",
    edition = "2018",
    tags = ["norustfmt"],
)

rust_test(
    name = "generated_src_in_different_cfg_test",
    crate = "generated_src_in_different_cfg",
    edition = "2018",
    tags = ["norustfmt"],
)

bool_flag(
    name = "change_cfg",
    build_setting_default = False,
)
