1.7 KiB
Checkstyle
Checkstyle is used by developers to validate Java code style and formatting, and can be run as part of the pre-upload hooks.
[TOC]
Running it
It can be invoked in two ways.
- To check style of entire specific files:
checkstyle.py -f FILE [FILE ...]
- To check style of the lines modified in the latest commit:
checkstyle.py
Projects used
Checkstyle
A development tool to help programmers write Java code that adheres to a coding standard.
- URL: https://checkstyle.sourceforge.io/
- Version: 7.4-SNAPSHOT
- License: LGPL 2.1
- License File: LICENSE
- Source repo: https://android.googlesource.com/platform/external/checkstyle
Git-Lint
Git-lint is a tool to run lint checks on only files changed in the latest commit.
- URL: https://github.com/sk-/git-lint/
- Version: 0.0.8
- License: Apache 2.0
- License File: gitlint/LICENSE
- Local Modifications:
- Downloaded gitlint/git.py and git/utils.py files individually.
Pre-upload linting
To run checkstyle as part of the pre-upload hooks, add the following line to
your PREUPLOAD.cfg
:
checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --sha ${PREUPLOAD_COMMIT}
Note that checkstyle does not always agree with clang-format, and so it's best to only have one enabled for Java.
Disabling Clang Format for Java
In .clang-format
add the following to disable format checking and correcting
for Java:
---
Language: Java
DisableFormat: true
SortIncludes: false
---
In some versions of clang-format, DisableFormat
doesn't stop the sorting of
includes. So to fully disable clang-format from doing anything for Java files,
both options are needed.