Skip to content

Instantly share code, notes, and snippets.

@antom
Last active August 11, 2025 12:52
Show Gist options
  • Select an option

  • Save antom/a0af80df133dff650779a5e30fb963fe to your computer and use it in GitHub Desktop.

Select an option

Save antom/a0af80df133dff650779a5e30fb963fe to your computer and use it in GitHub Desktop.
Playdate - Build Script (Generates a default pdxinfo & updates buildNumber on each compile)
#!/bin/bash
srcPath="$PWD/src"
buildPath="$PWD/builds"
pdxinfo="$srcPath/pdxinfo"
pdxinfoExists=false
buildNumber=`date +"%Y%m%d%H%M%S"`
folderName=`basename $PWD`
if [ -f "$pdxinfo" ]; then
pdxinfoExists=true
fi
if $pdxinfoExists; then
name=`cat $pdxinfo | awk -F= '/^name=/ { print $2 }'`
else
name=${1:-$folderName}
fi
if $pdxinfoExists; then
lastBuildNumber=`cat $pdxinfo | awk -F= '/^buildNumber=/ { print $2 }'`
if [ "$lastBuildNumber" != "" ]; then
sed -i "" "s/buildNumber=$lastBuildNumber/buildNumber=$buildNumber/" $pdxinfo
else
printf "buildNumber=$buildNumber" >> $pdxinfo
fi
else
printf "name=$name\nbuildNumber=$buildNumber" > $pdxinfo
fi
filename=$(echo "$name" | tr '[:upper:]' '[:lower:]' | sed -e 's/ /-/g')
buildPdx="$buildPath/$filename-$buildNumber.pdx"
pdx="$PWD/$filename.pdx"
if [ ! -d $buildPath ]; then
mkdir -p $buildPath
fi
if [ -d "$pdx" ]; then
rm -Rf $pdx
fi
pdc $srcPath $buildPdx && cp -a $buildPdx $pdx && open $pdx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment