aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@nokia.com>2010-01-07 14:36:41 +0100
committerTobias Hunger <tobias.hunger@nokia.com>2010-01-07 14:41:14 +0100
commit469e1d0984542b3e2b36919770abfb54eb7ce003 (patch)
treebdeebeb2ee984a1b604a0c553818dc5d986f6fff /scripts
parent39815bdd324af4150c174208d89361d62243ea8e (diff)
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
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/fixCopyright.sh31
-rwxr-xr-xscripts/hasCopyright.sh18
2 files changed, 49 insertions, 0 deletions
diff --git a/scripts/fixCopyright.sh b/scripts/fixCopyright.sh
new file mode 100755
index 0000000000..cdc3a57a70
--- /dev/null
+++ b/scripts/fixCopyright.sh
@@ -0,0 +1,31 @@
+#!/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"
diff --git a/scripts/hasCopyright.sh b/scripts/hasCopyright.sh
new file mode 100755
index 0000000000..41edb0fe38
--- /dev/null
+++ b/scripts/hasCopyright.sh
@@ -0,0 +1,18 @@
+#!/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