diff options
author | 2017-03-29 17:34:22 +0000 | |
---|---|---|
committer | 2017-03-31 17:06:06 +0200 | |
commit | 8611e28f44af54680b3caa0a16e5efc9003dfdc9 (patch) | |
tree | a6205312adac5377c53306d7005ae9b98c9d560d /src/main | |
parent | 94fbad5b230ae0c02a88100f1978d40d17d57b71 (diff) |
Make Bazel resilient to files in /sdk/system-images.
Fixes https://github.com/bazelbuild/bazel/issues/2739.
RELNOTES: None
PiperOrigin-RevId: 151592983
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java index 598784a368..0c98f90ab5 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java @@ -391,14 +391,25 @@ public class AndroidSdkRepositoryFunction extends RepositoryFunction { return pathFragments.build(); } - /** Gets DirectoryListingValues for subdirectories of the directory or returns null. */ + /** + * Gets DirectoryListingValues for subdirectories of the directory or returns null. + * + * Ignores all non-directory files. + */ private static ImmutableMap<PathFragment, DirectoryListingValue> getSubdirectoryListingValues( final Path root, final PathFragment path, DirectoryListingValue directory, Environment env) throws RepositoryFunctionException, InterruptedException { Map<PathFragment, SkyKey> skyKeysForSubdirectoryLookups = Maps.transformEntries( Maps.uniqueIndex( - directory.getDirents(), + Iterables.filter( + directory.getDirents(), + new Predicate<Dirent>() { + @Override + public boolean apply(Dirent dirent) { + return dirent.getType().equals(Dirent.Type.DIRECTORY); + } + }), new Function<Dirent, PathFragment>() { @Override public PathFragment apply(Dirent input) { |