mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Roland Hieber <rhi@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH 2/2] ptxd_make_world_lint: allow single linters to be run
Date: Sat, 12 Jun 2021 19:57:14 +0200	[thread overview]
Message-ID: <20210612175714.y3ciqwmovghimlxq@pengutronix.de> (raw)
In-Reply-To: <20210611075304.GC839947@pengutronix.de>

On Fri, Jun 11, 2021 at 09:53:04AM +0200, Michael Olbrich wrote:
> 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.

No, the indentation is wrong in the rest of the file.

> 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

Yes, I've also already thought about this, so I'll pick it up in v2.

 - Roland

-- 
Roland Hieber, Pengutronix e.K.          | r.hieber@pengutronix.de     |
Steuerwalder Str. 21                     | https://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


  reply	other threads:[~2021-06-12 17:58 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
2021-06-12 17:57     ` Roland Hieber [this message]
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=20210612175714.y3ciqwmovghimlxq@pengutronix.de \
    --to=rhi@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