#!/usr/bin/env bash

set -e

sign_and_submit() {
    # Don't trust the return value of web-ext sign.
    (source AMOKEYS && (web-ext sign -s build --api-key $AMOKEY --api-secret $AMOSECRET "$@" || true))
}

publish_beta_nonewtab() {
    yarn run clean
    yarn run build
    scripts/version.js beta
    sed 's/tridactyl.vim.betas@cmcaine/tridactyl.vim.betas.nonewtab@cmcaine/' -i build/manifest.json
    sed '/\s*"newtab":.*/d' -i build/manifest.json
    sed 's/"name": "Tridactyl"/"name": "Tridactyl: No New Tab"/' -i build/manifest.json
    sign_and_submit -a web-ext-artifacts/nonewtab
}

publish_beta() {
    yarn run clean
    yarn run build
    scripts/version.js beta
    sed 's/"name": "Tridactyl"/"name": "Tridactyl: Beta"/' -i build/manifest.json
    sign_and_submit
}

publish_stable() {
    yarn run clean
    yarn run build
    sed 's/tridactyl.vim.betas@cmcaine/tridactyl.vim@cmcaine/' -i build/manifest.json
    sign_and_submit
    tar --exclude-from=.gitignore -czf ../public_html/betas/tridactyl_source.tar.gz .
}

case $1 in
    stable) publish_stable;;
    nonewtab) publish_beta_nonewtab;;
    *|beta) publish_beta;;
esac
