aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Adam Michael <ajmichael@google.com>2017-03-07 01:48:06 +0000
committerGravatar Vladimir Moskva <vladmos@google.com>2017-03-07 10:47:58 +0000
commit869d52f145c077e3499b88df752cebc60af51d66 (patch)
tree36d5db31623db1fee87644c3a675c7e5a4bed07d
parent8527ee53c66dc15ed033c67e55c393b0c3faa78b (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
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java2
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 {