I have converted 30+ projects that were using heavily duplicated build scripts to now using a single binary convention plugin. My guide was pretty much
@jendrik's videos and sample projects. Fwiw, it took weeks to grok and get working. YMMV. The result can be found at
https://gitlab.com/pajato/gradle-plugins/pajato-convention-plugin which is still a work in progress. Critiques would be most welcome but that is not the point of this post.
One of the included plugins in the master convention plugin is Kover. One configures coverage report filters in the "koverReport" extension such that each project using the pajato-convention-plugin could have a different set of included and excluded classes. That means I would want to put common configuration in the convention build script and specific configuration in the project build script. Only after many more hours did it occur to me that I could have a custom, different "koverReport" extension in each project. This seems to work quite nicely. Would this be considered standard, idiomatic practice? If not, what would be the way to configure multiple, independent projects to use a common set of behaviors and yet still provide individual behaviors for a specific plugin?