write_file
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).
Macros and Functions
write_file
Creates a UTF-8 encoded text file.
Example usage (generated):
load("@bazel_skylib//rules:write_file.bzl", "write_file")
write_file(
# Name of the rule.
name = "",
# Path of the output file, relative to this package.
out = "",
)
name
Required.
Name of the rule.
out
Required.
Path of the output file, relative to this package.
content
Optional. Default: []
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
Optional. Default: False
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.
newline
Optional. Default: "auto"
one of ["auto", "unix", "windows"]: line endings to use. "auto" for platform-determined, "unix" for LF, and "windows" for CRLF.
kwargs
Optional.
further keyword arguments, e.g. visibility