diff options
author | Adam Michael <ajmichael@google.com> | 2017-03-07 01:48:06 +0000 |
---|---|---|
committer | Vladimir Moskva <vladmos@google.com> | 2017-03-07 10:47:58 +0000 |
commit | 869d52f145c077e3499b88df752cebc60af51d66 (patch) | |
tree | 36d5db31623db1fee87644c3a675c7e5a4bed07d /src/main/java/com/google | |
parent | 8527ee53c66dc15ed033c67e55c393b0c3faa78b (diff) |
Fix NPE in Android{S,N}dkRepositoryFunction.
If neither the path attribute or the $ANDROID_HOME/$ANDROID_NDK_HOME environment
variable is set, we should report a helpful error message. A previous change
switched the lookup for the environment variable from the client environment map
to the skyframe environment map. However in the skyframe action environment map,
environment variables that are requested but not set in the environment have
null values.
Followup to change needed for #2621.
--
PiperOrigin-RevId: 149369076
MOS_MIGRATED_REVID=149369076
Diffstat (limited to 'src/main/java/com/google')
2 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java index bf0818b776..6373eb66ce 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java @@ -106,7 +106,7 @@ public class AndroidNdkRepositoryFunction extends RepositoryFunction { PathFragment pathFragment; if (attributes.isAttributeValueExplicitlySpecified("path")) { pathFragment = getTargetPath(rule, directories.getWorkspace()); - } else if (environ.containsKey(PATH_ENV_VAR)) { + } else if (environ.get(PATH_ENV_VAR) != null) { pathFragment = getAndroidNdkHomeEnvironmentVar(directories.getWorkspace(), environ); } else { throw new RepositoryFunctionException( 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 fb407e3040..598784a368 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 @@ -93,7 +93,7 @@ public class AndroidSdkRepositoryFunction extends RepositoryFunction { Path androidSdkPath; if (attributes.isAttributeValueExplicitlySpecified("path")) { androidSdkPath = fs.getPath(getTargetPath(rule, directories.getWorkspace())); - } else if (environ.containsKey(PATH_ENV_VAR)){ + } else if (environ.get(PATH_ENV_VAR) != null) { androidSdkPath = fs.getPath(getAndroidHomeEnvironmentVar(directories.getWorkspace(), environ)); } else { |