Skip to content

Commit 201dd98

Browse files
authored
Use docker so that you can clang-format using version 15 everywhere you are. (#585)
* Use docker so that you can clang-format using version 15 everywhere you are. * cleaning/simplifying * setting version to 15 * silencing command not found * changing repo
1 parent 0c001a5 commit 201dd98

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

clang-format-ignore.txt

Whitespace-only changes.

tools/run-clangcldocker.sh

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env bash
2+
set -e
3+
COMMAND=$*
4+
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
5+
MAINSOURCE=$SCRIPTPATH/..
6+
ALL_ADA_FILES=$(cd $MAINSOURCE && git ls-tree --full-tree --name-only -r HEAD | grep -e ".*\.\(c\|h\|cc\|cpp\|hh\)\$" | grep -vFf clang-format-ignore.txt)
7+
8+
if clang-format-15 --version 2>/dev/null | grep -qF 'version 15.'; then
9+
cd $MAINSOURCE; clang-format-15 --style=file --verbose -i "$@" $ALL_ADA_FILES
10+
exit 0
11+
elif clang-format --version 2>/dev/null | grep -qF 'version 15.'; then
12+
cd $MAINSOURCE; clang-format --style=file --verbose -i "$@" $ALL_ADA_FILES
13+
exit 0
14+
fi
15+
echo "Trying to use docker"
16+
command -v docker >/dev/null 2>&1 || { echo >&2 "Please install docker. E.g., go to https://www.docker.com/products/docker-desktop Type 'docker' to diagnose the problem."; exit 1; }
17+
docker info >/dev/null 2>&1 || { echo >&2 "Docker server is not running? type 'docker info'."; exit 1; }
18+
19+
if [ -t 0 ]; then DOCKER_ARGS=-it; fi
20+
docker pull kszonek/clang-format-15
21+
22+
docker run --rm $DOCKER_ARGS -v "$MAINSOURCE":"$MAINSOURCE":Z -w "$MAINSOURCE" -u "$(id -u $USER):$(id -g $USER)" kszonek/clang-format-15 --style=file --verbose -i "$@" $ALL_ADA_FILES
23+
24+

0 commit comments

Comments
 (0)