"params_file public API"

load("//lib/private:params_file.bzl", _params_file = "params_file")

def params_file(
        name,
        out,
        args = [],
        data = [],
        newline = "auto",
        **kwargs):
    """Generates a UTF-8 encoded params file from a list of arguments.

    Handles variable substitutions for args.

    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.

            - 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

        **kwargs: undocumented named arguments
    """
    _params_file(
        name = name,
        out = out,
        args = args,
        data = data,
        newline = newline or "auto",
        **kwargs
    )
