зеркало из https://github.com/microsoft/appium.git
589 строки
20 KiB
Bash
Executable File
589 строки
20 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# reset.sh: INSTALL OR RESET APPIUM
|
|
# This script should ensure that after pulling the most recent code,
|
|
# you will be in a state where you can run tests and use appium
|
|
#
|
|
set -e
|
|
should_reset_android=false
|
|
should_reset_ios=false
|
|
should_reset_selendroid=false
|
|
should_reset_selendroid_quick=false
|
|
should_reset_gappium=false
|
|
should_reset_firefoxos=false
|
|
should_reset_realsafari=false
|
|
code_sign_identity='';
|
|
provisioning_profile='';
|
|
include_dev=false
|
|
prod_deps=false
|
|
appium_home=$(pwd)
|
|
reset_successful=false
|
|
has_reset_unlock_apk=false
|
|
has_reset_ime_apk=false
|
|
has_reset_settings_apk=false
|
|
apidemos_reset=false
|
|
toggletest_reset=false
|
|
hardcore=false
|
|
grunt="$(npm bin)/grunt" # might not have grunt-cli installed with -g
|
|
verbose=false
|
|
chromedriver_version=false
|
|
chromedriver_install_all=false
|
|
npmlink=true
|
|
if test -d .git ; then
|
|
is_git_checkout=true
|
|
else
|
|
is_git_checkout=false
|
|
fi
|
|
|
|
while test $# != 0
|
|
do
|
|
case "$1" in
|
|
"--android") should_reset_android=true;;
|
|
"--ios") should_reset_ios=true;;
|
|
"--real-safari") should_reset_realsafari=true;;
|
|
"--code-sign") code_sign_identity=$2;;
|
|
"--profile") provisioning_profile=$2;;
|
|
"--selendroid") should_reset_selendroid=true;;
|
|
"--selendroid-quick") should_reset_selendroid_quick=true;;
|
|
"--firefoxos") should_reset_firefoxos=true;;
|
|
"--gappium") should_reset_gappium=true;;
|
|
"--dev") include_dev=true;;
|
|
"--prod") prod_deps=true;;
|
|
"-v") verbose=true;;
|
|
"--verbose") verbose=true;;
|
|
"--hardcore") hardcore=true;;
|
|
"--chromedriver-version") chromedriver_version=$2;;
|
|
"--chromedriver-install-all") chromedriver_install_all=true;;
|
|
"--udid") udid=$2;;
|
|
"--no-npmlink") npmlink=false;;
|
|
esac
|
|
|
|
if [[ -n "$2" ]] && [[ "$2" != --* ]]; then
|
|
shift
|
|
shift
|
|
else
|
|
shift
|
|
fi
|
|
done
|
|
|
|
run_cmd_output() {
|
|
if $verbose ; then
|
|
"$@"
|
|
else
|
|
"$@" 2> /dev/null
|
|
fi
|
|
}
|
|
|
|
echo "* Determining platform"
|
|
if [ $(run_cmd_output uname -s) == "Darwin" ]; then
|
|
platform="mac"
|
|
else
|
|
platform="linux"
|
|
fi
|
|
echo "* Platform is $platform"
|
|
|
|
if ! $should_reset_android && ! $should_reset_ios && ! $should_reset_selendroid \
|
|
&& ! $should_reset_gappium && ! $should_reset_firefoxos && ! $should_reset_selendroid_quick ; then
|
|
should_reset_android=true
|
|
if [ "$platform" == "mac" ]; then
|
|
should_reset_ios=true
|
|
fi
|
|
should_reset_selendroid=true
|
|
should_reset_gappium=true
|
|
should_reset_firefoxos=true
|
|
fi
|
|
|
|
if ! $should_reset_ios && $should_reset_realsafari; then
|
|
should_reset_ios=true
|
|
fi
|
|
|
|
if $include_dev && ! $is_git_checkout ; then
|
|
echo "Cannot run reset.sh in --dev mode if this is not a git repo"
|
|
exit 1;
|
|
fi
|
|
|
|
run_cmd() {
|
|
if $verbose ; then
|
|
"$@"
|
|
else
|
|
"$@" >/dev/null 2>&1
|
|
fi
|
|
}
|
|
|
|
reset_npm() {
|
|
echo "RESETTING NPM"
|
|
if $hardcore ; then
|
|
echo "* Removing NPM modules"
|
|
run_cmd rm -rf node_modules
|
|
echo "* Clearing out old .appiumconfig.json"
|
|
run_cmd rm -rf ./.appiumconfig #remove legacy config file
|
|
run_cmd rm -rf ./.appiumconfig.json
|
|
fi
|
|
if $prod_deps ; then
|
|
echo "* Installing new or updated NPM modules"
|
|
run_cmd npm install --production .
|
|
else
|
|
echo "* Installing new or updated NPM modules (including devDeps)"
|
|
run_cmd npm install .
|
|
fi
|
|
}
|
|
|
|
reset_general() {
|
|
echo "RESETTING GENERAL"
|
|
if $hardcore ; then
|
|
echo "* Clearing out build dir"
|
|
run_cmd rm -rf build
|
|
fi
|
|
run_cmd mkdir -p build
|
|
if $is_git_checkout ; then
|
|
echo "* Setting git revision data"
|
|
run_cmd "$grunt" setGitRev
|
|
if $include_dev ; then
|
|
echo "* Linking git pre-commit hook"
|
|
run_cmd rm -rf "$(pwd)"/.git/hooks/pre-commit
|
|
run_cmd ln -s "$(pwd)"/test/pre-commit-hook.sh "$(pwd)"/.git/hooks/pre-commit
|
|
fi
|
|
else
|
|
echo "* Nothing to do, not a git repo"
|
|
fi
|
|
}
|
|
|
|
reset_sample_code() {
|
|
echo "* Initializing sample code and test apps"
|
|
if $hardcore ; then
|
|
run_cmd "$grunt" getSampleCode:hardcore
|
|
else
|
|
run_cmd "$grunt" getSampleCode
|
|
fi
|
|
}
|
|
|
|
reset_ios() {
|
|
echo "RESETTING IOS"
|
|
set +e
|
|
sdk_ver=$(xcrun --sdk iphonesimulator --show-sdk-version 2>/dev/null)
|
|
sdk_status=$?
|
|
ios7_active=false
|
|
ios8_active=false
|
|
if [[ "$sdk_ver" == "7."* ]]; then
|
|
ios7_active=true
|
|
elif [[ "$sdk_ver" == "8."* ]]; then
|
|
ios8_active=true
|
|
fi
|
|
if [ $sdk_status -gt 0 ] || (! $ios7_active && ! $ios8_active); then
|
|
echo "---------------------------------------------------"
|
|
echo "WARNING: you do not appear to have iOS7/8 SDK active"
|
|
echo "---------------------------------------------------"
|
|
fi
|
|
set -e
|
|
echo "* Setting iOS config to Appium's version"
|
|
run_cmd "$grunt" setConfigVer:ios
|
|
if $include_dev ; then
|
|
if $npmlink ; then
|
|
echo "* Cloning/npm linking appium-atoms"
|
|
run_cmd ./bin/npmlink.sh -l appium-atoms
|
|
echo "* Cloning/npm linking appium-instruments"
|
|
run_cmd ./bin/npmlink.sh -l appium-instruments
|
|
echo "* Cloning/npm linking appium-uiauto"
|
|
run_cmd ./bin/npmlink.sh -l appium-uiauto
|
|
fi
|
|
fi
|
|
if $should_reset_realsafari; then
|
|
echo "* Building SafariLauncher for real devices"
|
|
run_cmd rm -rf build/SafariLauncher
|
|
run_cmd mkdir -p build/SafariLauncher
|
|
touch build/SafariLauncher/target.xcconfig
|
|
echo "BUNDLE_ID = com.bytearc.SafariLauncher" >> build/SafariLauncher/target.xcconfig
|
|
if [[ ! -z $code_sign_identity ]]; then
|
|
echo "IDENTITY_NAME = " $code_sign_identity >> build/SafariLauncher/target.xcconfig
|
|
else
|
|
echo "IDENTITY_NAME = iPhone Developer" >> build/SafariLauncher/target.xcconfig
|
|
fi
|
|
echo "IDENTITY_CODE = " $provisioning_profile >> build/SafariLauncher/target.xcconfig
|
|
run_cmd "$grunt" buildSafariLauncherApp:iphoneos:"$appium_home/build/SafariLauncher/target.xcconfig"
|
|
echo "* Copying SafariLauncher for real devices to build"
|
|
run_cmd zip -r build/SafariLauncher/SafariLauncher node_modules/safari-launcher/build/Release-iphoneos/SafariLauncher.app
|
|
fi
|
|
echo "* Cloning/updating libimobiledevice-macosx"
|
|
run_cmd git submodule update --init submodules/libimobiledevice-macosx
|
|
echo "* Copying libimobiledevice-macosx to build"
|
|
run_cmd rm -rf build/libimobiledevice-macosx
|
|
run_cmd cp -r submodules/libimobiledevice-macosx build/libimobiledevice-macosx
|
|
echo "* Cloning/updating deviceconsole"
|
|
run_cmd git submodule update --init submodules/deviceconsole
|
|
echo "* Building deviceconsole"
|
|
run_cmd pushd submodules/deviceconsole
|
|
run_cmd make
|
|
run_cmd popd
|
|
echo "* Copying deviceconsole to build"
|
|
run_cmd rm -rf build/deviceconsole
|
|
run_cmd mkdir -p build/deviceconsole
|
|
run_cmd cp -r submodules/deviceconsole/deviceconsole build/deviceconsole/deviceconsole
|
|
}
|
|
|
|
get_apidemos() {
|
|
echo "* Cloning/updating Android test app: ApiDemos"
|
|
run_cmd git submodule update --init submodules/ApiDemos
|
|
run_cmd rm -rf sample-code/apps/ApiDemos
|
|
run_cmd ln -s "$appium_home"/submodules/ApiDemos "$appium_home"/sample-code/apps/ApiDemos
|
|
}
|
|
|
|
uninstall_android_app() {
|
|
echo "* Attempting to uninstall android app $1"
|
|
if (which adb >/dev/null); then
|
|
if (adb devices | grep "device$" >/dev/null); then
|
|
if [[ ! -z $udid ]]; then
|
|
if (adb devices | grep "^$udid" >/dev/null); then
|
|
run_cmd adb -s $udid uninstall $1
|
|
else
|
|
echo "* Device with serial $udid not found, skipping"
|
|
fi
|
|
elif [[ $(adb devices | grep "device$" | wc -l) -eq 1 ]]; then
|
|
run_cmd adb uninstall $1
|
|
else
|
|
echo "* More than one device present, but no device serial provided, skipping (use --udid)"
|
|
fi
|
|
else
|
|
echo "* No devices found, skipping"
|
|
fi
|
|
else
|
|
echo "* ADB not found, skipping"
|
|
fi
|
|
}
|
|
|
|
reset_apidemos() {
|
|
run_cmd get_apidemos
|
|
echo "* Configuring and cleaning/building Android test app: ApiDemos"
|
|
run_cmd "$grunt" configAndroidApp:ApiDemos
|
|
run_cmd "$grunt" buildAndroidApp:ApiDemos
|
|
uninstall_android_app io.appium.android.apis
|
|
apidemos_reset=true
|
|
}
|
|
|
|
reset_toggle_test() {
|
|
echo "* Configuring and cleaning/building Android test app: ToggleTest"
|
|
run_cmd "$grunt" configAndroidApp:ToggleTest
|
|
run_cmd "$grunt" buildAndroidApp:ToggleTest
|
|
uninstall_android_app com.example.toggletest
|
|
toggletest_reset=true
|
|
}
|
|
|
|
reset_unlock_apk() {
|
|
if ! $has_reset_unlock_apk; then
|
|
run_cmd rm -rf build/unlock_apk
|
|
run_cmd mkdir -p build/unlock_apk
|
|
echo "* Building Unlock.apk"
|
|
unlock_base="submodules/unlock_apk"
|
|
run_cmd git submodule update --init $unlock_base
|
|
run_cmd pushd $unlock_base
|
|
run_cmd ant clean && run_cmd ant debug
|
|
run_cmd popd
|
|
run_cmd cp $unlock_base/bin/unlock_apk-debug.apk build/unlock_apk
|
|
has_reset_unlock_apk=true
|
|
fi
|
|
}
|
|
|
|
reset_unicode_ime() {
|
|
if ! $has_reset_ime_apk; then
|
|
run_cmd rm -rf build/unicode_ime_apk
|
|
run_cmd mkdir -p build/unicode_ime_apk
|
|
echo "* Building UnicodeIME.apk"
|
|
ime_base="submodules/io.appium.android.ime"
|
|
run_cmd git submodule update --init $ime_base
|
|
run_cmd pushd $ime_base
|
|
run_cmd ant clean && run_cmd ant debug
|
|
run_cmd popd
|
|
run_cmd cp $ime_base/bin/UnicodeIME-debug.apk build/unicode_ime_apk
|
|
uninstall_android_app "io.appium.android.ime"
|
|
has_reset_ime_apk=true
|
|
fi
|
|
}
|
|
|
|
reset_settings_apk() {
|
|
if ! $has_reset_settings_apk; then
|
|
run_cmd rm -rf build/settings_apk
|
|
run_cmd mkdir -p build/settings_apk
|
|
echo "* Building Settings.apk"
|
|
settings_base="submodules/io.appium.settings"
|
|
run_cmd git submodule update --init $settings_base
|
|
run_cmd pushd $settings_base
|
|
run_cmd ant clean && run_cmd ant debug
|
|
run_cmd popd
|
|
run_cmd cp $settings_base/bin/settings_apk-debug.apk build/settings_apk
|
|
uninstall_android_app "io.appium.settings"
|
|
has_reset_settings_apk=true
|
|
fi
|
|
}
|
|
|
|
link_appium_adb() {
|
|
echo "* Cloning/npm linking appium-adb"
|
|
run_cmd ./bin/npmlink.sh -l appium-adb
|
|
}
|
|
|
|
reset_android() {
|
|
echo "RESETTING ANDROID"
|
|
require_java
|
|
echo "* Configuring Android bootstrap"
|
|
run_cmd rm -rf build/android_bootstrap
|
|
run_cmd "$grunt" configAndroidBootstrap
|
|
echo "* Building Android bootstrap"
|
|
run_cmd "$grunt" buildAndroidBootstrap
|
|
reset_unlock_apk
|
|
reset_unicode_ime
|
|
reset_settings_apk
|
|
if $include_dev ; then
|
|
reset_apidemos
|
|
reset_toggle_test
|
|
if $npmlink ; then
|
|
link_appium_adb
|
|
fi
|
|
fi
|
|
echo "* Setting Android config to Appium's version"
|
|
run_cmd "$grunt" setConfigVer:android
|
|
reset_chromedriver
|
|
}
|
|
|
|
require_java() {
|
|
[ '${JAVA_HOME:?"Warning: Make sure JAVA_HOME is set properly for Java builds."}' ]
|
|
}
|
|
|
|
reset_selendroid_quick() {
|
|
echo "RESETTING SELENDROID (QUICK)"
|
|
run_cmd rm -rf "${appium_home}/build/selendroid"
|
|
run_cmd mkdir -p "${appium_home}/build/selendroid"
|
|
run_cmd rm -rf /tmp/appium/selendroid
|
|
run_cmd mkdir -p /tmp/appium/selendroid
|
|
run_cmd pushd /tmp/appium/selendroid
|
|
echo "* Downloading metatata"
|
|
run_cmd wget http://search.maven.org/remotecontent?filepath=io/selendroid/selendroid-standalone/maven-metadata.xml -O maven-metadata.xml
|
|
selendroid_version=$(grep latest maven-metadata.xml | sed 's/ *<\/*latest> *//g')
|
|
echo "* Selendroid version is ${selendroid_version}"
|
|
echo "* Downloading selendroid server"
|
|
run_cmd wget https://github.com/selendroid/selendroid/releases/download/${selendroid_version}/selendroid-standalone-${selendroid_version}-with-dependencies.jar
|
|
ANDROID_MANIFEST=$(jar tf selendroid-standalone-${selendroid_version}-with-dependencies.jar| grep AndroidManifest | grep -v class)
|
|
run_cmd jar xf selendroid-standalone-${selendroid_version}-with-dependencies.jar $ANDROID_MANIFEST prebuild/selendroid-server-${selendroid_version}.apk
|
|
mv $ANDROID_MANIFEST AndroidManifest.xml
|
|
run_cmd cp /tmp/appium/selendroid/prebuild/selendroid-server-${selendroid_version}.apk "${appium_home}/build/selendroid/selendroid.apk"
|
|
run_cmd cp /tmp/appium/selendroid/AndroidManifest.xml "${appium_home}/build/selendroid/AndroidManifest.xml"
|
|
run_cmd popd
|
|
run_cmd "$grunt" fixSelendroidAndroidManifest
|
|
if $include_dev ; then
|
|
if $npmlink ; then
|
|
link_appium_adb
|
|
fi
|
|
if ! $apidemos_reset; then
|
|
reset_apidemos
|
|
uninstall_android_app io.appium.android.apis.selendroid
|
|
fi
|
|
if ! $toggletest_reset; then
|
|
reset_toggle_test
|
|
uninstall_android_app io.appium.toggletest.selendroid
|
|
fi
|
|
run_cmd pushd /tmp/appium/selendroid
|
|
echo "* Downloading selendroid test app"
|
|
run_cmd wget http://search.maven.org/remotecontent?filepath=io/selendroid/selendroid-test-app/${selendroid_version}/selendroid-test-app-${selendroid_version}.apk -O selendroid-test-app-${selendroid_version}.apk
|
|
run_cmd popd
|
|
run_cmd rm -rf "${appium_home}/sample-code/apps/selendroid-test-app.apk"
|
|
cp /tmp/appium/selendroid/selendroid-test-app-${selendroid_version}.apk "${appium_home}/sample-code/apps/selendroid-test-app.apk"
|
|
echo "* Attempting to uninstall app"
|
|
# uninstalling app
|
|
uninstall_android_app io.selendroid.testapp.selendroid
|
|
uninstall_android_app io.selendroid.testapp
|
|
# keep older versions of package around to clean up
|
|
uninstall_android_app org.openqa.selendroid.testapp.selendroid
|
|
uninstall_android_app org.openqa.selendroid.testapp
|
|
fi
|
|
echo "* Setting Selendroid config to Appium's version"
|
|
run_cmd "$grunt" setConfigVer:selendroid
|
|
}
|
|
|
|
reset_selendroid() {
|
|
echo "RESETTING SELENDROID"
|
|
require_java
|
|
echo "* Clearing out any old modified server apks"
|
|
run_cmd rm -rf /tmp/selendroid*.apk
|
|
echo "* Cloning/updating selendroid"
|
|
run_cmd rm -rf submodules/selendroid/selendroid-server/target
|
|
run_cmd git submodule update --init submodules/selendroid
|
|
run_cmd rm -rf selendroid
|
|
echo "* Building selendroid server and supporting libraries"
|
|
run_cmd "$grunt" buildSelendroidServer
|
|
run_cmd pushd submodules/selendroid
|
|
run_cmd git reset --hard
|
|
run_cmd popd
|
|
reset_unlock_apk
|
|
reset_unicode_ime
|
|
if $include_dev ; then
|
|
if $npmlink ; then
|
|
link_appium_adb
|
|
fi
|
|
if ! $apidemos_reset; then
|
|
reset_apidemos
|
|
uninstall_android_app io.appium.android.apis.selendroid
|
|
fi
|
|
if ! $toggletest_reset; then
|
|
reset_toggle_test
|
|
uninstall_android_app io.appium.toggletest.selendroid
|
|
fi
|
|
echo "* Linking selendroid test app"
|
|
run_cmd rm -rf "$appium_home"/sample-code/apps/selendroid-test-app.apk
|
|
test_apk=$(ls "$appium_home"/submodules/selendroid/selendroid-test-app/target/*.apk | head -1)
|
|
run_cmd ln -s "$test_apk" "$appium_home"/sample-code/apps/selendroid-test-app.apk
|
|
uninstall_android_app io.selendroid.testapp.selendroid
|
|
uninstall_android_app io.selendroid.testapp
|
|
# keep older versions of package around to clean up
|
|
uninstall_android_app org.openqa.selendroid.testapp.selendroid
|
|
uninstall_android_app org.openqa.selendroid.testapp
|
|
fi
|
|
echo "* Setting Selendroid config to Appium's version"
|
|
run_cmd "$grunt" setConfigVer:selendroid
|
|
}
|
|
|
|
reset_gappium() {
|
|
if $include_dev ; then
|
|
echo "RESETTING GAPPIUM"
|
|
if $hardcore ; then
|
|
echo "* Clearing out Gappium submodule"
|
|
run_cmd rm -rf "$appium_home"/submodules/io.appium.gappium.sampleapp
|
|
fi
|
|
echo "* Clearing out old links"
|
|
run_cmd rm -rf "$appium_home"/sample-code/apps/io.appium.gappium.sampleapp
|
|
echo "* Cloning/updating Gappium"
|
|
run_cmd git submodule update --init submodules/io.appium.gappium.sampleapp
|
|
run_cmd pushd submodules/io.appium.gappium.sampleapp
|
|
echo "* Building Gappium test app"
|
|
run_cmd ./reset.sh -v --platform $platform
|
|
run_cmd popd
|
|
echo "* Linking Gappium test app"
|
|
run_cmd ln -s "$appium_home"/submodules/io.appium.gappium.sampleapp "$appium_home"/sample-code/apps/io.appium.gappium.sampleapp
|
|
fi
|
|
}
|
|
|
|
reset_chromedriver() {
|
|
echo "RESETTING CHROMEDRIVER"
|
|
machine=$(run_cmd_output uname -m)
|
|
if [ "$machine" == "i686" ]; then
|
|
machine="32"
|
|
else
|
|
machine="64"
|
|
fi
|
|
if [ -d "$appium_home"/build/chromedriver ]; then
|
|
echo "* Clearing old ChromeDriver(s)"
|
|
run_cmd rm -rf "$appium_home"/build/chromedriver/*
|
|
else
|
|
run_cmd rm -rf "$appium_home"/build/chromedriver # could have been an old binary
|
|
run_cmd mkdir "$appium_home"/build/chromedriver
|
|
fi
|
|
if [ "$chromedriver_version" == false ]; then
|
|
echo "* Finding latest version"
|
|
chromedriver_version=$(run_cmd_output curl -L http://chromedriver.storage.googleapis.com/LATEST_RELEASE)
|
|
fi
|
|
if ! $chromedriver_install_all ; then
|
|
if [ "$platform" == "mac" ]; then
|
|
chromedriver_file="chromedriver_mac32.zip"
|
|
run_cmd mkdir "$appium_home"/build/chromedriver/mac
|
|
install_chromedriver $platform $chromedriver_version $chromedriver_file
|
|
else
|
|
chromedriver_file="chromedriver_linux$machine.zip"
|
|
binary="chromedriver$machine"
|
|
run_cmd mkdir "$appium_home"/build/chromedriver/linux
|
|
install_chromedriver $platform $chromedriver_version $chromedriver_file $binary
|
|
fi
|
|
else
|
|
echo "* Building directory structure"
|
|
run_cmd mkdir "$appium_home"/build/chromedriver/mac
|
|
run_cmd mkdir "$appium_home"/build/chromedriver/linux
|
|
run_cmd mkdir "$appium_home"/build/chromedriver/windows
|
|
|
|
install_chromedriver "mac" $chromedriver_version "chromedriver_mac32.zip"
|
|
install_chromedriver "linux" $chromedriver_version "chromedriver_linux32.zip" "chromedriver32"
|
|
install_chromedriver "linux" $chromedriver_version "chromedriver_linux64.zip" "chromedriver64"
|
|
install_chromedriver "windows" $chromedriver_version "chromedriver_win32.zip"
|
|
fi
|
|
}
|
|
|
|
install_chromedriver() {
|
|
platform=$1
|
|
version=$2
|
|
file=$3
|
|
binary=$4
|
|
|
|
echo "* Downloading ChromeDriver version $version for $platform"
|
|
run_cmd curl -L http://chromedriver.storage.googleapis.com/$version/$file -o "$appium_home"/build/chromedriver/$platform/chromedriver.zip
|
|
run_cmd pushd "$appium_home"/build/chromedriver/$platform
|
|
|
|
echo "* Unzipping ChromeDriver"
|
|
run_cmd unzip chromedriver.zip
|
|
run_cmd rm chromedriver.zip
|
|
if [[ $binary != "" ]]; then
|
|
run_cmd mv chromedriver $binary
|
|
fi
|
|
run_cmd popd
|
|
}
|
|
|
|
reset_firefoxos() {
|
|
echo "RESETTING FIREFOXOS"
|
|
echo "* Setting Firefox OS config to Appium's version"
|
|
run_cmd "$grunt" setConfigVer:firefoxos
|
|
}
|
|
|
|
cleanup() {
|
|
echo "CLEANING UP"
|
|
echo "* Cleaning any temp files"
|
|
run_cmd rm -rf /tmp/instruments_sock
|
|
run_cmd rm -rf *.trace
|
|
}
|
|
|
|
main() {
|
|
echo "---- Resetting / Initializing Appium ----"
|
|
if $include_dev ; then
|
|
echo "* Dev mode is on, will download/build test apps"
|
|
fi
|
|
if $hardcore ; then
|
|
echo "* Hardcore mode is on, will do extra crazy stuff"
|
|
fi
|
|
if $prod_deps ; then
|
|
echo "* Prod mode is on, will only install prod deps"
|
|
fi
|
|
reset_npm
|
|
reset_general
|
|
if $include_dev ; then
|
|
reset_sample_code
|
|
fi
|
|
if $should_reset_ios ; then
|
|
reset_ios
|
|
fi
|
|
if $should_reset_android ; then
|
|
reset_android
|
|
fi
|
|
if $should_reset_selendroid ; then
|
|
reset_selendroid
|
|
fi
|
|
if $should_reset_selendroid_quick ; then
|
|
reset_selendroid_quick
|
|
fi
|
|
if $should_reset_firefoxos ; then
|
|
reset_firefoxos
|
|
fi
|
|
if $should_reset_gappium ; then
|
|
reset_gappium
|
|
fi
|
|
cleanup
|
|
echo "* Setting build time and SHA info"
|
|
run_cmd "$grunt" setBuildTime
|
|
reset_successful=true
|
|
}
|
|
|
|
on_exit() {
|
|
if $reset_successful ; then
|
|
echo "---- reset.sh completed successfully ----"
|
|
else
|
|
echo "---- FAILURE: reset.sh exited with status $? ----"
|
|
if ! $verbose ; then
|
|
echo "---- Retry with --verbose to see errors ----"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
trap on_exit EXIT
|
|
main
|