ub-automotive-master-20231102 (11042435)
checkstyle: add junitparams to ImportOrder

Checkstyle and google-java-format currently disagree on the order of
junitparams.* imports. This change enforces alphabetical ordering of
third-party imports (such as junitparams) in accordance with:

Test: manually verified that `repo upload .` passes checkstyle with the correct import order
Change-Id: I03e1a9d75f9f675916f14bbc1b1ba35dc325a195
1 file changed
tree: e497b2f785443b62b4b2d661995bb1d1322a8f0f
  1. gitlint/
  2. .gitignore
  3. android-style.xml
  4. checkstyle.jar
  5. checkstyle.py
  6. default-copyright-check.xml
  7. default-javadoc-checks.xml
  8. default-module-checks.xml
  9. default-treewalker-checks.xml
  11. OWNERS
  12. PREUPLOAD.cfg
  13. README.md
  14. tests.py


Checkstyle is used by developers to validate Java code style and formatting, and can be run as part of the pre-upload hooks.

Running it

It can be invoked in two ways.

  1. To check style of entire specific files: checkstyle.py -f FILE [FILE ...]
  2. To check style of the lines modified in the latest commit: checkstyle.py

Projects used


A development tool to help programmers write Java code that adheres to a coding standard.


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.