diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/StarlarkActionFactoryApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/StarlarkActionFactoryApi.java index a13a1ba458c1d9..aa6dcb07ed3572 100644 --- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/StarlarkActionFactoryApi.java +++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/StarlarkActionFactoryApi.java @@ -163,19 +163,21 @@ public interface StarlarkActionFactoryApi extends StarlarkValue { @StarlarkMethod( name = "symlink", doc = - "Creates an action that writes a symlink in the file system." - + "
This function must be called with exactly one of target_file
or "
- + "target_path
specified.
If target_file
is used, then output
must be declared "
- + "by declare_file()
or "
- + "declare_directory()
and match the "
- + "type of target_file
. In this case, output
will be a "
- + "symlink whose contents are the path of target_file
.
Otherwise, if target_path
is used, then output
must "
- + "be declared with "
- + "declare_symlink()
). In this case, "
- + "output
will be a symlink whose contents are target_path
."
- + "This can be used to create a dangling symlink.
This function must be"
+ + " called with exactly one of target_file
or target_path
"
+ + " specified.
When you use target_file
, declare"
+ + " output
with declare_file()
or declare_directory()
and match the"
+ + " type of target_file
. This makes the symlink point to"
+ + " target_file
. Bazel invalidates the output of this action whenever"
+ + " the target of the symlink or its contents change.
Otherwise, when you use"
+ + " target_path
, declare output
with declare_symlink()
). In this case, the"
+ + " symlink points to target_path
. Bazel never resolves the symlink"
+ + " and the output of this action is invalidated only when the text contents of the"
+ + " symlink (that is, the value of readlink()
) changes. In particular,"
+ + " this can be used to create a dangling symlink.