params_file public API ## params_file
params_file(name, out, args, data, newline, kwargs)
Generates a UTF-8 encoded params file from a list of arguments. Handles variable substitutions for args. ### **Parameters** | Name | Description | Default Value | | :------------- | :------------- | :------------- | | name | Name of the rule. | none | | out | Path of the output file, relative to this package. | none | | args | Arguments to concatenate into a params file.

- Subject to 'Make variable' substitution. See https://docs.bazel.build/versions/main/be/make-variables.html.

- Subject to predefined source/output path variables substitutions.

The predefined variables execpath, execpaths, rootpath, rootpaths, location, and locations take label parameters (e.g. $(execpath //foo:bar)) and substitute the file paths denoted by that label.

See https://docs.bazel.build/versions/main/be/make-variables.html#predefined_label_variables for more info.

NB: This $(location) substition returns the manifest file path which differs from the *_binary & *_test args and genrule bazel substitions. This will be fixed in a future major release. See docs string of expand_location_into_runfiles macro in internal/common/expand_into_runfiles.bzl for more info.

- Subject to predefined variables & custom variable substitutions.

Predefined "Make" variables such as $(COMPILATION_MODE) and $(TARGET_CPU) are expanded. See https://docs.bazel.build/versions/main/be/make-variables.html#predefined_variables.

Custom variables are also expanded including variables set through the Bazel CLI with --define=SOME_VAR=SOME_VALUE. See https://docs.bazel.build/versions/main/be/make-variables.html#custom_variables.

Predefined genrule variables are not supported in this context. | [] | | data | Data for $(location) expansions in args. | [] | | newline | Line endings to use. One of ["auto", "unix", "windows"].

- "auto" for platform-determined - "unix" for LF - "windows" for CRLF | "auto" | | kwargs | undocumented named arguments | none |