MIAOU-BASH is a collection of settings and helpers for leveraging BASH. Developer-friendly, it may be used as solo package with or without the miaou project.
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

#!/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