diff options
author | Klaus Aehlig <aehlig@google.com> | 2018-08-09 08:12:03 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-09 08:13:26 -0700 |
commit | 33afd3cfc718d222e8b23584652ba0628538a4e5 (patch) | |
tree | 655c3d3a849596a315805c57802d7648b7963ffa /src/main/java/com/google/devtools/build/lib | |
parent | e7fcab3fbca88fb8637881f3b2cf0ea8a1e9c8bf (diff) |
Support a .bazelignore file
Add suport for a file .bazelignore, allowing to specify directories
that should be ignored. So far, even for the "ignored" directories,
the directory structure, including following symlinks, still has
to be well founded. We plan to lift that restriction in the future,
but already with the restriction, it is an improvement over the
status quo.
RELNOTES: bazel now supports a .bazelignore file specifying
directories to be ignored; however, these directories still
have to be well founded and, in particular, may not contain
symlink cycles.
Improves on #4888.
Change-Id: Icfe0b7f5c35eceea16e28944ca7711431b71271a
PiperOrigin-RevId: 208050372
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/BazelSkyframeExecutorConstants.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BazelSkyframeExecutorConstants.java b/src/main/java/com/google/devtools/build/lib/skyframe/BazelSkyframeExecutorConstants.java index f7b19ce28f..331a4e4836 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BazelSkyframeExecutorConstants.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BazelSkyframeExecutorConstants.java @@ -28,8 +28,19 @@ public class BazelSkyframeExecutorConstants { public static final ImmutableSet<PathFragment> HARDCODED_BLACKLISTED_PACKAGE_PREFIXES = ImmutableSet.of(); + /** + * The file .bazelignore can be used to specify directories to be ignored by bazel + * + * <p>This is intended for directories containing non-bazel sources (either generated, + * or versioned sources built by other tools) that happen to contain a file called BUILD.</p> + * + * <p>For the time being, this ignore functionality is limited by the fact that it is + * applied only after pattern expansion. So if a pattern expansion fails (e.g., due to + * symlink-cycles) and therefore fails the build, this ignore functionality currently + * has no chance to kick in.</p> + */ public static final PathFragment ADDITIONAL_BLACKLISTED_PACKAGE_PREFIXES_FILE = - PathFragment.EMPTY_FRAGMENT; + PathFragment.create(".bazelignore"); public static final CrossRepositoryLabelViolationStrategy CROSS_REPOSITORY_LABEL_VIOLATION_STRATEGY = CrossRepositoryLabelViolationStrategy.ERROR; |