1
0
forked from 0ad/0ad
0ad/build/arclint
bb 157c6af18e Make the space in 0 A.D. non-breaking throughout the codebase.
Avoid cases of filenames
Update years in terms and other legal(ish) documents
Don't update years in license headers, since change is not meaningful

Will add linter rule in seperate commit

Happy recompiling everyone!

Original Patch By: Nescio
Comment By: Gallaecio
Differential Revision: D2620
This was SVN commit r27786.
2023-07-27 20:54:46 +00:00
..
configs CodingConventions: Prefer using const on immutable values. 2021-05-17 15:50:16 +00:00
dummies Make the space in 0 A.D. non-breaking throughout the codebase. 2023-07-27 20:54:46 +00:00
pyrolint CI linting: fix issues with char being null for cppcheck. 2021-03-23 17:43:19 +00:00
LICENCE.txt Lint update: use arclint, remove JSHint, remove coala on CI. 2021-03-15 15:14:28 +00:00
README.md Lint update: use arclint, remove JSHint, remove coala on CI. 2021-03-15 15:14:28 +00:00

Linting

This folder tools for linting 0 A.D. code Linting is done via Arcanist: https://secure.phabricator.com/book/phabricator/article/arcanist_lint/

Linters

  • text is configured to detect whitespace issues.
  • json detects JSON syntax errors.
  • licence-year detects Copyright header years and compares against modification time.
  • eslint, if installed, will run on javascript files.
  • cppcheck, if installed, will run on C++ files.

Installation

This assumes you have arcanist already installed. If not, consult https://trac.wildfiregames.com/wiki/Phabricator#UsingArcanist .

The linting is done via custom PHP scripts, residing in pyrolint/. Configuration is at the root of the project, under .arclint.

Installing linters

We provide dummy replacement for external linters, so that they are not required.

eslint

Installation via npm is recommended. The linter assumes a global installation of both eslint and the "brace-rules" plugin. npm install -g eslint@latest eslint-plugin-brace-rules

See also https://eslint.org/docs/user-guide/getting-started

cppcheck

Cppcheck is available on various package managers, including HomeBrew on macOS. An installer is available on windows. See http://cppcheck.sourceforge.net for details.