terraform/vendor/github.com/vmware/govmomi/scripts/license.sh

49 lines
1.1 KiB
Bash

#!/bin/bash
set -e
header_dir=$(dirname $0)/headers
tmpfile=$(mktemp)
trap "rm -f ${tmpfile}" EXIT
git ls-files | while read file; do
years=( $(git log --format='%ai' $file | cut -d- -f1 | sort -u) )
num_years=${#years[@]}
if [ "${num_years}" == 0 ]; then
export YEARS="$(date +%Y)"
else
yearA=${years[0]}
yearB=${years[$((${num_years}-1))]}
if [ ${yearA} == ${yearB} ]; then
export YEARS="${yearA}"
else
export YEARS="${yearA}-${yearB}"
fi
fi
case "$file" in
vim25/xml/*)
# Ignore
;;
*.go)
sed -e "s/\${YEARS}/${YEARS}/" ${header_dir}/go.txt > ${tmpfile}
last_header_line=$(grep -n '\*/' ${file} | head -1 | cut -d: -f1)
tail -n +$((${last_header_line} + 1)) ${file} >> ${tmpfile}
mv ${tmpfile} ${file}
;;
*.rb)
sed -e "s/\${YEARS}/${YEARS}/" ${header_dir}/rb.txt > ${tmpfile}
last_header_line=$(grep -n '^$' ${file} | head -1 | cut -d: -f1)
tail -n +$((${last_header_line})) ${file} >> ${tmpfile}
mv ${tmpfile} ${file}
;;
*)
echo "Unhandled file: $file"
;;
esac
done