blob: 4708ca643caf1b389406b83fb2e12b9f9cfa23a9 [file] [log] [blame]
#!/bin/bash
set -e
echo "Current Dir: $(pwd)"
if [[ "$OSTYPE" != *"darwin"* ]];then
error "Current OS Type is not MacOS"
sleep 1
exit 1
fi
BIN_NAME=$(basename "$0")
help () {
echo "Usage: $BIN_NAME <options>"
echo
echo "Options:"
echo " -t Team Identifier"
echo " -p Name of the Provisioning Profile"
}
bootstrap() {
echo "starting"
echo "detecting devices..."
if ! [ -x "$(command -v ios-deploy)" ]; then
echo 'Error: ios-deploy is not installed.'
exit 1
fi
ios-deploy -c -t 1
if [ "$?" -ne "0" ]; then
echo 'Error: No device connected. Please connect your device via USB then re-run the script'
exit 1
fi
echo "Done."
PROJ_ROOT=$(pwd)
BENCHMARK_DIR="${PROJ_ROOT}/benchmark"
XCODE_PROJ_PATH="./TestApp.xcodeproj"
XCODE_TARGET="TestApp"
XCODE_BUILD="./build"
if [ ! -f "./.config" ]; then
touch .config
echo "" >> .config
else
source .config
fi
if [ -z "${TEAM_ID}" ]; then
reply=$(bash -c 'read -r -p "Team Id:" tmp; echo $tmp')
TEAM_ID="${reply}"
echo "TEAM_ID=${TEAM_ID}" >> .config
fi
if [ -z "${PROFILE}" ]; then
reply=$(bash -c 'read -r -p "Provisioning Profile:" tmp; echo $tmp')
PROFILE="${reply}"
echo "PROFILE=${PROFILE}" >> .config
fi
if [ -d "${XCODE_BUILD}" ]; then
echo "found the old XCode build, remove it"
rm -rf "${XCODE_BUILD}"
fi
cd "${BENCHMARK_DIR}"
echo "Generating model"
python trace_model.py
ruby setup.rb -t "${TEAM_ID}"
cd ..
#run xcodebuild
if ! [ -x "$(command -v xcodebuild)" ]; then
echo 'Error: xcodebuild is not installed.'
exit 1
fi
echo "Running xcodebuild"
xcodebuild clean build -project ${XCODE_PROJ_PATH} \
-target ${XCODE_TARGET} \
-sdk iphoneos \
-configuration Debug \
PROVISIONING_PROFILE_SPECIFIER=${PROFILE}
#install TestApp
echo "installing..."
ios-deploy -r --bundle "${XCODE_BUILD}/Debug-iphoneos/${XCODE_TARGET}.app"
echo "Done."
}
while [[ $# -gt 1 ]]
do
option="$1"
value="$2"
case $option in
"" | "-h" | "--help")
help
exit 0
;;
"-t" | "--team")
TEAM_ID="${value}"
shift
;;
"-p"|"--profile")
PROFILE="${value}"
shift
;;
*)
echo "unknown options" >& 2
help
exit 1
;;
esac
shift
done
bootstrap