Set ANDROID_NDK_HOME and write Android NDK WORKSPACE rule.
(environ_cp)
| 681 | |
| 682 | |
| 683 | def create_android_ndk_rule(environ_cp): |
| 684 | """Set ANDROID_NDK_HOME and write Android NDK WORKSPACE rule.""" |
| 685 | if is_windows() or is_cygwin(): |
| 686 | default_ndk_path = cygpath('%s/Android/Sdk/ndk-bundle' % |
| 687 | environ_cp['APPDATA']) |
| 688 | elif is_macos(): |
| 689 | default_ndk_path = '%s/library/Android/Sdk/ndk-bundle' % environ_cp['HOME'] |
| 690 | else: |
| 691 | default_ndk_path = '%s/Android/Sdk/ndk-bundle' % environ_cp['HOME'] |
| 692 | |
| 693 | def valid_ndk_path(path): |
| 694 | return (os.path.exists(path) and |
| 695 | os.path.exists(os.path.join(path, 'source.properties'))) |
| 696 | |
| 697 | android_ndk_home_path = prompt_loop_or_load_from_env( |
| 698 | environ_cp, |
| 699 | var_name='ANDROID_NDK_HOME', |
| 700 | var_default=default_ndk_path, |
| 701 | ask_for_var='Please specify the home path of the Android NDK to use.', |
| 702 | check_success=valid_ndk_path, |
| 703 | error_msg=('The path %s or its child file "source.properties" ' |
| 704 | 'does not exist.')) |
| 705 | write_action_env_to_bazelrc('ANDROID_NDK_HOME', android_ndk_home_path) |
| 706 | write_action_env_to_bazelrc( |
| 707 | 'ANDROID_NDK_API_LEVEL', |
| 708 | get_ndk_api_level(environ_cp, android_ndk_home_path)) |
| 709 | |
| 710 | |
| 711 | def create_android_sdk_rule(environ_cp): |
no test coverage detected