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
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 |