* Use openjdk instead of oracle jdk
* Don't force Java 8 compatibility in the compiler
* Remove generated annotations from apache thrift classes
* Remove ErrorProne
This paves the way for Java 9 compatibility, and removes some
implementation details from consumers' compile-time classpaths. This
may break said consumers.
We have the need internally to modify generated Thrift classes. This is currently
done ad-hoc with a combination of Python and sed scripting, but we can and should
be more rigorous.
This commit introduces `TypeProcessor` as an SPI, implementations of which can be
provided on the command line. Implementations will receive a JavaPoet `TypeSpec`
for every generated class, before that type is written, and must return a `TypeSpec`.
The returned type will be what is written to disk.
The returned `TypeSpec` will typically be augmented in some way - a new interface
implementation, or additional methods, or anything else one might wish.