aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar ajmichael <ajmichael@google.com>2017-03-29 17:34:22 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2017-03-31 17:06:06 +0200
commit8611e28f44af54680b3caa0a16e5efc9003dfdc9 (patch)
treea6205312adac5377c53306d7005ae9b98c9d560d /src/main
parent94fbad5b230ae0c02a88100f1978d40d17d57b71 (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.java15
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) {