#!/bin/bash

REPO_TYPE=$1
REPO_NAME=$2
DESTINATION=${3:-.}

function usage {
	local BASECMD=$(basename "$0")
	echo 'usage: <REPO_TYPE> <REPO_NAME> [DESTINATION]'
	echo 'example:'
	echo -e '\t# REPO_TYPE=github'
	echo -e "\t$BASECMD github Dolibarr/dolibarr\n"
	echo -e '\t# REPO_TYPE=artcode'
	echo -e "\t$BASECMD artcode miaou/miaou-gnome\n"
	echo -e '\t# With destination'
	echo -e "\t$BASECMD artcode libre/libre-gnome /tmp # folder"
	echo -e "\t$BASECMD artcode libre/libre-gnome /tmp/release.tgz # file"
	exit 1
}

function get_github {
	local BASE="https://github.com"
	local release=$(wget_semver $REPO_TYPE $REPO_NAME)
	local url="$BASE/${REPO_NAME}/archive/refs/tags/${release}.tar.gz"
	if [[ -d $DESTINATION ]]; then
		DESTINATION="$DESTINATION/$(echo $REPO_NAME | cut -d '/' -f2)-${release}.tgz"
	fi
	curl >&2 --no-progress-meter $url -o $DESTINATION
	echo "$DESTINATION"
}

[[ $# -lt 2 ]] && usage

case $REPO_TYPE in
github)
	get_github
	;;
*)
	echo "repository type <${REPO_TYPE}> not yet supported!" && exit 1
	;;
esac
