gencopyright.sh 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. set -e
  3. pushd $(dirname $BASH_SOURCE) > /dev/null
  4. ROOT_DIR=$(cd .. && pwd -P)
  5. popd > /dev/null
  6. COPYRIGHT_TXT=$ROOT_DIR/scripts/copyright.txt
  7. CONTRIBUTOR_TXT=$ROOT_DIR/scripts/contributor.txt
  8. LINECNT=$(wc -l $COPYRIGHT_TXT | awk '{print $1}')
  9. FULLLINECNT=$((LINECNT+2))
  10. function patch() {
  11. if ! (head -n $FULLLINECNT $1 | tail -n $LINECNT | diff -b -q $COPYRIGHT_TXT - > /dev/null); then
  12. echo "patch copyright $1"
  13. OUT=$(mktemp) || { echo "Failed to create temp file"; exit 1; }
  14. cat $CONTRIBUTOR_TXT > $OUT
  15. cat $COPYRIGHT_TXT >> $OUT
  16. echo "" >> $OUT
  17. cat $1 >> $OUT
  18. mv $OUT $1
  19. elif ! (head -n 2 $1 | diff -b -q $CONTRIBUTOR_TXT - > /dev/null); then
  20. echo "patch contributor $1"
  21. OUT=$(mktemp) || { echo "Failed to create temp file"; exit 1; }
  22. head -n 1 $CONTRIBUTOR_TXT > $OUT
  23. cat $1 >> $OUT
  24. mv $OUT $1
  25. fi
  26. }
  27. for top in $@
  28. do
  29. for f in $(find $top ! -name "*zz_generated*.go" ! -name "*.pb.go" -iname "*.go")
  30. do
  31. patch $f
  32. done
  33. done