Code style#

Java#

Run the Spotless formatter before committing. CI fails the build if formatting drifts:

./mvnw spotless:apply

Rust#

Run inside native/:

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

-D warnings turns clippy warnings into build failures, matching CI.

License headers#

New source files need the Apache 2.0 license header. Apache RAT enforces this during verify./mvnw verify will fail if a tracked file is missing the header.