You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

55 lines
1.3 KiB

#!/bin/bash
REPO_TYPE=$1
REPO_NAME=$2
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 pvincent/debian-gnome\n"
exit -1
}
function get_github {
local all_releases=$( git ls-remote --tags --sort="v:refname" git://github.com/$REPO_NAME )
# extract only VERSION without 'v'
local non_v_release=$( echo "$all_releases" \
| grep -v "refs/tags/v" | grep -v dev | grep -v rc | tail -n1 | cut -f2 | cut -d '/' -f3 )
non_v_release=${non_v_release%^\{\}} # remove extra characters ^{} from github
[ -n "$non_v_release" ] && echo $non_v_release && return
# extract remaining version including 'v'
local v_release=$( echo "$all_releases" \
| grep -v dev | grep -v rc | tail -n1 | cut -f2 | cut -d '/' -f3 )
v_release=${v_release%^\{\}} # remove extra characters ^{} from github
echo $v_release
}
function get_artcode {
release=$( git ls-remote --tags --sort="v:refname" \
https://git.artcode.re/$REPO_NAME \
| tail -n1 | cut -f2 | cut -d '/' -f3 )
echo $release
}
[[ $# -ne 2 ]] && usage
case $REPO_TYPE in
github )
get_github
;;
artcode )
get_artcode
;;
* )
echo "repository type <${REPO_TYPE}> not yet supported!" && exit 1
;;
esac