Ken Van Hoeylandt a18221db08
Tactility SDK and release build scripting (#122)
* Implement release scripting and SDK building process
* Fix for CYD display colors
* Various improvements and fixes
* Made build scripts more modular
2024-12-14 21:50:02 +01:00

56 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
#
# Usage: release.sh [boardname]
# Example: release.sh lilygo_tdeck
# Description: Releases the current build labeled as a release for the specified board name.
#
echoNewPhase() {
echo -e "⏳ \e[36m${1}\e[0m"
}
fatalError() {
echo -e "⚠️ \e[31m${1}\e[0m"
exit 0
}
releaseSymbols() {
target_path=$1
echoNewPhase "Making symbols release at '$target_path'"
mkdir $target_path
cp build/*.elf $target_path/
}
release() {
target_path=$1
echoNewPhase "Making release at '$target_path'"
bin_path=$target_path/Binaries
mkdir -p $bin_path
mkdir -p $bin_path/partition_table
mkdir -p $bin_path/bootloader
cp build/*.bin $bin_path/
cp build/bootloader/*.bin $bin_path/bootloader/
cp build/partition_table/*.bin $bin_path/partition_table/
cp build/flash_args $bin_path/
cp build/flasher_args.json $bin_path/
cp Buildscripts/Flashing/* $target_path
}
board=$1
board_clean=${board/_/-}
release_path=release
if [ $# -lt 1 ]; then
fatalError "Must pass board name as first argument. (e.g. lilygo_tdeck)"
fi
if [ ! -f $sdkconfig_file ]; then
fatalError "Board not found: ${sdkconfig_file}"
fi
release "${release_path}/Tactility-${board_clean}"
releaseSymbols "${release_path}/Tactility-${board_clean}-symbols"