#!/usr/bin/env bash

cd src

if [ ! -f debian/changelog ]; then
  tamarin_info "No changelog. Skipping adding suffix to package version"
  exit
fi

if [ $(tamarin_db get no_version_suffix 'no') == 'yes' ]; then
  tamarin_info "Not adding version suffix."
  exit
fi

tamarin_info "Suffixing package version"
if [ -d .git ]; then
  tamarin_info "It seems to be a Git repository. Generating version suffix based on Git history..."
  release_tag=$(git describe --match "release/*" --abbrev=0 2>/dev/null)
  if [ -z "${release_tag}" ]
  then
    dev_commit_count=$(git rev-list --count --no-merges develop)
  else
    dev_commit_count=$(git rev-list --count ${release_tag}..master)
  fi
  if [ ${dev_commit_count} -gt 0 ]
  then
    build_level=$(tamarin_db get build_level 'dev')
    version_suffix="~$build_level+${dev_commit_count}-$(git log -n1 --format=%h)"
  else
    version_suffix=''
  fi
else
  tamarin_info "Not a Git project. Fallback to timestamp for suffix generation..."
  version_suffix=tamarin$(date +%Y%m%d%H%M)
fi

tamarin_info "Suffixing package version with $version_suffix"
sed -i "0,/(\(.*\))/s/(\(.*\))/(\1${version_suffix})/" debian/changelog
cp debian/changelog /dist/changelog