params_file public API

Macros and Functions

params_file

Generates a UTF-8 encoded params file from a list of arguments.

Handles variable substitutions for args.

name

Name of the rule.

out

Path of the output file, relative to this package.

args

Arguments to concatenate into a params file.

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

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

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

kwargs

undocumented named arguments