#!/bin/bash

# Note: git is not included in MozillaBuild; you need to get it from Cygwin

alias mozobjdir="cd $MOZ_OBJDIR"
alias mozsrcdir="cd $MOZ_HOME/$MOZ_COMM_CENTRAL_DIRNAME"
alias mbd=mozsrcdir
alias mod=mozobjdir
alias mozdiff='diff -u8p'
alias hgdiff='hg diff .'
alias hgkdiff3='hg kdiff3 .'
alias patchesdir="mkpatchdir; cd $MOZ_PATCHESDIR"
alias MBU='mozbuild unattended'
alias MU=mozupdate
alias SM=mozexe
alias SMDBG=mozdebug
alias MMT=mozmochitest
alias rmpatch='mozsrcdir;git apply -v -R -p1'
alias addpatch='git apply -v -p1'
alias patchchk='git apply --stat --whitespace=warn'
if [ -x "$CYGWIN_PATH/wget.exe" ]; then
  alias wget="$CYGWIN_PATH/wget.exe"
fi

function bzpatch() {
  patchesdir
  case $1 in
    *[!0-9]*)
      ATTID=${1#*id=}
      ATTURL=$1
      ;;
    *)
      ATTID=$1
      ATTURL="https://bugzilla.mozilla.org/attachment.cgi?id=$1"
      ;;
  esac
  PATCH=attachment-$ATTID.patch
  wget --no-check-certificate -O $PATCH $ATTURL
  mozsrcdir
  git apply -v -p1 $MOZ_PATCHESDIR/$PATCH
}

function mkpatchdir() {
  mkdir -p "$MOZ_PATCHESDIR/$1"
  PATCHDIR="$MOZ_PATCHESDIR/$1"
  echo "Created directory $MOZ_PATCHESDIR/$1, now known as \$PATCHDIR"
}

function bzgetatt() {
  ATTURL="$1"  # https://bugXXXXXX.bugzilla.mozilla.org/attachment.cgi?id=YYYYYY
  BUG=`expr "${ATTURL#https://bug}" : '\([0-9][0-9]*\)'`
  mkpatchdir $BUG
  cd "$PATCHDIR"
  wget --no-check-certificate --content-disposition $ATTURL
}
function mozmochitest() {
  cd $MOZ_OBJDIR/mozilla
  python _tests/testing/mochitest/runtests.py \
    --$1 --console-level=DEBUG --autorun \
    --test-path="$2"
}

alias mozmochitest-chrome='mozmochitest chrome'
alias mozmochitest-browser='mozmochitest browser-chrome'

