A rule that copies a directory to another place.

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

copy_directory

Copies a directory to another location.

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

If using this rule with source directories, it is recommended that you use the --host_jvm_args=-DBAZEL_TRACK_SOURCE_DIRECTORIES=1 startup option so that changes to files within source directories are detected. See https://github.com/bazelbuild/bazel/commit/c64421bc35214f0414e4f4226cc953e8c55fa0d2 for more context.

PARAMETERS

NameDescriptionDefault Value
nameName of the rule.none
srcThe directory to make a copy of. Can be a source directory or TreeArtifact.none
outPath of the output directory, relative to this package.none
kwargsfurther keyword arguments, e.g. visibilitynone

copy_directory_action

Helper function that creates an action to copy a directory from src to dst.

This helper is used by copy_directory. It is exposed as a public API so it can be used within other rule implementations.

PARAMETERS

NameDescriptionDefault Value
ctxThe rule context.none
srcThe directory to make a copy of. Can be a source directory or TreeArtifact.none
dstThe directory to copy to. Must be a TreeArtifact.none
is_windowsIf true, an cmd.exe action is created so there is no bash dependency.False