Dear all, I would like to donate my Gradle works to Apache NetBeans.
Right now the code is here: https://github.com/lkishalmi/incubator-netbeans/tree/gradle-support
I just recently rebased it on master, so there is no conflicts. If I'd create a PR from it that would mean 317 new files and ~35k line of code.
The current state of the plugin: * It Opens Gradle Projects resource efficiently * It is based on the ideas found in our Maven Plugin * It supports JavaSE and Groovy development * Unit Testing * Code Coverage * JPA projects * Spring (the little support we have for that) * Navigator for project task * Custom Task execution * Output processing * Debugging (even single methods) * Creating new projects The shady side: * The Gradle <-> NetBeans project discovery and communication. Based on simple property serialization. Ugly Groovy code, well the deserialization Java code isn't that nice as well * Limited number of unittest * Being a sole developer there could be glitches here and there as of lack of wider testing. * Gradle is required to build the NetBeans <-> Gradle tooling This adds a binary groovy/gradle/netbeans-gradle-tooling/gradle/wrapper/gradle-wrapper.jar to the source distribution package, though this file is not distributed. So Apace might agree with that. Introduced External Dependencies: * Gradle Tooling API (Apache Licensed) o slf4j (Apache Licensed) * JaCoCo Core Library (EPL 1.0) The whole JaCoCo project uses other libraries distributed under different licenses, I need to make sure that the core is EPL 1.0 only Areas to Improve: * There is no support for Ergonomy * Module versions might be incorrectly specified, I did the best I could * Add Groovy project support (could be trivial) * Improve Gradle <-> JDK incompatibility check. * Profiling * Compile on Save (that's an icy territory) * Improve project Settings * Whatever you think... Future Works: * I also have a JavaEE support module started, I can donate somewhat later to the enterprise cluster.