From 8ea8d856f39ecc75a7f1c4084f90c525f3c3e69b Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Sun, 21 Aug 2022 13:25:55 -0600 Subject: util/lint/lint: Add command line parsing The lint script just did very basic argument parsing and required the sub-command and --junit argument to be in specific locations. I'm adding additional commands, so the first step is to add true command line parsing. Signed-off-by: Martin Roth Change-Id: I7118c29e6c5d785b35a7ae12cf5984c43ebc3ab9 Reviewed-on: https://review.coreboot.org/c/coreboot/+/67191 Reviewed-by: Raul Rangel Tested-by: build bot (Jenkins) --- util/lint/lint | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) (limited to 'util/lint') diff --git a/util/lint/lint b/util/lint/lint index 6bf982d1afa0..3c1e5994c0e0 100755 --- a/util/lint/lint +++ b/util/lint/lint @@ -5,6 +5,8 @@ #set -x # uncomment for debug +JUNIT=0 + usage () { printf "Usage: %s [--junit]\n" "$0" } @@ -16,9 +18,36 @@ junit_write () { fi } +if ! cmd_args="$(getopt -l help,junit -o hJ -- "$@")"; then + usage + exit 0 +fi +eval set -- "${cmd_args}" + +while true; do + case "$1" in + -h | --help) + usage + exit 0 + ;; + -J | --junit) + echo "selected junit" + JUNIT=1 + ;; + --) shift; break ;; + *) break ;; + esac + shift +done + #verify the first command line parameter -if [ -z "$1" ] || [ "$1" != "lint" ] && [ "$1" != "lint-stable" ] && \ +if [ -z "$1" ]; then + echo "Error: A sub-command is needed." + usage + exit 1 +elif [ "$1" != "lint" ] && [ "$1" != "lint-stable" ] && [ "$1" != "lint-extended" ]; then + echo "Error: $1 is not a valid sub-command." usage exit 1 fi @@ -30,13 +59,9 @@ if [ "$1" = "lint-extended" ]; then fi FAILED=0; -#check optional second command line parameter. -if [ "$2" = "--junit" ]; then - JUNIT=1 +if [ "${JUNIT}" -eq 1 ]; then echo '' > "$XMLFILE" junit_write '' -else - JUNIT=0 fi #run all scripts of the requested type -- cgit v1.2.3