devtools: set DTS directory in format check
The script was running on the current directory. If not in the DTS directory, it would re-format every Python files. A new positional argument is added to specify the directory to check. In most cases, the (new) default value should be enough. While updating argument handling, the usage is printed in case of wrong argument. The directory is also printed in headings, and a last heading is added for the summary part. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Owen Hilyard <ohilyard@iol.unh.edu> Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech> Tested-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
This commit is contained in:
parent
84f8e7c029
commit
830bf2a04f
@ -3,11 +3,10 @@
|
||||
# Copyright(c) 2022 University of New Hampshire
|
||||
|
||||
usage() {
|
||||
echo "Run formatting and linting programs for DTS. Usage:"
|
||||
|
||||
echo "Usage: $(basename $0) [options] [directory]"
|
||||
echo 'Options:'
|
||||
# Get source code comments after getopts arguments and print them both
|
||||
grep -E '[a-zA-Z]+\) +#' "$0" | tr -d '#'
|
||||
exit 0
|
||||
}
|
||||
|
||||
format=true
|
||||
@ -17,7 +16,9 @@ lint=true
|
||||
while getopts "hfl" arg; do
|
||||
case $arg in
|
||||
h) # Display this message
|
||||
echo 'Run formatting and linting programs for DTS.'
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
f) # Don't run formatters
|
||||
format=false
|
||||
@ -25,17 +26,27 @@ while getopts "hfl" arg; do
|
||||
l) # Don't run linter
|
||||
lint=false
|
||||
;;
|
||||
*)
|
||||
?)
|
||||
usage
|
||||
exit 1
|
||||
esac
|
||||
done
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
directory=$(realpath --relative-base=$(pwd) ${1:-$(dirname $0)/../dts})
|
||||
cd $directory || exit 1
|
||||
|
||||
heading() {
|
||||
echo $*
|
||||
echo $* | sed 's/./-/g' # underline
|
||||
}
|
||||
|
||||
errors=0
|
||||
|
||||
if $format; then
|
||||
if command -v git > /dev/null; then
|
||||
if git rev-parse --is-inside-work-tree >&-; then
|
||||
echo "Formatting:"
|
||||
heading "Formatting in $directory/"
|
||||
if command -v black > /dev/null; then
|
||||
echo "Formatting code with black:"
|
||||
black .
|
||||
@ -72,7 +83,7 @@ if $lint; then
|
||||
if $format; then
|
||||
echo
|
||||
fi
|
||||
echo "Linting:"
|
||||
heading "Linting in $directory/"
|
||||
if command -v pylama > /dev/null; then
|
||||
pylama .
|
||||
errors=$((errors + $?))
|
||||
@ -83,5 +94,6 @@ if $lint; then
|
||||
fi
|
||||
|
||||
echo
|
||||
heading "Summary for $directory/"
|
||||
echo "Found $errors errors"
|
||||
exit $errors
|
||||
|
Loading…
Reference in New Issue
Block a user