github.com/vmware/govmomi@v0.37.2/scripts/license.sh (about)

     1  #!/bin/bash
     2  
     3  set -e
     4  
     5  header_dir=$(dirname $0)/headers
     6  
     7  tmpfile=$(mktemp)
     8  trap "rm -f ${tmpfile}" EXIT
     9  
    10  git diff --name-status main | awk '{print $2}' | while read file; do
    11    years=( $(git log --format='%ai' $file | cut -d- -f1 | sort -u) )
    12    num_years=${#years[@]}
    13  
    14    if [ "${num_years}" == 0 ]; then
    15      export YEARS="$(date +%Y)"
    16    else
    17      yearA=${years[0]}
    18      yearB=${years[$((${num_years}-1))]}
    19  
    20      export YEARS="${yearA}-${yearB}"
    21    fi
    22  
    23    case "$file" in
    24      vim25/{json,xml}/*)
    25        # Ignore
    26        ;;
    27      *.go)
    28        sed -e "s/\${YEARS}/${YEARS}/" ${header_dir}/go.txt > ${tmpfile}
    29        last_header_line=$(grep -n '\*/' ${file} | head -1 | cut -d: -f1)
    30        tail -n +$((${last_header_line} + 1)) ${file} >> ${tmpfile}
    31        mv ${tmpfile} ${file}
    32        ;;
    33      *.rb)
    34        sed -e "s/\${YEARS}/${YEARS}/" ${header_dir}/rb.txt > ${tmpfile}
    35        last_header_line=$(grep -n '^$' ${file} | head -1 | cut -d: -f1)
    36        tail -n +$((${last_header_line})) ${file} >> ${tmpfile}
    37        mv ${tmpfile} ${file}
    38        ;;
    39      *)
    40        echo "Unhandled file: $file"
    41        ;;
    42    esac
    43  done