Clone this repo:
  1. 54a6f91 Update hashbangs to python3 by Ember Rose · 6 weeks ago androidx-compose-material3-release androidx-draganddrop-release androidx-glance-release androidx-window-release master
  2. c2ef2c6 Make hash-bangs more portable by Jelle Fresen · 6 months ago
  3. 90d40ed Make checkstyle allow long javadoc links am: 7fa0660d59 am: 836568c6b0 am: 76c0a54291 by Cole Faust · 8 months ago android-s-v2-preview-1 android12-dev android12-qpr1-release androidx-emoji2-release androidx-resourceinspection-release androidx-wear-watchface-release android-12.0.0_r16
  4. 76c0a54 Make checkstyle allow long javadoc links am: 7fa0660d59 am: 836568c6b0 by Cole Faust · 8 months ago
  5. 836568c Make checkstyle allow long javadoc links am: 7fa0660d59 by Cole Faust · 8 months ago android-s-beta-4 android-s-beta-5 androidx-wear-wear-ongoing-release androidx-wear-wear-phone-interactions-release androidx-wear-wear-remote-interactions-release android-s-beta-3

Checkstyle

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

Checkstyle

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

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.