#!/usr/bin/env bash

# Download golang version 1.10.2 on current directory.
sudo curl -O https://storage.googleapis.com/golang/go1.10.2.linux-amd64.tar.gz

# Unpack golang and move it to /usr/local.
sudo tar -xvf go1.10.2.linux-amd64.tar.gz
sudo mv go /usr/local

rm -f go1.10.2.linux-amd64.tar.gz
rm -Rf go

# Create .svsbank_profile if none
cd
touch .svsbank_profile
# make sure non login & login terminal have access to svsbank source
touch .bash_profile

# remove already injected
sed -i 's/# START: svsbank-cli inject for source path//g' .bashrc
sed -i 's/source ~\/.svsbank_profile//g' .bashrc
sed -i 's/# END: svsbank-cli inject for source path//g' .bashrc
sed -i 's/# START: svsbank-cli inject for source path//g' .bash_profile
sed -i 's/source ~\/.svsbank_profile//g' .bash_profile
sed -i 's/# END: svsbank-cli inject for source path//g' .bash_profile

# delete end of file blang line
sed -i -e :a -e '/^\n*$/{$d;N;ba' -e '}' .bashrc
sed -i -e :a -e '/^\n*$/{$d;N;ba' -e '}' .bash_profile

# reinject svsbank source to bashrc & bash_profile.
echo '# START: svsbank-cli inject for source path' >> ~/.bashrc
echo 'source ~/.svsbank_profile' >> ~/.bashrc
echo '# END: svsbank-cli inject for source path' >> ~/.bashrc
echo '# START: svsbank-cli inject for source path' >> ~/.bash_profile
echo 'source ~/.svsbank_profile' >> ~/.bash_profile
echo '# END: svsbank-cli inject for source path' >> ~/.bash_profile

# remove prev injected path
sed -i 's/# START: svsbank-cli inject for .go path//g' .svsbank_profile
sed -i 's/export PATH=$PATH:\/usr\/local\/go\/bin//g' .svsbank_profile
sed -i 's/# END: svsbank-cli inject for .go path//g' .svsbank_profile

# delete blang line
sed -i '/^$/d' .svsbank_profile

# Export path so it can be executed from terminal.
echo '# START: svsbank-cli inject for .go path' >> ~/.svsbank_profile
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.svsbank_profile
echo '# END: svsbank-cli inject for .go path' >> ~/.svsbank_profile
source ~/.svsbank_profile

# Create Workspace
mkdir ~/go
mkdir ~/go/bin
mkdir ~/go/pkg
mkdir ~/go/src
mkdir ~/go/src/github.com

# Make sure your terminal can run go by run below command.
go version

# Your future service repository will live inside bukalapak folder. Export more path so it can access your workspace.
echo '# START: svsbank-cli inject for .go workspace path' >> ~/.svsbank_profile
echo 'export PATH=$PATH:${HOME}/go/bin' >> ~/.svsbank_profile
echo 'export GOPATH=${HOME}/go' >> ~/.svsbank_profile
echo '# END: svsbank-cli inject for .go workspace path' >> ~/.svsbank_profile

echo "Go installed succesfully"
