-
awesome-annotation-processing
A curated list of resources related to the Java annotation processing API (JSR 269)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
equalsverifier
EqualsVerifier can be used in Java unit tests to verify whether the contract for the equals and hashCode methods is met.
For me the most important thing to consider is that Lombok is basically a compiler hack that relies on non-public APIs to work. These API are still there up to Java 16 but it is pretty clear that the path forward is to lock down access to non-public APIs in future Java versions. It's a cat and mouse game to keep it working. There is an extensive thread about that on Lombok's github page. At some point, Lombok will stop working as it is. There are several possible outcomes, you may decide to not upgrade your Java version to keep Lombok compatibility, Lombok may become an external code generation tool instead of an annotation processor, or you may decide to remove Lombok usage. For that they provide a "delombok" tool, but don't expect it to be a single magic command, you'll end up with messy auto-generated code peppered around your codebase, and you may have a lot of work to do to bring your codebase back to good style standards.
Lombok is not Java. Unlike, say, Immutables, Auto and other annotation processors, it is not some supported add-on, but a piece of software that significantly modifies how the javac compiler works. It is essentially and technically a fork of javac, and, therefore a different language from Java.
I've played around with my own implementation a long time ago, but I found someone else has made an actively developed one that worked very nice in practice. Give it a shot: https://github.com/jqno/equalsverifier