#!/bin/bash # Welcome echo "--------------------------------------------------------------" echo "ESPURNA FIRMWARE BUILDER" # Available environments available=`cat platformio.ini | grep env: | grep -v ota | sed 's/\[env://' | sed 's/\]/ /' | sort` environments=$@ if [ "$environments" == "list" ]; then echo "--------------------------------------------------------------" echo "Available environments:" for environment in $available; do echo "* $environment" done exit fi # Environments to build if [ $# -eq 0 ]; then environments=$available fi # Get current version version=`cat espurna/config/version.h | grep APP_VERSION | awk '{print $3}' | sed 's/"//g'` echo "Building for version $version" # Create output folder mkdir -p firmware # Recreate web interface echo "--------------------------------------------------------------" echo "Building web interface..." node node_modules/gulp/bin/gulp.js || exit # Build all the required firmwares echo "--------------------------------------------------------------" echo "Building firmware images..." for environment in $environments; do echo "* espurna-$version-$environment.bin" platformio run -s -e $environment || exit mv .pioenvs/$environment/firmware.bin firmware/espurna-$version-$environment.bin done echo "--------------------------------------------------------------"