Is there a way to package a plugin so that the consumer doesn’t have to use buildscript block?
You can put the plugin in a jar and include the jar using the init scripts. You’d still have a buildscript block, it just wouldn’t be in your projects.
I suppose there has to be different treatment of plugins which are built in and external plugins.
If you build a custom Gradle distribution, you can package the init script along with it, making your plugins available automatically.