#!/usr/bin/env bash
shouldModify(){
  local firstline=$(head -n 1 $1)                     
  [[ ! "$firstline" =~ \/[*]{2,}[[:blank:]]+@module[[:blank:]]+[a-zA-Z0-9_\.\/]+ ]]
  # [[ ! "$firstline" =~ \/[*]{2,}[[:blank:]]+@module[[:blank:]]+[a-zA-Z0-9_\.\/]+[[:blank:]]+[*]{1,}\/ ]]
}

appendToFile(){
  local file=$1
  local text=$2
  echo -e "$text\n" > "$file-temp"
  cat $file >> "$file-temp"
  mv "$file-temp" $file
}

files=$(find $1 -type f)

for f in $files; 
do 
  if shouldModify $f;
  then
    remove="$1/"
    moduleName=$(echo "${f//$remove}")
    moduleFull="/** @module $moduleName */"
    appendToFile "$f" "$moduleFull"
  fi
done;
