#! /usr/bin/env bash

error_code=0

usage="git_tag_all <tag name> <message>"
if [ "$1" == "" ]; then
  echo "Must provide tag name and message."
  echo $usage
  exit 1
elif [ "$1" == "--help" ] || [ "$1" == "-h" ]; then
  echo $usage
  exit 0
fi

tag_name=$1
message=$2

echo "tag_name = $tag_name"
echo "message  = $message"

external_packages="CTrilinos ForTrilinos mesquite moocho optika Sundance"

echo "Tagging current repo."
git tag -a -m "$message" $tag_name
error_code=$?

for package in $external_packages
do
  echo "Tagging package $package"
  if [ ! -e packages/$package ]; then
    echo "packages/$package does not exist."
    error_code=1
    continue
  fi
  pushd packages/$package >/dev/null
  git tag -a -m "$message" $tag_name
  error_code=$(expr $? + $error_code)
  popd >/dev/null
done

exit $error_code
