#!/bin/bash

OS_ALLCAPS=`uname -s | sed 's/_.*$//' | tr 'a-z' 'A-Z'`

cli_svn_root=https://svn.greenstone.org/main/trunk/cli-extensions
selfcon_ext=selfcontained-gcloud
installed_dir=${selfcon_ext}/google-cloud-sdk

echo ""
if [ ! -d $selfcon_ext ] ; then
    echo "Checking out from svn: Greenstone3's $selfcon_ext extension"
    svn co $cli_svn_root/$selfcon_ext/source $selfcon_ext

    if [ $? != 0 ] ; then
	echo "Error encountered checking out: " 1>&2
	echo "    svn co $cli_svn_root/$selfcon_ext/source $selfcon_ext" 1>&2
	exit 1
    fi
else
    echo "Detected directory '$selfcon_ext'"
    echo "=> Taken to mean that the svn check-out command has already been run"
fi

echo ""
if [ ! -d $installed_dir ] ; then
    echo "Runing the $selfcon_ext/PREPARE-${OS_ALLCAPS}.sh"

    cd $selfcon_ext && ./PREPARE-${OS_ALLCAPS}.sh

    if [ $? != 0 ] ; then
	echo "Error encountered running: " 1>&2
	echo "        cd $selfcon_ext && ./PREPARE-${OS_ALLCAPS}.sh" 1>&2
	exit 1
    fi
	
else
    echo "Detected directory '$installed_dir'"
    echo "=> Taken to mean that the $selfcon_ext/PREPARE-${OS_ALLCAPS}.sh command has already been run"    
fi


if [ "x$GCLOUD_HOME" != "x$PWD/$installed_dir" ] ; then
    echo ""
    echo "To use this installed version of Google Cloud SDK, run "
    echo "    source ./SETUP-CLI.sh "
    echo "in the ext-cli folder."
else
    echo ""
    echo "Detected GCLOUD_HOME set to \$PWD/$installed_dir"
    echo "=> Taken to mean that the $selfcon_ext SETUP.sh file has been sourced"
fi

echo ""
echo "If this is the first time you have run gcloud from this account, you will also need to run:"
echo "    gcloud init"
echo "Or (on a headless server):"
echo "    gcloud auth login --no-launch-browser"
echo ""
echo "Follow the instructions generated to authenticate with your Google Cloud account"
echo "and grant the ncessary permissions for gcloud to operate with your account"   

echo ""
