Address style, info, and warning-level issues reported by
`shellcheck build.sh -severity=style -o all -s bash`:
- Use mapfile instead of word-splitting command substitution (SC2207)
- Quote all variable expansions to prevent globbing/splitting (SC2086)
- Prefer [[ ]] over [ ] for bash tests (SC2292)
- Add braces to all variable references (SC2250)
- Fix pipe return value masking in get_pio_envs() (SC2312)
- Add default case to top-level case statement (SC2249)
- Assign TARGETS as array instead of string (SC2124)
- Use explicit -n for non-empty string checks (SC2244)
- Suppress SC2154 for environment variable DISABLE_DEBUG
- Replace grep|sed pipe with single sed -n in get_pio_envs()
Signed-off-by: Oleg Kulachenko <vvarg229@gmail.com>
The script uses bash-specific features (arrays, [[ ]], shopt, ${@:2}),
but the usage examples and synopsis in global_usage() all referenced
`sh build.sh`, which would fail on a strict POSIX shell. Replace all
occurrences with `bash build.sh` to match the shebang and actual
requirements.
Signed-off-by: Oleg Kulachenko <vvarg229@gmail.com>
Since the bin/uf2conv/uf2conf.py script uses python3, use python3 as the command instead of python.
On my ubuntu 24.04 machine, I don't have a python command in my path by default
* Enable the new UI on the BLE and USB Companion roles.
* Fix compilation issues with the repeater and room server roles.
* Remove ESP32-related alternate pinout cruft from the NRF build tree.
* build.sh: add build-matching-firmwares command to allow e.g. building
all roles for a given variant by passing the variant name.