#!/bin/bash
# Build the Docker containers for the SDP
# Goes together with run_docker_tests.sh
# This is provided as a useful tool for testing!
#
# Note that this file is expecting to be mapped into the root of the workspace
# and with the sdp directory in the same root.
# So workspace view should look something like:
#    View:
#        //guest/perforce_software/sdp/main/... //myws.sdp/sdp/...
#        //guest/perforce_software/sdp/main/test/* //myws.sdp/*

oses=""

# This file should be in <workspace-root>/sdp/test/
# We calculate dir relative to directory of script
script_dir="${0%/*}"
root_dir="$(cd "$script_dir/../.."; pwd -P)"

# Allow the specific platform to be specified via parameter
if [ ,"$1" = ,"ubuntu20" ] ; then
    oses="ubuntu20"
elif [ ,"$1" = ,"centos" ] ; then
    oses="centos7"
elif [ ,"$1" = ,"centos6" ] ; then
    oses="centos6"
elif [ ,"$1" = ,"centos7" ] ; then
    oses="centos7"
elif [ ,"$1" = ,"ubuntu" ] ; then
    oses="ubuntu20"
else
    oses="ubuntu20 centos6 centos7"
    oses="centos7"  # Default override
fi

echo Building SDP docker containers
for os in $oses
do
    docker_dir="$root_dir/sdp/test/docker"
    dockerfile_base=${docker_dir}/Dockerfile.${os}.base
    dockerfile_sdp=${docker_dir}/Dockerfile.${os}.sdp
    # Build the base Docker for the OS, and then the SDP variant on top
    docker build --rm=true -t=perforce/${os}-base -f ${dockerfile_base} ${docker_dir}
    docker build --rm=true -t=perforce/${os}-sdp -f ${dockerfile_sdp} ${docker_dir}
done
