#!/usr/bin/env bash

set -o errexit
set -o nounset

declare -r CONTEXT_DIR=${HOME}/ConTeXt
declare -r GET_SECONDS="date +%s"
declare -r OUTPUT="${CONTEXT_DIR}/install.log"
declare -r SETUP_URL="rsync://contextgarden.net/minimals/setup/first-setup.sh"
declare -r STARTED=$(${GET_SECONDS})

declare -r ACTIVATE_CONTEXT=". ${CONTEXT_DIR}/tex/setuptex"

function giveMessage {
  echo "$(date +%T): $@"
}

giveMessage "fetch script"
mkdir -p ${CONTEXT_DIR}
rm -f ${OUTPUT}
cd ${CONTEXT_DIR}
rsync -pt ${SETUP_URL} .
giveMessage "first setup"
./first-setup.sh --extras=all &>>${OUTPUT}
set +o nounset
${ACTIVATE_CONTEXT}
giveMessage "generate MKII"
mktexlsr                      &>>/${OUTPUT}
texexec --make all            &>>/${OUTPUT}
giveMessage "generate XeTeX"
texexec --make --xtx all      &>>/${OUTPUT}
giveMessage "generate MKIV"
mtxrun   --selfupdate         &>>/${OUTPUT}
mtxrun   --generate           &>>/${OUTPUT}
luatools --generate           &>>/${OUTPUT}
context  --make               &>>/${OUTPUT}
giveMessage "Installing/updating ConTeXt took $(( $(${GET_SECONDS}) - ${STARTED} )) seconds"
giveMessage "before using ConTeXt you have to run: '${ACTIVATE_CONTEXT}'"
