bazel-lib/docs/copy_to_bin.md

1.4 KiB
Executable File

A rule that copies source files to the output tree.

This rule uses a Bash command (diff) on Linux/macOS/non-Windows, and a cmd.exe command (fc.exe) on Windows (no Bash is required).

Originally authored in rules_nodejs 8b5d27400d/internal/common/copy_to_bin.bzl

copy_to_bin

copy_to_bin(name, srcs, kwargs)

Copies a source file to output tree at the same workspace-relative path.

e.g. <execroot>/path/to/file -> <execroot>/bazel-out/<platform>/bin/path/to/file

This is useful to populate the output folder with all files needed at runtime, even those which aren't outputs of a Bazel rule.

This way you can run a binary in the output folder (execroot or runfiles_root) without that program needing to rely on a runfiles helper library or be aware that files are divided between the source tree and the output tree.

PARAMETERS

Name Description Default Value
name Name of the rule. none
srcs A list of labels. File(s) to copy. none
kwargs further keyword arguments, e.g. visibility none