# BUILD file for unicode_test
load(":unicode_test.bzl", "run_executable_rule", "write_file_rule", "run_executable_with_param_file_rule")

# In Russian and Bengali: "Down with mojibake! We want unicode!"
non_ascii_string = "Долой кракозябры! আমরা ইউনিকোড চাই!"

genrule(
    name = "genrule_cmd",
    cmd = "echo -n \"%s\" > \"$@\"" % non_ascii_string,
    outs = ["genrule_cmd.out"],
)

write_file_rule(
    name = "shell_echo",
    content = """#!/bin/bash
outfile=$1; shift
exec echo -n $@ > $outfile""",
    out = "shell_echo.sh",
    is_executable = True,
)

run_executable_rule(
    name = "action_run_argument",
    executable = "shell_echo.sh",
    extra_arguments = [non_ascii_string],
    out = "action_run_argument.out",
)

write_file_rule(
    name = "action_write_content",
    content = non_ascii_string,
    out = "action_write_content.out",
)

run_executable_with_param_file_rule(
    name = "action_run_param_file",
    executable = "cat_param_file.sh",
    content = non_ascii_string,
    out = "action_run_param_file.out",
)

write_file_rule(
    name = "cat_param_file",
    content = """#!/bin/bash
cat "$1" >> "$2";
""",
    out = "cat_param_file.sh",
    is_executable = True,
)