aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/runtime
diff options
context:
space:
mode:
authorGravatar Nathan Harmata <nharmata@google.com>2015-11-13 01:43:59 +0000
committerGravatar Lukacs Berki <lberki@google.com>2015-11-13 10:23:23 +0000
commit1e66ccd2f18b03733f22b93ad8051ff2cf37d3dd (patch)
tree01b02da842123097e8fae49960d35758d31c3cde /src/main/java/com/google/devtools/build/lib/runtime
parentf6866778db261e5d8b95ee1c46622ceb19a609a4 (diff)
RELNOTES: Symlink dirents of directories containing a file named "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSIVE_TARGET_PATTERN" will *not* be traversed for transitive target patterns. The motivation here is to allow directories that intentionally contain wonky symlinks (e.g. foo/bar -> foo) to opt out of being consumed by Blaze. For example, given
<workspace>/foo bar bad -> . DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSIVE_TARGET_PATTERN the 'bad' symlink will *not* be traversed by the pattern '//foo/...'. -- MOS_MIGRATED_REVID=107738930
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/runtime')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/target-syntax.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/target-syntax.txt b/src/main/java/com/google/devtools/build/lib/runtime/commands/target-syntax.txt
index b2d7df8a56..3eec42e21b 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/target-syntax.txt
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/target-syntax.txt
@@ -25,6 +25,14 @@ Specifying all rules recursively beneath a package:
//foo/...:all Matches all rules in all packages beneath directory 'foo'.
//foo/... (ditto)
+ By default, directory symlinks are followed when performing this recursive
+ traversal. But we understand that your workspace may intentionally contain
+ directories with weird symlink structures that you don't want consumed. As
+ such, if a directory has a file named
+ 'DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSIVE_TARGET_PATTERN'
+ then symlinks in that directory won't be followed when evaluating recursive
+ target patterns.
+
Working-directory relative forms: (assume cwd = 'workspace/foo')
Target patterns which do not begin with '//' are taken relative to