From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH 2/2] ptxd_make_world_lint: allow single linters to be run
Date: Fri, 11 Jun 2021 09:53:04 +0200 [thread overview]
Message-ID: <20210611075304.GC839947@pengutronix.de> (raw)
In-Reply-To: <20210606140144.28444-2-rhi@pengutronix.de>
On Sun, Jun 06, 2021 at 04:01:47PM +0200, Roland Hieber wrote:
> Some linters can take a while to run. Speed up the run-edit loop during
> recipe development by making it possible to run a single linter, and add
> a way of listing available linters.
>
> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> ---
> bin/ptxdist | 5 ++++-
> doc/ref_parameter.rst | 4 +++-
> scripts/lib/ptxd_make_world_lint.sh | 30 ++++++++++++++++++++++++-----
> 3 files changed, 32 insertions(+), 7 deletions(-)
>
> diff --git a/bin/ptxdist b/bin/ptxdist
> index c41065311f0c..97370d92fc03 100755
> --- a/bin/ptxdist
> +++ b/bin/ptxdist
> @@ -776,7 +776,8 @@ Misc:
> printnext <var> assumes that the contents of <var> is another
> variable and print the contents of this variable
> licensecheck check md5sums of license files for all packages
> - lint run some basic checks for the bsp and PTXdist
> + lint [<linter>] run some basic checks for the BSP and PTXdist
> + (see 'lint list' for a list of available linters)
> list-packages print a list of all selected packages
> local-src <pkg> [<directory>] overwrite a package source with a locally provided
> directory containing the sourcecode.
> @@ -1831,6 +1832,8 @@ EOF
> ;;
> lint)
> export PTXDIST_GEN_ALL=1
> + export PTXDIST_LINT_TARGET=${1:-all}
> + shift
> check_premake_compiler &&
> ptxd_make_log ptxdist-lint &&
> if [ -e "${PTXDIST_TEMPDIR}/lint-failed" ]; then
> diff --git a/doc/ref_parameter.rst b/doc/ref_parameter.rst
> index a5b9bfe9eca6..3b49ee68b7ce 100644
> --- a/doc/ref_parameter.rst
> +++ b/doc/ref_parameter.rst
> @@ -250,10 +250,12 @@ Misc Actions
> For the specified package (or all selected packages), check the MD5 sums
> of license files.
>
> -``lint``
> +``lint [<linter>]``
> check the BSP and PTXdist for all kinds of issues. These are not checks
> for things that cause build errors. Instead the checks look for
> inconsistencies that may cause hidden problems.
> + ``<linter>`` can be a single linter to run, or ``list`` to print a list of
> + available linters, or ``all`` to run all linters (the default).
>
> ``list-packages``
> print a list of all selected packages. This list does not include the
> diff --git a/scripts/lib/ptxd_make_world_lint.sh b/scripts/lib/ptxd_make_world_lint.sh
> index 06926e58d614..a08198411292 100644
> --- a/scripts/lib/ptxd_make_world_lint.sh
> +++ b/scripts/lib/ptxd_make_world_lint.sh
> @@ -199,10 +199,30 @@ export -f ptxd_make_world_lint_credits
> PTXDIST_LINT_COMMANDS="${PTXDIST_LINT_COMMANDS} credits"
>
> ptxd_make_world_lint() {
> - local command
> -
> - for command in ${PTXDIST_LINT_COMMANDS}; do
> - ptxd_make_world_lint_${command}
> - done
> + local command done
> +
> + case "${PTXDIST_LINT_TARGET}" in
> + list|help)
> + echo "Available linters: ${PTXDIST_LINT_COMMANDS}"
> + return
> + ;;
> + all)
> + for command in ${PTXDIST_LINT_COMMANDS}; do
> + ptxd_make_world_lint_${command}
> + done
> + ;;
> + *)
> + for command in ${PTXDIST_LINT_COMMANDS}; do
> + if [ "${PTXDIST_LINT_TARGET}" = "${command}" ]; then
> + done=1
> + ptxd_make_world_lint_${command}
> + fi
> + done
> + if [ -z "${done}" ]; then
> + ptxd_bailout "No such linter: '${PTXDIST_LINT_TARGET}'" \
> + "Available linters: ${PTXDIST_LINT_COMMANDS}"
> + fi
The indention is wrong. And I think we can allow multiple linters as
arguments (untested):
above:
export PTXDIST_LINT_TARGET="${*:-all}"
I don't think you need the 'shift'. If I'm wrong then 'set --' should help.
for command in ${PTXDIST_LINT_TARGET}; do
if [[ " ${command} " =~ " ${PTXDIST_LINT_COMMANDS} " ]]; then
ptxd_make_world_lint_${command}
else
ptxd_bailout "No such linter: '${command}'" \
"Available linters: ${PTXDIST_LINT_COMMANDS}"
fi
Michael
> + ;;
> + esac
> }
> export -f ptxd_make_world_lint
> --
> 2.29.2
>
>
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
> To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
next prev parent reply other threads:[~2021-06-11 7:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-06 14:01 [ptxdist] [PATCH 1/2] ptxd_make_world_lint_credits: fix typo Roland Hieber
2021-06-06 14:01 ` [ptxdist] [PATCH 2/2] ptxd_make_world_lint: allow single linters to be run Roland Hieber
2021-06-11 7:53 ` Michael Olbrich [this message]
2021-06-12 17:57 ` Roland Hieber
2021-06-16 10:35 ` [ptxdist] [APPLIED] ptxd_make_world_lint_credits: fix typo Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210611075304.GC839947@pengutronix.de \
--to=m.olbrich@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox