#!/bin/bash REPO_TYPE=$1 REPO_NAME=$2 DESTINATION=${3:-.} function usage { local BASECMD=$(basename "$0") echo 'usage: [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