-
Notifications
You must be signed in to change notification settings - Fork 1
/
license.bash
28 lines (24 loc) · 1.02 KB
/
license.bash
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
#!/bin/bash
# This function will add the license header in file $1 to every java file
function addLicenseJava {
echo "addLicense \"$1\""
find . -name '*.java' -type f -print0 | xargs -0 -I {} bash -c "source ~/.bashrc && addLicenseJavaIndividual '$1' '{}'"
}
function addLicenseTopExtension {
echo "addLicenseJS \"$1\""
find . -name "*.$2" -type f -print0 | xargs -0 -I {} bash -c "source ~/.bashrc && addLicenseTopOfFile '$1' '{}'"
}
# This function will add the license header in file $1 to file $2
function addLicenseJavaIndividual {
echo "addLicenseJavaIndividual \"$1\" \"$2\""
local tmpFile=$(mktemp)
local packageLineNo="`grep -n '^package ' \"$2\" | sed 's/^\([0-9]\+\).*$/\1/g'`"
local tailCommand="tail -n+$packageLineNo \"$2\" >> \"$tmpFile\""
#echo "$tailCommand"
cat "$1" > "$tmpFile" && eval "$tailCommand" && mv "$tmpFile" "$2"
}
function addLicenseTopOfFile {
echo "addLicenseTopOfFile \"$1\" \"$2\""
local tmpFile=$(mktemp)
cat "$1" > "$tmpFile" && cat "$2" >> "$tmpFile" && mv "$tmpFile" "$2"
}