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.
41 lines
1.0 KiB
41 lines
1.0 KiB
#!/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
|