X-Git-Url: http://git.purplebirdman.com/godot.git/blobdiff_plain/6e00fb582fbc29998b3dba68045518ff48915aac..c5658e96398cbea8fcfe32e3ad0cf7a518c55f20:/script.sh diff --git a/script.sh b/script.sh index 4ccff45..ce9cd20 100755 --- a/script.sh +++ b/script.sh @@ -3,6 +3,7 @@ # gets a Godot release, fetches export templates, # and builds a project with its native export options +################################################################################ PWD=`pwd` DIR_DOWNLOAD=$PWD/download DIR_TEMPLATES=$DIR_DOWNLOAD/templates @@ -20,14 +21,18 @@ GODOT_TEMPLATE_URI=https://github.com/godotengine/godot/releases/download/$GODOT GODOT=$DIR_DOWNLOAD/$GODOT_EXE +################################################################################ # get Godot + [[ -d $DIR_DOWNLOAD ]] || mkpath -p $DIR_DOWNLOAD [[ -f $DIR_DOWNLOAD/$GODOT_ZIP ]] || wget -P $DIR_DOWNLOAD $GODOT_URI [[ -f $DIR_DOWNLOAD/$GODOT_EXE ]] || unzip $DIR_DOWNLOAD/$GODOT_ZIP -d $DIR_DOWNLOAD echo Godot version - $($GODOT --headless --version) +################################################################################ # get export templates + [[ -f $DIR_DOWNLOAD/$GODOT_EXPORT_TEMPLATES ]] || wget -P $DIR_DOWNLOAD $GODOT_TEMPLATE_URI [[ -d $DIR_TEMPLATES ]] || unzip -d $DIR_DOWNLOAD $DIR_DOWNLOAD/$GODOT_EXPORT_TEMPLATES @@ -37,16 +42,37 @@ if [[ ! -d $LOCAL_TEMPLATES ]] then mkdir -p $LOCAL_TEMPLATES cp $DIR_TEMPLATES/* $LOCAL_TEMPLATES - # TODO: leaves extra stuff + # TODO: leaves extra copy of templates fi echo Godot export template version - $GODOT_TEMPLATE_VERSION echo Local templates - $LOCAL_TEMPLATES +################################################################################ # execute project build -PLATFORM=macOS -[[ -d $DIR_RELEASE/$PLATFORM ]] || mkdir -p $DIR_RELEASE/$PLATFORM -[[ -d $DIR_DEBUG/$PLATFORM ]] || mkdir -p $DIR_DEBUG/$PLATFORM -echo Starting project build -$GODOT --headless --export-debug --path $DIR_PROJECT $PLATFORM $DIR_DEBUG/$PLATFORM/wolf-seeking-sheep.dmg +# iterate through all build types present in config file +EXPORT_PRESETS_CFG=$DIR_PROJECT/export_presets.cfg +EXPORT_NAMES=$(awk -F= '$1=="name"{print $2}' $EXPORT_PRESETS_CFG | sed 's/"//g') +GODOT_OPTS="--headless --path $DIR_PROJECT" + +for EXPORT_NAME in $EXPORT_NAMES +do + echo + echo Starting project build for export $EXPORT_NAME + + # create build folders + [[ -d $DIR_RELEASE/$EXPORT_NAME ]] || mkdir -p $DIR_RELEASE/$EXPORT_NAME + [[ -d $DIR_DEBUG/$EXPORT_NAME ]] || mkdir -p $DIR_DEBUG/$EXPORT_NAME + + # get export name from config file + EXPORT_FNAME=$(awk -vname=${EXPORT_NAME} -F= \ + '$1=="name" && $2~name{f=1} f==1 && $1=="export_path"{print $2;exit}' \ + $EXPORT_PRESETS_CFG | sed -e 's|^.*/||' -e 's/"//g') + + # do build! + echo $GODOT $GODOT_OPTS --export-debug "$EXPORT_NAME" $DIR_DEBUG/$EXPORT_NAME/$EXPORT_FNAME + $GODOT $GODOT_OPTS --export-debug "$EXPORT_NAME" $DIR_DEBUG/$EXPORT_NAME/$EXPORT_FNAME + echo $GODOT $GODOT_OPTS --export-release "$EXPORT_NAME" $DIR_RELEASE/$EXPORT_NAME/$EXPORT_FNAME + $GODOT $GODOT_OPTS --export-release "$EXPORT_NAME" $DIR_RELEASE/$EXPORT_NAME/$EXPORT_FNAME +done