#!/bin/bash

CHANNEL="esr52"
BRANCH="releases/comm-$CHANNEL"
RELEASE_TAG="THUNDERBIRD_52_9_1_RELEASE"
VERSION="52.9.1"
VERSION_SUFFIX=""
LOCALE_FILE="thunderbird-$VERSION/mail/locales/shipped-locales"

# we might have an upstream archive already and can skip the checkout
if [ -e thunderbird-$VERSION$VERSION_SUFFIX.source.tar.xz ]; then
  echo "skip thunderbird checkout and use available archive"
  # still need to extract the locale information from the archive
  echo "extract locale list"
  tar -xf thunderbird-$VERSION$VERSION_SUFFIX.source.tar.xz $LOCALE_FILE
else
  # thunderbird
  if [ -d thunderbird-$VERSION ]; then
    pushd thunderbird-$VERSION
    _repourl=$(hg paths)
    case "$_repourl" in
      *$BRANCH*)
        echo "updating previous tree"
        hg pull
        popd
        ;;
      * )
        echo "removing obsolete tree"
        popd
        rm -rf thunderbird-$VERSION
        ;;
    esac
  fi
  if [ ! -d thunderbird-$VERSION ]; then
    echo "cloning new $BRANCH..."
    hg clone http://hg.mozilla.org/$BRANCH thunderbird-$VERSION
  fi
  pushd thunderbird-$VERSION
  hg update --check
  echo "running client.py..."
  [ "$RELEASE_TAG" == "default" ] || _extra="--comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG"
  # temporary!
  _extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-$CHANNEL $_extra"
  python client.py checkout --skip-chatzilla --skip-venkman $_extra
  popd
  echo "creating archive..."
  tar cJf thunderbird-$VERSION.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird-${VERSION}
fi

# l10n
# http://l10n.mozilla.org/dashboard/?tree=tb30x -> shipped-locales
echo "fetching locales..."
test ! -d l10n && mkdir l10n
for locale in $(awk '{ print $1; }' $LOCALE_FILE); do
  case $locale in
    ja-JP-mac|en-US)
      ;;
    *)
      echo "fetching $locale ..."
      (
      hg clone http://hg.mozilla.org/releases/l10n/mozilla-release/$locale l10n/$locale
      hg -R l10n/$locale up -C -r $RELEASE_TAG
      ) &
      ;;
  esac
done
wait
echo "creating l10n archive..."
tar cJf l10n-$VERSION.tar.xz \
  --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser \
  --exclude=suite \
  l10n

# compare-locales
echo "creating compare-locales"
hg clone http://hg.mozilla.org/build/compare-locales
tar cJf compare-locales.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales

