detect failed unity launch and retry

This commit is contained in:
Cat Flynn 2021-03-09 17:30:48 +00:00
parent 091b078713
commit 131e8f8792
1 changed files with 33 additions and 11 deletions

View File

@ -12,6 +12,9 @@ echo "removing previous editor log..."
echo "starting build using unity v$unityversion..." echo "starting build using unity v$unityversion..."
unitypid=-1
launch_unity () {
# launch unity in batch mode # launch unity in batch mode
open -g $editorpath --args \ open -g $editorpath --args \
-batchmode \ -batchmode \
@ -22,18 +25,37 @@ open -g $editorpath --args \
-logFile $editorlogpath \ -logFile $editorlogpath \
-projectPath "$(pwd)/game" -projectPath "$(pwd)/game"
# wait for editor log to exist unitypid=`pgrep -n Unity`
echo "launched unity ($pid)"
}
launch_unity
tries=60 tries=60
count=0 count=0
while [ ! -f $editorlogpath ] while [ ! -f $editorlogpath ]
do do
if ps -p $unitypid > /dev/null
then
echo "unity ok ($unitypid)"
else
echo "unity is no longer running - trying again"
# reset launch attempts
count=0
launch_unity
continue
fi
# wait a second
sleep 1 sleep 1
# decrement # decrement
count=`expr $count + 1` count=`expr $count + 1`
if [ $count -eq $tries ] ; then if [ $count -eq $tries ] ; then
echo "early timeout - $tries seconds elapsed since launch attempt" echo "early timeout - $tries seconds elapsed since last launch attempt"
exit 1 exit 1
fi fi
done done