1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00
esp8266/tests/restyle.sh
Max Prokhorov e6df345584
CI - clang-format-15 (#9085)
Stop CI from pulling LLVM repos and using GNUPG keyservers,
ubuntu-latest already has clang-format-{13,14,15}

Fixes long-standing issue with -style=file:...
2024-02-09 17:39:38 +03:00

62 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
# requires clang-format, git, python3 with pyyaml
set -e -x
root=$(git rev-parse --show-toplevel)
test -d ${root}/cores/esp8266
test -d ${root}/libraries
# allow `env CLANG_FORMAT=clang-format-N`, or some other version
# default to v15, latest stable version from ubuntu-latest Github Actions image
CLANG_FORMAT=${CLANG_FORMAT:-clang-format-15}
#########################################
# 'all' variable should be "cores/esp8266 libraries"
all=${1:-"
cores/esp8266/Lwip*
libraries/ESP8266mDNS
libraries/Wire
libraries/lwIP*
cores/esp8266/debug*
cores/esp8266/core_esp8266_si2c.cpp
cores/esp8266/StreamString.*
cores/esp8266/StreamSend.*
libraries/Netdump
tests
"}
#########################################
# restyling core & libraries
cd $root
style=${root}/tests/clang-format-core.yaml
for target in $all; do
if [ -d "$target" ]; then
find $target \
'(' -name "*.cpp" -o -name "*.c" -o -name "*.h" ')' \
-exec $CLANG_FORMAT --verbose --style="file:$style" -i {} \;
else
$CLANG_FORMAT --verbose --style="file:$style" -i $target
fi
done
#########################################
# restyling arduino examples
# TODO should not be matched, these are formatted externally
# exclude=$(git submodule --quiet foreach git rev-parse --show-toplevel | grep libraries)
if [ -z $1 ] ; then
style=${root}/tests/clang-format-arduino.yaml
find libraries \
-path libraries/ESP8266SdFat -prune -o \
-path libraries/Ethernet -prune -o \
-path libraries/SoftwareSerial -prune -o \
-name '*.ino' -exec $CLANG_FORMAT --verbose --style="file:$style" -i {} \;
fi
#########################################