PSF-BotServer/scripts/copyright.sh

74 lines
1.7 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
2016-03-04 20:14:50 +00:00
set -u
2017-03-07 00:30:45 +00:00
COPYRIGHT="// Copyright (c) 2017 PSForever"
2016-03-04 20:14:50 +00:00
2017-03-07 00:30:45 +00:00
YEAR=$(date +"%Y")
2016-03-04 20:14:50 +00:00
FILES=$(find . -name '*.scala')
2017-03-07 00:30:45 +00:00
CHOICE=""
ask() {
if [ "$CHOICE" = "a" ]; then
return
fi
read -p "Fix? (y/n/a) " choice
case $choice in
[yY]) CHOICE="y" ;;
[nN]) CHOICE="n" ;;
[aA]) CHOICE="a" ;;
*) echo "Invalid choice"; exit 1;;
esac
}
2016-03-04 20:14:50 +00:00
for f in $FILES; do
LINESPEC=$(grep -n "^${COPYRIGHT}$" "$f")
LINE=$(echo "$LINESPEC" | cut -d: -f1)
if [ ! "$LINE" = "1" ]; then
LINESPEC_NOWS=$(grep -n "${COPYRIGHT}" "$f")
2016-03-04 20:14:50 +00:00
if [ ! "$LINESPEC_NOWS" = "" ]; then
echo "$f: Found but malformed"
else
2017-03-07 00:30:45 +00:00
LINESPEC_EXISTING_COPY=$(head -n20 "$f" | grep -i "copyright" | grep 'PSForever')
LINESPEC_OTHER_COPY=$(head -n20 "$f" | grep -ni "copyright" | grep -v 'PSForever')
2016-03-04 20:14:50 +00:00
if [ ! "$LINESPEC_OTHER_COPY" = "" ]; then
echo "$f: Other copyright found. Skipping..."
2017-03-07 00:30:45 +00:00
elif [ ! "$LINESPEC_EXISTING_COPY" = "" ]; then
FOUND_YEAR=$(echo "$LINESPEC_EXISTING_COPY" | egrep -o '[0-9]{4}')
if [ "$YEAR" = "$FOUND_YEAR" ]; then
echo "$f: Found malformed copyright"
else
echo "$f: Found old copyright ($FOUND_YEAR)"
fi
ask
if [ $CHOICE = "n" ]; then
:
else
SED_CMD='s#'"$LINESPEC_EXISTING_COPY"'#'"$COPYRIGHT"'#'
echo "Replacing '$LINESPEC_EXISTING_COPY' --> '$COPYRIGHT'"
2023-04-15 19:02:46 +00:00
sed -i -b "$SED_CMD" "$f"
2017-03-07 00:30:45 +00:00
fi
2016-03-04 20:14:50 +00:00
else
echo "$f: Not found"
2017-03-07 00:30:45 +00:00
ask
2016-03-04 20:14:50 +00:00
2017-03-07 00:30:45 +00:00
if [ $CHOICE = "n" ]; then
:
else
2023-04-15 19:02:46 +00:00
sed -i -b '1i '"$COPYRIGHT"'' "$f"
2017-03-07 00:30:45 +00:00
fi
2016-03-04 20:14:50 +00:00
fi
fi
else
echo "$f: Okay!"
fi
done