Commit 469e1d09 authored by Tobias Hunger's avatar Tobias Hunger

Add scripts to check/fix copyright headers.

 * Add a script that will report files without copyright headers.
   (see hasCopyright.sh for sample usage).
 * Add a script that will add a header to files.
   (see fixCopyright.sh for sample usage).

Reviewed-by: Roberto Raggi
parent 39815bdd
#!/bin/sh
# Prepend a copyright header to all files given on the command line.
# Sample usage:
# find . -type f -name \*.cpp -o -name \*.h | \
# xargs ~/bin/hasCopyright.sh | grep ": NO COPYRIGHT" | grep "^./src/" | \
# cut -d ':' -f1 | xargs ~/bin/fixCopyright.sh /tmp/copyright.txt
COPYRIGHT_HEADER=$1
test -f "$COPYRIGHT_HEADER" || exit 16
shift
echo "Using $COPYRIGHT_HEADER..."
WORKDIR=`mktemp -d`
test -d "$WORKDIR" || exit 17
for i in $@ ; do
echo -n "Fixing $i..."
if test -f "$i" && test -s "$i" ; then
BASENAME=`basename "$i"`
TMP_NAME="$WORKDIR/$BASENAME"
sed '/./,$!d' "$i" > "$TMP_NAME" # remove leading empty lines
cat "$COPYRIGHT_HEADER" "$TMP_NAME" > "$i"
rm "$TMP_NAME"
fi
echo done.
done
rmdir "$WORKDIR"
#!/bin/sh
# Scan files given on the command line for a copyright header.
# Only the first 15 lines will be examined and must contain the
# string 'Copyright'.
#
# Sample usage:
# find . -type f -name \*.cpp -o -name \*.h | xargs ~/bin/hasCopyright.sh
for i in $@ ; do
if test -f "$i" && test -s "$i" ; then
if head -n 15 "$i" | grep Copyright > /dev/null 2>&1 ; then
echo "$i: Copyright."
else
echo "$i: NO COPYRIGHT."
fi
fi
done
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment