MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / create_android_sdk_rule

Function create_android_sdk_rule

configure.py:711–772  ·  view source on GitHub ↗

Set Android variables and write Android SDK WORKSPACE rule.

(environ_cp)

Source from the content-addressed store, hash-verified

709
710
711def create_android_sdk_rule(environ_cp):
712 """Set Android variables and write Android SDK WORKSPACE rule."""
713 if is_windows() or is_cygwin():
714 default_sdk_path = cygpath('%s/Android/Sdk' % environ_cp['APPDATA'])
715 elif is_macos():
716 default_sdk_path = '%s/library/Android/Sdk' % environ_cp['HOME']
717 else:
718 default_sdk_path = '%s/Android/Sdk' % environ_cp['HOME']
719
720 def valid_sdk_path(path):
721 return (os.path.exists(path) and
722 os.path.exists(os.path.join(path, 'platforms')) and
723 os.path.exists(os.path.join(path, 'build-tools')))
724
725 android_sdk_home_path = prompt_loop_or_load_from_env(
726 environ_cp,
727 var_name='ANDROID_SDK_HOME',
728 var_default=default_sdk_path,
729 ask_for_var='Please specify the home path of the Android SDK to use.',
730 check_success=valid_sdk_path,
731 error_msg=('Either %s does not exist, or it does not contain the '
732 'subdirectories "platforms" and "build-tools".'))
733
734 platforms = os.path.join(android_sdk_home_path, 'platforms')
735 api_levels = sorted(os.listdir(platforms))
736 api_levels = [x.replace('android-', '') for x in api_levels]
737
738 def valid_api_level(api_level):
739 return os.path.exists(
740 os.path.join(android_sdk_home_path, 'platforms',
741 'android-' + api_level))
742
743 android_api_level = prompt_loop_or_load_from_env(
744 environ_cp,
745 var_name='ANDROID_API_LEVEL',
746 var_default=api_levels[-1],
747 ask_for_var=('Please specify the Android SDK API level to use. '
748 '[Available levels: %s]') % api_levels,
749 check_success=valid_api_level,
750 error_msg='Android-%s is not present in the SDK path.')
751
752 build_tools = os.path.join(android_sdk_home_path, 'build-tools')
753 versions = sorted(os.listdir(build_tools))
754
755 def valid_build_tools(version):
756 return os.path.exists(
757 os.path.join(android_sdk_home_path, 'build-tools', version))
758
759 android_build_tools_version = prompt_loop_or_load_from_env(
760 environ_cp,
761 var_name='ANDROID_BUILD_TOOLS_VERSION',
762 var_default=versions[-1],
763 ask_for_var=('Please specify an Android build tools version to use. '
764 '[Available versions: %s]') % versions,
765 check_success=valid_build_tools,
766 error_msg=('The selected SDK does not have build-tools version %s '
767 'available.'))
768

Callers 1

mainFunction · 0.85

Calls 8

is_windowsFunction · 0.85
is_cygwinFunction · 0.85
cygpathFunction · 0.85
is_macosFunction · 0.85
replaceMethod · 0.80
joinMethod · 0.45

Tested by

no test coverage detected