#!/bin/bash
#
# Tags the current git HEAD as a new version, passed via a flag.

GITILES_REPO_URL="https://gerrit.avm99963.com/plugins/gitiles/infinitegforums"

# Prints help text
function usage() {
  cat <<END

  Usage: $progname --version VERSION

  required arguments:
    -v, --version  the version of the new release (in the form vx)
                   which wants to be tagged.

  optional arguments:
    -h, --help     show this help message and exit

END
}

opts=$(getopt -l "help,version:" -o "hv:" -n "$progname" -- "$@")
eval set -- "$opts"

prevVersion=$(git describe --abbrev=0)
nextVersion="null"

while true; do
  case "$1" in
    -h | --help)
      usage
      exit
      ;;
    -v | --version)
      nextVersion="$2"
      shift 2
      ;;
    *) break ;;
  esac
done

if [[ $nextVersion == "null" ]]; then
  echo "version parameter value is incorrect." >&2
  usage
  exit
fi

commitMessage="Changelog: $GITILES_REPO_URL/+log/refs/tags/$prevVersion..refs/tags/$nextVersion"
git tag -a $nextVersion -m "$commitMessage"

echo "Tag created. Now run \`git push --tags\` to push the tags to the server."
