summaryrefslogtreecommitdiff
path: root/update-copyright.sh
blob: fab540829fc458f97ed39a333c6f2046aaf35432 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/sh

usage()
{
	echo $0 source-type
	echo
	echo 'source-type'
	echo '	The file type of your source code.'
}

while [ $# -gt 0 ]; do
	case $1 in
		*)
			SOURCE_TYPE=$1
		;;
	esac
	shift
done

if [ -z "$SOURCE_TYPE" ]; then
	usage
fi

case $SOURCE_TYPE in
	java)
		FIRST_CMNT='\/\*'
		LINE_CMNT=' * '
		END_CMNT=' \*\/'
	;;
esac

if [ ! -z "$FIRST_CMNT" ]; then
	LICENSE_HEADER=$FIRST_CMNT"\n"
fi

LICENSE_HEADER=$LICENSE_HEADER`cat license-header.txt | sed "s/^/$LINE_CMNT/g" | sed 's/[ ]*$//g'`"\n"

if [ ! -z "$END_CMNT" ]; then
	LICENSE_HEADER=$LICENSE_HEADER$END_CMNT"\n"
fi

# Add empty line
LICENSE_HEADER=$LICENSE_HEADER"\n"

LICENSE_LENGTH=`printf "$LICENSE_HEADER" | wc | awk '{print $1}'`

TMP_FILE1=/tmp/`date +%s`-f1.txt
TMP_FILE2=/tmp/`date +%s`-f2.txt

printf "$LICENSE_HEADER" > $TMP_FILE1

for x in `find * -name "*.$SOURCE_TYPE"`; do
	if [ ! -z "`head -$LICENSE_LENGTH $x | diff $TMP_FILE1 -`" ]; then
		sed -n "`expr $LICENSE_LENGTH + 1`,`wc $x | awk '{print $1}'`p" $x > $TMP_FILE2
		cat $TMP_FILE1 > $x
		cat $TMP_FILE2 >> $x
	fi
done

rm -f $TMP_FILE1
rm -f $TMP_FILE2