#!/bin/bash

# Skygge@2022
# www.skygge.com

user=$(whoami)
group=$(id -ng $user)
config=$HOME/.config/argit.conf

if [ ! -f $config ]; then
    echo "I can't find the configuration file: $config. Starting configuration wizard."
    echo "After that run argit command again."
    arconfig
    exit 1
else
    . $config
fi

# checking if $srcdir exists

if [ ! -d $srcdir ]; then
    echo "The source directory: $srcdir does not exist. Now I'm going to create it, you may be asked for sudo password."
    #checking if srcdir is located in user's home directory
    if [ $(echo $srcdir|grep $HOME) ]; then
	mkdir $srcdir
    else
	sudo mkdir $srcdir
	sudo chown $user:$group $srcdir
    fi
    if [ $? -ne 0 ]; then
	echo "ERROR creating directory. Run arconfig and set correct path."
	exit 1
    else
	echo "Source directory created successfully."
    fi
else
    echo -n "Source directory already exists. Checking access...."
    touch $srcdir/testfile 2>/dev/null && rm $srcdir/testfile 2>/dev/null
    if [ $? -ne 0 ]; then
	echo "ERROR: Cannot access source directory. Changing owner and group to $user:$group. You may be asked for sudo password."
	sudo chown $user:$group $srcdir
    else
	echo "OK."
    fi
fi

# checking for Ardour sources in the source directory.
if [ -d $srcdir/ardour ]; then
    cd  $srcdir/ardour
    version=`git describe 2>/dev/null|rev|cut -d "-" -f 2-|rev`
    if [ $version ]; then
	echo "Found Ardour sources version $version in the $srcdir."
	echo "Trying to get the updates..."
	git pull
	version=`git describe|rev|cut -d "-" -f 2-|rev`
	echo "Now you have sources version $version."
    else
	echo "There are no Ardour sources in $srcdir/ardour, downloading complete sources from Github."
	cd $srcdir
	git clone https://github.com/Ardour/ardour.git
	git config pull.rebase false
	cd  $srcdir/ardour
	version=`git describe|rev|cut -d "-" -f 2-|rev`
	echo "Download complete. Ardour version: $version."
    fi
else
    cd  $srcdir
    echo "Downloading Ardour sources from Github.".
    git clone https://github.com/Ardour/ardour.git
    cd  $srcdir/ardour
    git config pull.rebase false
    version=`git describe|rev|cut -d "-" -f 2-|rev`
    echo "Download complete. Ardour version: $version."
fi

echo "Now you can compile and install Ardour with the arcompile command."
