#!/bin/bash

DIR=`dirname $0`
SCRIPT=`basename $0 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
cd $DIR/..

NPMVER=`npm show ebt-vue version`
PKGVER=`grep -e '"version":' package.json | sed s/[^0-9.]//g`

$DIR/install; RC=$?
if [ "$RC" == "0" ]; then
  echo -e "${SCRIPT}: install (OK)"
else
  echo -e "${SCRIPT}: install failed (ERROR $RC)"
  exit $RC
fi

ED=local/ebt-data
if [ -e $ED ]; then
  pushd $ED > /dev/null
  git pull
  popd > /dev/null
else
  echo "$SCRIPT: cloning $ED"
  mkdir -p local
  git clone https://github.com/ebt-site/ebt-data $ED
fi

npm install --save scv-esm@latest
npm install --save scv-bilara@latest
npm install --save-dev scv-tts@latest
rm -rf api/Seeker*
rm -f local/examples.json
cp -r node_modules/scv-tts/src/words/voice.json src/voices.json
$DIR/js/find-examples.js

if [ "$1" == "PUSH" ]; then
  $DIR/git-commit-version PUSH; RC=$?
  if [ "$RC" == "42" ]; then
    echo "$SCRIPT: no changes to commit"
    if [ "$NPMVER" == "$PKGVER" ]; then
      echo "$SCRIPT: npm ebt-vue $NPMVER (OK)"
    else
      echo "$SCRIPT: npm ebt-vue $PKGVER != $NPMVER (updating npm...)"
      $DIR/publish-npm
    fi
  elif [ "$RC" == "0" ]; then
    echo "$SCRIPT: updating npm"
    $DIR/publish-npm
  else
    echo "$SCRIPT: exiting with error code $RC"
    exit $RC;
  fi
fi
