etiennestuder / gradle-jooq-plugin

Gradle plugin that integrates jOOQ.
Apache License 2.0
512 stars 84 forks source link

Request for documentation - comparison with the new "official" jOOQ Gradle plugin #673

Closed lared closed 10 months ago

lared commented 10 months ago

As of version 3.19 of jOOQ, there is a new plugin for generating code from Gradle:

https://www.jooq.org/doc/3.19/manual/code-generation/codegen-gradle/

Looking at the older versions of jOOQ, they also seem to include a notice recommending their new plugin:

Historically, we used to recommend using the Gradle plugin by Etienne Studer (from Gradle Inc.). It provides a concise DSL that allows you to tune all configuration properties supported by each jOOQ version. Please direct any support questions or issues you may find directly to the third party plugin vendor.

Would it be possible to describe in README of this plugin:

Thank you!

etiennestuder commented 10 months ago

Hi @lared. I've created the gradle-jooq-plugin since I needed to be able to run the jOOQ code generator in a configurable, performant, and productive way as part of my Gradle builds. I assumed others would benefit from this plugin, too, and hence I made it open-source. That was seven years ago. Over time, more and more people started using it and so I spent lots of my spare time supporting edge cases, adding numerous examples, and adding detailed docs for more than I require myself.

It has never been my goal to cover all use cases and requests that jOOQ users might come up with. Going forward, this will not change. The gradle-jooq-plugin is a spare-time project, and I will invest as little or as much time as I deem worth it. I intend to continue to update the gradle-jooq-plugin to leverage new Gradle features where applicable. It remains most important to me that the gradle-jooq-plugin can be used in enterprise-grade builds that expect optimal usage of all Gradle performance acceleration features.

I'm not familiar in detail with the new Gradle plugin that ships with jOOQ. A quick glance at the code reveals several non-ideal things in how the plugin leverages (and does not leverage) Gradle. I would not be happy using it myself, but for users primarily interested in a plugin that always supports the latest jOOQ version without any configuration, that ships in versions that you can use in a Gradle build that runs on Java 6/8/11, that cares about commercial jOOQ users, and where the users get quick, first-class support in anything they raise, I would recommend they use the new jOOQ plugin.

I do not have the desire to do an in-depth comparison of my gradle-jooq-plugin with any other Gradle plugin for jOOQ. There are almost 20 such Gradle plugins on the Gradle Plugin Portal.