Hi Laszlo,
It will be great to have Gradle support - thanks for that!
Regarding the:
groovy/gradle/netbeans-gradle-tooling/gradle/wrapper/gradle-wrapper.jar
I don't think that can be in the source distro ("compiled code not
allowed"), but it shouldn't be too problematic to download that during
build as well, right?
Thanks for doing this!
Jan
On Sat, Dec 29, 2018 at 8:57 PM Laszlo Kishalmi <[email protected]>
wrote:
> 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.
>
>
>