A new Gradle plugin is in development.

The gradle-avro-plugin was donated to the Apache Avro more that a year ago. I 
took on the effort to integrate it into the Avro repository. It turned out to 
be very dissapointing. The donated code is very hard too maintain and very hard 
to integrate into the Avro repo. I decided to rewrite it, as it couldn't be 
that much work. The plugin already works for .avsc files, and most options like 
createOptionalGetters, stringType also work. It's about 30% done, lacking IDL 
and Protocol support for now. It's about ~700 LoC now. The donated Avro plugin 
was ~10k LoC, so that seems an improvement for maintainability. I tried to 
follow the same structure as the Maven plugin, so it's easier to maintain.

PR is here: https://github.com/frevib/avro/pull/2 . I will create a proper PR 
to the Avro repo once the plugin is a bit more stable to use.

I need some help with early testing the plugin. Please checkout 
https://github.com/frevib/avro/tree/feat/gradle-plugin and follow instructions 
in lang/java/gradle-plugin/README_TEST.md to run it.

Any questions/issues I will answer asap.

Regards,
Hielke

Reply via email to