All checks were successful
Gymkhana exports / All exports (push) Successful in 2m41s
111 lines
2.8 KiB
Bash
Executable File
111 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
source bash_colors.sh
|
|
|
|
if [ -f .env ]; then
|
|
source .env
|
|
fi
|
|
|
|
# Output to stdout for godot export. --quiet or --verbose
|
|
STD_OUTPUT="--quiet"
|
|
|
|
PROJECT_PATH=$PWD
|
|
echo "Project path: $PROJECT_PATH"
|
|
|
|
VERSION=`git branch --show-current | sed 's/release\///'`
|
|
|
|
EXPORT_NAME="LasGymkhanikasDeUli-$VERSION"
|
|
EXPORT_DIR="build"
|
|
|
|
if [ ! -f $PROJECT_PATH/secret/api.cfg ]; then
|
|
echo "api.cfg File not found! creating one."
|
|
mkdir -p $PROJECT_PATH/secret/
|
|
cp $PROJECT_PATH/api.cfg.debug $PROJECT_PATH/secret/api.cfg
|
|
sed -i "s/API_KEY_PLACEHOLDER/$APPWRITE_API_KEY/" $PROJECT_PATH/secret/api.cfg
|
|
fi
|
|
|
|
echo "Building $VERSION version"
|
|
|
|
echo "Release builds"
|
|
mkdir -p $PROJECT_PATH/$EXPORT_DIR
|
|
|
|
BUILD_TYPES=(
|
|
"release"
|
|
"debug"
|
|
)
|
|
|
|
PLATFORMS=(
|
|
"amd"
|
|
"arm"
|
|
"web"
|
|
"web-multi"
|
|
"win"
|
|
)
|
|
|
|
declare -A PLATFORM_NAMES
|
|
PLATFORM_NAMES["amd"]=$EXPORT_NAME
|
|
PLATFORM_NAMES["arm"]=$EXPORT_NAME
|
|
PLATFORM_NAMES["web"]="index"
|
|
PLATFORM_NAMES["web-multi"]="index"
|
|
PLATFORM_NAMES["win"]=$EXPORT_NAME
|
|
|
|
declare -A PLATFORM_EXTENSIONS
|
|
PLATFORM_EXTENSIONS["amd"]=".x86_64.appimage"
|
|
PLATFORM_EXTENSIONS["arm"]=".arm_64.appimage"
|
|
PLATFORM_EXTENSIONS["web"]=".html"
|
|
PLATFORM_EXTENSIONS["web-multi"]=".html"
|
|
PLATFORM_EXTENSIONS["win"]=".exe"
|
|
|
|
declare -A PLATFORM_EXPORTS
|
|
PLATFORM_EXPORTS["amd"]="Linux"
|
|
PLATFORM_EXPORTS["arm"]="LinuxARM"
|
|
PLATFORM_EXPORTS["web"]="Web"
|
|
PLATFORM_EXPORTS["web-multi"]="WebThread"
|
|
PLATFORM_EXPORTS["win"]="Windows"
|
|
|
|
declare -A PLATFORM_OVERRIDES
|
|
PLATFORM_OVERRIDES["amd"]="debug"
|
|
PLATFORM_OVERRIDES["arm"]="debug"
|
|
PLATFORM_OVERRIDES["web"]="web"
|
|
PLATFORM_OVERRIDES["web-multi"]="web"
|
|
PLATFORM_OVERRIDES["win"]="debug"
|
|
|
|
|
|
CURRENT_EXPORT_DIR=$EXPORT_DIR/release
|
|
|
|
for TYPE in "${BUILD_TYPES[@]}"; do
|
|
echo "$TYPE builds..."
|
|
|
|
CURRENT_EXPORT_DIR=$PROJECT_PATH/$EXPORT_DIR/$TYPE
|
|
mkdir -p $CURRENT_EXPORT_DIR
|
|
|
|
|
|
|
|
for PLATFORM in "${PLATFORMS[@]}"; do
|
|
if [ "$TYPE" == "release" ]; then CURRENT_EXPORT_NAME=${PLATFORM_NAMES[$PLATFORM]}; else CURRENT_EXPORT_NAME="${PLATFORM_NAMES[$PLATFORM]}-$TYPE"; fi
|
|
|
|
echo "Building $PLATFORM..."
|
|
mkdir -p $CURRENT_EXPORT_DIR/$PLATFORM
|
|
|
|
cp $PROJECT_PATH/override.cfg.${PLATFORM_OVERRIDES[$PLATFORM]} $PROJECT_PATH/override.cfg
|
|
echo "escoria/main/game_version=\"$VERSION\"" >> $PROJECT_PATH/override.cfg
|
|
if [[ "$PLATFORM" == *"web"* ]]; then CURRENT_EXPORT_NAME=${PLATFORM_NAMES[$PLATFORM]}; else CURRENT_EXPORT_NAME=$CURRENT_EXPORT_NAME; fi
|
|
godot --headless $STD_OUTPUT --export-$TYPE "${PLATFORM_EXPORTS[$PLATFORM]}" "$CURRENT_EXPORT_DIR/$PLATFORM/$CURRENT_EXPORT_NAME${PLATFORM_EXTENSIONS[$PLATFORM]}"
|
|
done
|
|
|
|
cd $CURRENT_EXPORT_DIR/web
|
|
tar cfz ../web-$TYPE.tar.gz .
|
|
zip ../web-$TYPE.zip *
|
|
cd $PROJECT_PATH
|
|
cd $CURRENT_EXPORT_DIR/web-multi
|
|
tar cfz ../web-multi-$TYPE.tar.gz .
|
|
zip ../web-multi-$TYPE.zip *
|
|
|
|
cd $PROJECT_PATH
|
|
|
|
done
|
|
|
|
rm $PROJECT_PATH/override.cfg
|
|
|
|
cd $PROJECT_PATH
|
|
|
|
echo "Finish!🎉" |