u/eniac_g

Bob v0.7.0 - lightweight builder generator for Java (default values, mandatory fields, JSpecify, step builders)
▲ 27 r/java

Bob v0.7.0 - lightweight builder generator for Java (default values, mandatory fields, JSpecify, step builders)

Just shipped v0.7.0 of Bob (https://github.com/jonas-grgt/bob), a lightweight builder generator for Java.

New since v0.6.0:

  • `@Buildable.Defaults`: default values for builder fields (as inner class or top-level)
  • JSpecify support: `@Nullable`, `@NonNull`, `@NullMarked` are respected, no extra config needed
  • Fail-late validation: all errors and warnings are collected and reported together instead of failing on the first issue
  • Incompatible strategy detection: `PERMISSIVE` + `STRICT`, `ALLOW_NULLS` without `STRICT/STEP_WISE`, etc. are caught at compile time
  • Unknown mandatory field detection: typos in mandatoryFields are caught at compile time
u/eniac_g — 3 days ago