A rule that writes a UTF-8 encoded text file from user-specified contents.

native.genrule() is sometimes used to create a text file. The 'write_file' and
macro does this with a simpler interface than genrule.

The rules generated by the macro do not use Bash or any other shell to write the
file. Instead they use Starlark's built-in file writing action
(ctx.actions.write).

## write_file

load("@bazel_skylib//rules:write_file.bzl", "write_file")

write_file(name, out, content, is_executable, newline, **kwargs)

Creates a UTF-8 encoded text file.

**PARAMETERS**

| Name  | Description | Default Value |
| :------------- | :------------- | :------------- |
| name |  Name of the rule.   |  none |
| out |  Path of the output file, relative to this package.   |  none |
| content |  A list of strings. Lines of text, the contents of the file. Newlines are added automatically after every line except the last one.   |  `[]` |
| is_executable |  A boolean. Whether to make the output file executable. When True, the rule's output can be executed using `bazel run` and can be in the srcs of binary and test rules that require executable sources.   |  `False` |
| newline |  one of ["auto", "unix", "windows"]: line endings to use. "auto" for platform-determined, "unix" for LF, and "windows" for CRLF.   |  `"auto"` |
| kwargs |  further keyword arguments, e.g. `visibility`   |  none |


