Code style#

To apply Java + Rust formatters in one go:

make format

CI verifies formatting, lint, and license headers on every PR via the Lint and RAT License Check workflows.

Java#

Spotless is configured in the parent pom.xml. The CI fmt-check job runs:

./mvnw spotless:check

Rust#

The CI clippy job runs (from native/):

cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings

-D warnings escalates every clippy warning to a build failure.

License headers#

Every tracked source file needs the Apache 2.0 license header. The RAT License Check workflow runs ./mvnw -N apache-rat:check on every PR (including docs-only changes). Exclusions live in dev/release/rat_exclude_files.txt.