bug-standards
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU Coding Standard Enforcement


From: Vivien Kraus
Subject: Re: GNU Coding Standard Enforcement
Date: Wed, 08 Apr 2020 18:53:25 +0200
User-agent: Evolution 3.30.5-1.1

Hello,

Le mercredi 08 avril 2020 à 10:06 -0500, Joseph Harkleroad a écrit :
>     I'm interested in using the GNU Coding Standard for my team's
> project but my team desires a "linter" or format checker, like
> pycodestyle is to Python, to use for Continuous Integration.  Is
> there a "linter" or format checker dedicated, or even configurable,
> for the GNU Coding Standard?

I second this.  For now I have a collection of checks that I implement
to cover some parts of the standards (sadly, only the less meaningful
ones are easy), but it would be far better to have an official
integrated tool to do that.  These are the things I do:

The document mentions the indent program from GNU indent.  For use with
CI, I do this:
- indent the sources;
- [ -z "$(git status --porcelain)" ] to check that running indent does
not change the source code added to git, and fail if it does.

Some parts of the standards are enforced by automake.  Running "make
distcheck" will do many things for that.

Gnulib has two interesting scripts: gitlog-to-changelog, to produce the
Changelog from the git history (sadly, it does not detect functions,
only files), and git-version-gen, to produce a version from the latest
*signed* git tag (see configure.ac in GNU hello).

You can also use help2man, to produce the man pages from programs.

I once tried to detect and enforce copyright notices in source files
and program output (checking that the dates at least cover the dates of
the commits, and that the boilerplate is identical), but it is quite
hard.

Vivien




reply via email to

[Prev in Thread] Current Thread [Next in Thread]