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 <[email protected]>
> > ---
> > 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. | [email protected] |
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
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to
[email protected]