121 lines
2 KiB
Bash
121 lines
2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
declare DEBUG=0
|
||
|
declare HELP=0
|
||
|
declare EDITOR=0
|
||
|
declare WORKDIR="$(dirname $(readlink -f $0))"
|
||
|
declare GODOT_SRC="https://downloads.tuxfamily.org/godotengine/4.0/alpha1/Godot_v4.0-alpha1_linux.64.zip"
|
||
|
declare OUTZIP="$WORKDIR/Godot.zip"
|
||
|
declare OPTION=""
|
||
|
|
||
|
function msg_debug()
|
||
|
{
|
||
|
if [ $DEBUG -ne 0 ]
|
||
|
then
|
||
|
echo "### DEBUG : $*" >&2
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
function msg_info()
|
||
|
{
|
||
|
echo "--- INFO : $*" >&2
|
||
|
}
|
||
|
|
||
|
function msg_error()
|
||
|
{
|
||
|
echo "*** ERROR : $*" >&2
|
||
|
}
|
||
|
|
||
|
function download()
|
||
|
{
|
||
|
local package="$1"
|
||
|
local out="$2"
|
||
|
if [ -f $2 ]
|
||
|
then
|
||
|
return 0
|
||
|
fi
|
||
|
which curl 1>/dev/null 2>/dev/null
|
||
|
if [ $? -eq 0 ]
|
||
|
then
|
||
|
curl -o $out $package
|
||
|
if [ $? -eq 0 ]
|
||
|
then
|
||
|
msg_info "Package GODOT downloaded"
|
||
|
return 0
|
||
|
fi
|
||
|
fi
|
||
|
which wget 1>/dev/null 2>/dev/null
|
||
|
if [ $? -eq 0 ]
|
||
|
then
|
||
|
wget $package -O $out
|
||
|
if [ $? -eq 0 ]
|
||
|
then
|
||
|
msg_info "Package GODOT downloaded"
|
||
|
return 0
|
||
|
fi
|
||
|
fi
|
||
|
msg_error "Impossible to download"
|
||
|
exit 2
|
||
|
}
|
||
|
|
||
|
function extract()
|
||
|
{
|
||
|
local compressed_file="$1"
|
||
|
which unzip 1>/dev/null 2>/dev/null
|
||
|
if [ $? -eq 0 ]
|
||
|
then
|
||
|
unzip -u $compressed_file -d $WORKDIR 1>&2
|
||
|
if [ $? -eq 0 ]
|
||
|
then
|
||
|
msg_info "Uncompressed GODOT"
|
||
|
unzip -Z1 $compressed_file
|
||
|
return 0
|
||
|
fi
|
||
|
fi
|
||
|
msg_error "Impossible to extract"
|
||
|
exit 2
|
||
|
}
|
||
|
|
||
|
|
||
|
while getopts hdeo:s: flag
|
||
|
do
|
||
|
case "${flag}" in
|
||
|
h) HELP=1;;
|
||
|
d) DEBUG=1;;
|
||
|
e) EDITOR=1;;
|
||
|
o) OUTZIP=${OPTARG};;
|
||
|
s) GODOT_SRC=${OPTARG};;
|
||
|
*) HELP=1;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [[ $HELP -ne 0 ]]
|
||
|
then
|
||
|
cat << EOF
|
||
|
$(basename $0) [Option] : Donwload Launch Godot
|
||
|
Option:
|
||
|
-h : Show help
|
||
|
-d : Show debug message
|
||
|
-e : Start Godot in editor mode
|
||
|
-o <File> : target godot file (downloaded)
|
||
|
-s <Url> : Url to download a specific godot version
|
||
|
EOF
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
msg_info "Start"
|
||
|
msg_debug "WORKDIR:$WORKDIR OUTZIP:$OUTZIP GODOT_SRC:$GODOT_SRC"
|
||
|
download "$GODOT_SRC" "$OUTZIP"
|
||
|
EXE=$(extract "$OUTZIP")
|
||
|
msg_info "Prg:$EXE"
|
||
|
|
||
|
if [ $EDITOR -ne 0 ]
|
||
|
then
|
||
|
OPTION="$OPTION -e"
|
||
|
fi
|
||
|
|
||
|
$WORKDIR/$EXE $OPTION
|
||
|
|
||
|
|
||
|
msg_info "End"
|