From e49886c55a7e2cfd6dd1fc52b037dc2d5a6ca019 Mon Sep 17 00:00:00 2001 From: Dmitry Lomov Date: Mon, 13 Feb 2017 14:19:07 +0000 Subject: Rollback of commit 3bed84ff177c7cbfd0c8d315829cc9dcb35fcf70. *** Reason for rollback *** This breaks Bazel CI: http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/556/console *** Original change description *** Make android_sdk_repository fail if api_level requested is not installed. This could have prevented https://github.com/bazelbuild/bazel/issues/2500. -- PiperOrigin-RevId: 147338519 MOS_MIGRATED_REVID=147338519 --- .../android/AndroidSdkRepositoryFunction.java | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'src/main') 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 e06a8933d5..4fa4f8f859 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 @@ -114,31 +114,17 @@ public class AndroidSdkRepositoryFunction extends RepositoryFunction { Transience.PERSISTENT); } - Integer defaultApiLevel; + String defaultApiLevel; if (attributes.isAttributeValueExplicitlySpecified("api_level")) { try { - defaultApiLevel = attributes.get("api_level", Type.INTEGER); + defaultApiLevel = attributes.get("api_level", Type.INTEGER).toString(); } catch (EvalException e) { throw new RepositoryFunctionException(e, Transience.PERSISTENT); } - if (!apiLevels.contains(defaultApiLevel)) { - throw new RepositoryFunctionException( - new EvalException( - rule.getLocation(), - String.format( - "Android SDK api level %s was requested but it is not installed in the Android " - + "SDK at %s. The api levels found were %s. Please choose an available api " - + "level or install api level %s from the Android SDK Manager.", - defaultApiLevel, - androidSdkPath, - apiLevels.toString(), - defaultApiLevel)), - Transience.PERSISTENT); - } } else { // If the api_level attribute is not explicitly set, we select the highest api level that is // available in the SDK. - defaultApiLevel = apiLevels.first(); + defaultApiLevel = String.valueOf(apiLevels.first()); } String buildToolsDirectory; @@ -203,7 +189,7 @@ public class AndroidSdkRepositoryFunction extends RepositoryFunction { .replace("%build_tools_version%", buildToolsVersion) .replace("%build_tools_directory%", buildToolsDirectory) .replace("%api_levels%", Iterables.toString(apiLevels)) - .replace("%default_api_level%", String.valueOf(defaultApiLevel)) + .replace("%default_api_level%", defaultApiLevel) .replace("%system_image_dirs%", systemImageDirsList); // All local maven repositories that are shipped in the Android SDK. -- cgit v1.2.3