#!/bin/bash

set -e

# write temporary files
cat > transifex-config.json <<- EOM
{
  "resources": [
    {
      "project": "Canvas-RCE",
      "projectSlug": "canvas-rce",
      "name": "Canvas RCE",
      "slug": "canvas-rce",
      "folder": "./locales/",
      "sourceLanguage": "en",
      "jiraProjectKey": "CNVS",
      "jiraIssueType": "Story",
      "jiraAssigneeName": "kebarlow",
      "localeNameMapping": {
        "en_IE": "en-GB-x-lbs",
        "zh": "zh-Hans",
        "zh_HK": "zh-Hant"
      }
    },
    {
      "project": "Canvas (Crowdsource)",
      "projectSlug": "canvas-crowdsource",
      "name": "Canvas RCE",
      "slug": "canvas-rce",
      "folder": "./locales/",
      "sourceLanguage": "en",
      "jiraTicketForNewStrings": false,
      "jiraProjectKey": "CNVS",
      "jiraIssueType": "Story",
      "jiraAssigneeName": "kebarlow"
    }
  ]
}
EOM
cat > docker-compose.override.yml <<- EOM
version: '2'
services:
  module:
    environment:
      - JIRA_USERNAME=i18njenkins
      - JIRA_PASSWORD
      - TRANSIFEX_USERNAME=api
      - TRANSIFEX_PASSWORD
EOM

# run check-transifex in docker container and copy locale files
docker-compose build
docker-compose up -d
docker-compose exec -T module npm run check-transifex transifex-config.json
docker cp $(docker-compose ps -q module):/usr/src/app/locales/*.json locales/
docker-compose stop

# clean up temporary files
rm docker-compose.override.yml transifex-config.json

if test -n "$(git status --porcelain)"; then
  exit 47
  # ensuere config/hooks are setup properly
  git config user.email "hudson@instructure.com"
  gitdir=$(git rev-parse --git-dir)
  scp -p -P 29418 hudson@gerrit.instructure.com:hooks/commit-msg ${gitdir}/hooks/
  # update repo
  git branch -D i18n-tmp || true
  git checkout -b i18n-tmp
  git add locales/*.json
  git commit -m "update locales with new translations"
  git push origin i18n-tmp:refs/for/master%submit,l=Verified+1
fi
