#!/usr/bin/env bash set -euo pipefail usage() { echo "Usage: $0 compile|examples --platform esp8266|esp32" >&2 exit 2 } [[ $# -eq 3 && ( "${1:-}" == "compile" || "${1:-}" == "examples" ) && "${2:-}" == "--platform" ]] || usage platform="${3:-}" [[ "$platform" == "esp8266" || "$platform" == "esp32" ]] || usage root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" if [[ "$1" == "examples" ]]; then mapfile -t examples < <(find "$root/examples" -mindepth 2 -maxdepth 2 -type f -name platformio.ini -printf '%h\n' | sort) if (( ${#examples[@]} == 0 )); then echo "No example projects found" >&2 exit 1 fi for example in "${examples[@]}"; do pio run -d "$example" -e "$platform" /dev/null fi pio run -d "$root/test/compile-project" -e "$platform" echo "WiFiManager consumer compile check passed for $platform"