Gradle Plugin Development Toolbox
The Gradle plugins in this repository help speed up as much as possible the Gradle plugin development. The goal is to have sensible defaults for the majority of all plugin development cases. The plugins are highly opinionated and hope to become less opinionated overtime. It doesn’t mean the plugins will become complicated to configure, it simply means more knobs will be provided to configure more information.
Three plugins are provided:
dev.gradleplugins.java-gradle-plugin: Everything the
dev.gradleplugins.groovy-gradle-plugin: Gradle plugin written in Groovy
dev.gradleplugins.kotlin-gradle-plugin: Gradle plugin written in Kotlin
Tell us which features would make your plugin development easier? You can also contribute anything that will accelerate your Gradle plugin development.
Some ideas on modeling that will need to take place at some point are licensing, source control manager, developers/contacts, continuous integration, continuous delivery and repository setup (e.g. generating files like LICENSE, issue templates, code of conduct, editorconfig, gitignore, CI configuration generation such as Travis CI and GitLab CI, etc.).
The other aspect to contribute is improving the TestKit fixtures. We are done rewriting the same piece of boilerplate code for testing plugins and tasks. Let’s go wild and move all the goodies in the same place.
At the moment, the project is mostly aiming toward a stable version for developing plugins with 5.6.2 and up. Because of the opinion of the plugins, all built plugins will only work for Java 8+ and 5.6.2+. Those will be changed once we reach a stable version.
There are still issues with the
dev.gradleplugins.kotlin-gradle-plugin that prevent it from being useful.
This needs to be addressed before moving forward.
The plugins for Java and Groovy are mostly stable.
There is a lot of test coverage missing in the
gradle-plugin-development project and
Finally, the basic documentation is missing.
For 1.0 to arrive, we need full documentation and some configurability for at the very least the minimum Gradle version.