Fast formatting (#2658)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov
2023-02-17 22:17:56 +07:00
committed by GitHub
parent a6a7d1e145
commit 199fb0f7f4
3 changed files with 53 additions and 1 deletions
+44
View File
@@ -0,0 +1,44 @@
#!/usr/bin/env bash
FILES=$(git diff origin/main --name-only --diff-filter=ACMR | sed 's| |\\ |g')
[ -z "$FILES" ] && exit 0
roots=$(rush list -p --json | grep "path" | cut -f 2 -d ':' | cut -f 2 -d '"')
declare -a changed_roots
pushd () {
command pushd "$@" > /dev/null
}
popd () {
command popd "$@" > /dev/null
}
if [ -n "$FILES" ]; then
for file in $FILES; do
# Match file to root
for r in $roots; do
if [[ "$file" == ${r}* ]]; then
echo -e "${file}"
if [[ ! " ${changed_roots[@]} " =~ " ${r} " ]]; then
changed_roots+=("$r")
fi
fi
done
done
for value in "${changed_roots[@]}"; do
echo -e "\033[0;34mProcessing \033[0;31m${value}\033[0m"
exec 3>&1
exec 1> >(paste /dev/null -)
pushd $value > /dev/null
$@
retVal=$?
if [ $retVal -ne 0 ]; then
echo "Error"
exit 1
fi
popd > /dev/null
exec 1>&3 3>&-
done
fi