GSoC - Code Formatting and Style Checking for RTEMS score

Ida Delphine idadelm at gmail.com
Sun Aug 15 05:03:48 UTC 2021


Hello everyone,
I wrote the style checking tool and looking forward to some feedback to
improve it...
https://github.com/Idadelveloper/rtems-tools/blob/master/misc/tools/style.py

On Wed, 11 Aug 2021, 5:07 pm Gedare Bloom, <gedare at rtems.org> wrote:

> On Tue, Aug 10, 2021 at 3:21 PM Ida Delphine <idadelm at gmail.com> wrote:
> >
> > Hi everyone,
> > I was able to successfully build LLVM from source using "ninja" instead
> of "make" after a couple of failed attempts because I kept running out of
> resources.
> >
> > Is there anything else I am supposed to do as far building LLVM is
> concerned? Or will every user first have to clone the llvm repo and build
> it from source like I did?
> >
> I think it would be good to update/provide RSB recipe for newer
> version(s) of LLVM. If you can do that after the GSoC coding period
> ends, that would be great.
>
> > On Fri, 16 Jul 2021, 5:28 am Chris Johns, <chrisj at rtems.org> wrote:
> >>
> >> Hi,
> >>
> >> I will bring the discussion to the devel list and I hope the comments
> are in
> >> line with the purpose of the project. Please correct what I say if it
> is not.
> >>
> >> The pre-commit script that is in github review is a good base and I
> believe it
> >> solves that problem for those on Linux. It is a great start and it is
> nice to see.
> >>
> >> The work needs to mature and progress and that means a few things. I was
> >> approached by Joel about where this would live in rtems-tools. As the
> script
> >> stands it is not suitable for rtems-tool because the format is specific
> to the
> >> score code in rtems.git.
> >>
> >> I think a pre-commit script needs to live in the repo it is for in a
> spot a user
> >> can copy to the hooks directory of their repo. For example `git-hooks`.
> >>
> >> A git hooks script for rtems.git needs to run on all the supported
> hosts or we
> >> may result in patches being left on the floor. If a contributor's host
> OS is not
> >> supported and the patch is rejected for formatting reasons picked up by
> the
> >> check the contributor may just walk away.
> >>
> >> The script should use `/usr/bin/env python3` and it needs to check for
> a range
> >> of `clang-format` instances. FreeBSD has a package that installs the
> format
> >> command as `clang-format10` for LLVM 10 and `clang-format11` for
> version 11.
> >>
> >> A contributor being able to run the script may depend on the host
> having a
> >> package or packages installed. Given this is for RTEMS development that
> is fine.
> >> The script needs to handle any set up errors nicely if something is
> missing. I
> >> prefer we avoid the "experts" approach to error management.
> >>
> >> There is possible future work adding a command to rtems-tools. Ida and I
> >> discussed this on discord and we decided a command called `rtems-style`
> would be
> >> nice. It would be nice if that command checked, ie `--mode=check`, a
> style as
> >> well as `--mode=reformat` to automatically reformat a source file.
> >>
> >> A command for rtems-tools has to support python2 and python3 and it has
> to
> >> handle errors in suitable manner. Printing uncaught exception is not
> OK. It
> >> should also be self contained and not depend on any pip python packages.
> >>
> >> If an `rtems-style` command is created and installed when rtems-tool is
> >> installed the pre-commit git script could be made to use it and so the
> style is
> >> held in a single location.
> >>
> >> Finally an rtems-style command could be extended to support python
> >> (--lang=python) or other styles for other code formats. This is inline
> with our
> >> other eco-system interfaces we provide.
> >>
> >> I hope this helps.
> >>
> >> Chris
> >>
> >> On 16/7/21 5:13 am, Ida Delphine wrote:
> >> > I will check on this
> >> >
> >> > On Thu, Jul 15, 2021 at 3:39 PM Gedare Bloom <gedare at rtems.org
> >> > <mailto:gedare at rtems.org>> wrote:
> >> >
> >> >     On Thu, Jul 15, 2021 at 5:19 AM Ida Delphine <idadelm at gmail.com
> >> >     <mailto:idadelm at gmail.com>> wrote:
> >> >     >
> >> >     > Hello everyone,
> >> >     > From the discussion on discord it looks like clang-format
> cannot be
> >> >     installed on MacOS and FreeBSD. Is there any alternative or way
> to have it
> >> >     on these operating systems?
> >> >     >
> >> >     What are the challenges with them? Can clang-format be built from
> >> >     source on those hosts?
> >> >
> >> >     > On Wed, 5 May 2021, 10:21 pm Ida Delphine, <idadelm at gmail.com
> >> >     <mailto:idadelm at gmail.com>> wrote:
> >> >     >>
> >> >     >> Hello everyone,
> >> >     >>
> >> >     >> Regarding this project (https://devel.rtems.org/ticket/3860
> >> >     <https://devel.rtems.org/ticket/3860>) I went with clang-format
> as we all
> >> >     agreed. I have tested it on some "score" files and it made some
> changes
> >> >     which I don't think are very much in line with the RTEMS coding
> style.
> >> >     However, it wasn't really clear if we will chage the RTEMS coding
> style or
> >> >     try to make changes to clang-format to fit the style.
> >> >     >> Please will love to know the best option.
> >> >     >>
> >> >     >> Cheers,
> >> >     >> Ida.
> >> >     >
> >> >     > _______________________________________________
> >> >     > devel mailing list
> >> >     > devel at rtems.org <mailto:devel at rtems.org>
> >> >     > http://lists.rtems.org/mailman/listinfo/devel
> >> >     <http://lists.rtems.org/mailman/listinfo/devel>
> >> >
> >> >
> >> > _______________________________________________
> >> > devel mailing list
> >> > devel at rtems.org
> >> > http://lists.rtems.org/mailman/listinfo/devel
> >> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210815/310f0cc7/attachment.html>


More information about the devel mailing list