Added Python3. (Still testing integration)
This commit is contained in:
87
project/jni/python3/mk/test_setup.sh
Executable file
87
project/jni/python3/mk/test_setup.sh
Executable file
@@ -0,0 +1,87 @@
|
||||
#!/usr/bin/env bash
|
||||
source ./env
|
||||
|
||||
# Force license terms.
|
||||
if [[ "$ANDROID_AGREE_LICENSE_TERMS" != y ]]; then
|
||||
echo "You didn't agree to the Android SDK license terms! Read them and then set ANDROID_AGREE_LICENSE_TERMS=y in env."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install the SDK manager.
|
||||
if [[ ! -d "$BASE/sdk/android-sdk-r${SDK_REV}" ]]; then
|
||||
case $(uname -s) in
|
||||
Darwin)
|
||||
[[ ! -f "$BASE/sdk/android-sdk-r${SDK_REV}.zip" ]] && (wget http://dl.google.com/android/android-sdk_r${SDK_REV}-macosx.zip -O "$BASE/sdk/android-sdk-r${SDK_REV}.zip" || exit 1)
|
||||
unzip -q "$BASE/sdk/android-sdk-r${SDK_REV}.zip" -d "$BASE/sdk" || exit 1
|
||||
mv "$BASE/sdk/android-sdk-macosx" "$BASE/sdk/android-sdk-r${SDK_REV}" || exit 1
|
||||
;;
|
||||
Linux)
|
||||
[[ ! -f "$BASE/sdk/android-sdk-r4{SDK_REV}.zip" ]] && (wget http://dl.google.com/android/android-sdk_r${SDK_REV}-linux.tgz -O "$BASE/sdk/android-sdk-r${SDK_REV}.tgz" || exit 1)
|
||||
tar -xf "$BASE/sdk/android-sdk-r${SDK_REV}.tgz" -C "$BASE/sdk" || exit 1
|
||||
mv "$BASE/sdk/android-sdk-linux" "$BASE/sdk/android-sdk-r${SDK_REV}" || exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
pushd "$BASE/sdk/android-sdk-r${SDK_REV}" > /dev/null
|
||||
|
||||
# Find SDK platform ID to use.
|
||||
SDK_ID=$(./tools/android -s list sdk -a |\
|
||||
grep -F 'SDK Platform Android' |\
|
||||
grep -Fm1 "API ${ANDROID_API_LEVEL}" |\
|
||||
awk '{print $1}' | tr -d '-')
|
||||
if [[ -z "${SDK_ID}" ]]; then
|
||||
echo "Could not find SDK package for API level ${ANDROID_API_LEVEL}, make sure it's available using:"
|
||||
echo " $BASE/sdk/android-sdk-r${SDK_REV}/tools/android list sdk"
|
||||
echo "and check if it's in there."
|
||||
exit 1
|
||||
fi
|
||||
# Install base SDKs.
|
||||
echo "${ANDROID_AGREE_LICENSE_TERMS}" | ./tools/android -s update sdk --no-ui -a --filter "${SDK_ID},tool,platform-tool" || exit 1
|
||||
|
||||
# Get SDK system image ID.
|
||||
case "${ANDROID_PLATFORM}" in
|
||||
arm)
|
||||
ABI_SEARCH_TERM="ARM EABI"
|
||||
ABI_OPT="armeabi-v7a"
|
||||
;;
|
||||
mips)
|
||||
echo "Unsupported Android test platform: ${ANDROID_PLATFORM}"
|
||||
echo "This platform has no system images available to test with."
|
||||
exit 1
|
||||
;;
|
||||
x86)
|
||||
ABI_SEARCH_TERM="Intel x86"
|
||||
ABI_OPT="x86"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown Android platform: ${ANDROID_PLATFORM}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
ABI_IMG_ID=$(./tools/android -s list sdk -a |\
|
||||
grep -F 'System Image' |\
|
||||
grep -F "${ABI_SEARCH_TERM}" |\
|
||||
grep -Fm1 "API ${ANDROID_API_LEVEL}" |\
|
||||
awk '{print $1}' | tr -d '-')
|
||||
if [[ -z "${ABI_IMG_ID}" ]]; then
|
||||
echo "Could not find ${ABI_SEARCH_TERM} system image for API level ${ANDROID_API_LEVEL}, make sure it's available using:"
|
||||
echo " $BASE/sdk/android-sdk-r${SDK_REV}/tools/android list sdk"
|
||||
echo "and check if it's in there."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install SDK system image
|
||||
echo "${ANDROID_AGREE_LICENSE_TERMS}" | ./tools/android -s update sdk --no-ui -a --filter "${ABI_IMG_ID}" || exit 1
|
||||
|
||||
# Make a VM.
|
||||
[[ ! -d "${ANDROID_TEST_PREFIX}" ]] && (mkdir "${ANDROID_TEST_PREFIX}" || exit 1)
|
||||
echo n | ./tools/android -s create avd -f \
|
||||
-t "android-${ANDROID_API_LEVEL}" \
|
||||
-n "${ANDROID_VM_NAME}-${TEST_IDENTIFIER}" \
|
||||
-p "${ANDROID_TEST_PREFIX}/${TEST_IDENTIFIER}" \
|
||||
-b "${ABI_OPT}" \
|
||||
|| exit 1
|
||||
|
||||
# We're done here.
|
||||
popd > /dev/null
|
||||
Reference in New Issue
Block a user