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.