#!/bin/bash

set -x -e

# Create and upload a container image for skiacorrectness the main Gold process.
APPNAME=gold-skiacorrectness

# Copy files into the right locations in ${ROOT}.
copy_release_files()
{
INSTALL="install -D --verbose --backup=none"
INSTALL_DIR="install -d --verbose --backup=none"

# Add the dockerfile and binary.
${INSTALL} --mode=644 -T ./dockerfiles/Dockerfile_skiacorrectness  ${ROOT}/Dockerfile
${INSTALL} --mode=755 -T ./build/skiacorrectness_k8s               ${ROOT}/usr/local/bin/${APPNAME}

# Add the frontend assets.
${INSTALL_DIR} --mode=755                                          ${ROOT}/usr/local/share/skiacorrectness/frontend/res/img
${INSTALL}     --mode=644 ./frontend/res/img/favicon.ico           ${ROOT}/usr/local/share/skiacorrectness/frontend/res/img/favicon.ico

${INSTALL_DIR} --mode=755                                          ${ROOT}/usr/local/share/skiacorrectness/frontend/res/js
${INSTALL}     --mode=644 ./frontend/res/js/core.js                ${ROOT}/usr/local/share/skiacorrectness/frontend/res/js/core.js

${INSTALL_DIR} --mode=755                                          ${ROOT}/usr/local/share/skiacorrectness/frontend/res/vul
${INSTALL}     --mode=644 ./frontend/res/vul/elements.html         ${ROOT}/usr/local/share/skiacorrectness/frontend/res/vul/elements.html
${INSTALL}     --mode=644 ./frontend/index.html                    ${ROOT}/usr/local/share/skiacorrectness/frontend/index.html

${INSTALL_DIR} --mode=755                                          ${ROOT}/usr/local/share/skiacorrectness/dist
${INSTALL} --mode=644 ./dist/*                                     ${ROOT}/usr/local/share/skiacorrectness/dist
}

source ../bash/docker_build.sh
