bazel-skylib/docs/write_file_doc.md

35 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

<!-- Generated with Stardoc: http://skydoc.bazel.build -->
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).
<a id="write_file"></a>
## write_file
<pre>
write_file(<a href="#write_file-name">name</a>, <a href="#write_file-out">out</a>, <a href="#write_file-content">content</a>, <a href="#write_file-is_executable">is_executable</a>, <a href="#write_file-newline">newline</a>, <a href="#write_file-kwargs">kwargs</a>)
</pre>
Creates a UTF-8 encoded text file.
**PARAMETERS**
| Name | Description | Default Value |
| :------------- | :------------- | :------------- |
| <a id="write_file-name"></a>name | Name of the rule. | none |
| <a id="write_file-out"></a>out | Path of the output file, relative to this package. | none |
| <a id="write_file-content"></a>content | A list of strings. Lines of text, the contents of the file. Newlines are added automatically after every line except the last one. | `[]` |
| <a id="write_file-is_executable"></a>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` |
| <a id="write_file-newline"></a>newline | one of ["auto", "unix", "windows"]: line endings to use. "auto" for platform-determined, "unix" for LF, and "windows" for CRLF. | `"auto"` |
| <a id="write_file-kwargs"></a>kwargs | further keyword arguments, e.g. `visibility` | none |