ci: Fix meson-install usage check

The script has four mandatory arguments, and also accepts optional
build options that are passed on to meson. Checking for the number
of arguments *before* filtering out the optional ones means that

`./install-meson-project.sh -Done=1 -Dtwo=2 -Dthree=3 -Dfour=4`

is considered valid, even though not a single required argument
is passed.

Fix this by filtering out the arguments before doing the usage
check. As it is a nice touch to have usage information at the
top of the script, move the message into a usage() function at
the top.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2712>
This commit is contained in:
Florian Müllner 2023-03-20 01:47:30 +01:00 committed by Marge Bot
parent a5aeb6a3e6
commit 919812a851

View File

@ -2,12 +2,17 @@
set -e set -e
if [[ $# -lt 4 ]]; then usage() {
echo Usage: $0 [options] [repo-url] [commit] [subdir] cat <<-EOF
echo Options: Usage: $(basename $0) [OPTION…] REPO_URL COMMIT SUBDIR PREPARE
echo -Dkey=val
exit 1 Check out and install a meson project
fi
Options:
-Dkey=val Option to pass on to meson
EOF
}
MESON_OPTIONS=() MESON_OPTIONS=()
@ -16,6 +21,11 @@ while [[ $1 =~ ^-D ]]; do
shift shift
done done
if [[ $# -lt 4 ]]; then
usage
exit 1
fi
REPO_URL="$1" REPO_URL="$1"
COMMIT="$2" COMMIT="$2"
SUBDIR="$3" SUBDIR="$3"