#!/bin/sh
#
# This script is setting up a general environment providing:
# TESTSIZE, JOBID, COVID, and an UPLOAD command.
#
SSHPASSBIN=$(which sshpass 2> /dev/null)
XARGS=$(which xargs 2> /dev/null)
SCP=$(which scp 2> /dev/null)
GIT=$(which git 2> /dev/null)
TAR=$(which tar 2> /dev/null)
RM=$(which rm 2> /dev/null)

SCPOPT="-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null"

if [ "${TRAVIS_BUILD_DIR}" = "" ]; then
  export TRAVIS_BUILD_DIR=.
fi

if [ "${TRAVIS_OS_NAME}" != "osx" ]; then
  export TESTSIZE=1000
else
  export TESTSIZE=13
fi

if [ "${TRAVIS_JOB_NUMBER}" != "" ]; then
  export JOBID=$(echo ${TRAVIS_JOB_NUMBER} | cut -d. -f2)
else
  export JOBID=0
fi

if [ "${COVID}" = "" ]; then
  export COVID=0
fi

if [ "${SSHPASSBIN}" != "" ] && [ "${XARGS}" != "" ] && [ "${SCP}" != "" ] && [ "${GIT}" != "" ] && [ "${TAR}" != "" ] && [ "${RM}" != "" ] && \
   [ "${UPLOAD_KEY}" != "" ] && [ "${UPLOAD_USR}" != "" ] && [ "${UPLOAD_URL}" != "" ]; then
  export UPLOAD="(( \
    if [ -d \"\${UPLOAD_DIR}\" ]; then \
      UPLOAD_FILE=artifact-\${JOBID}-\${COVID}.tgz && \
      tar cfz \${UPLOAD_FILE} \${UPLOAD_DIR}; \
    fi && \
    if [ -e \"\${UPLOAD_FILE}\" ]; then \
      ${SSHPASSBIN} -p \${UPLOAD_KEY} ${SCP} ${SCPOPT} \
        \${UPLOAD_FILE} \${UPLOAD_USR}@\${UPLOAD_URL} 2>&1 \
      | sed 's/Warning: Permanently added ..* ..*\.//'; \
      ${RM} \${UPLOAD_FILE}; \
    else \
      echo \"UPLOAD_DIR or UPLOAD_FILE is not specified!\"; \
    fi) \
  || true)"
else
  echo "UPLOAD command is not available!"
fi

