On 12/30/18 10:22 AM, Jan Lahoda wrote:
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?
I've checked a few Apache projects how they are solving this issue, then as of we have Ant as a wrapper around the Gradle phase, I added some tweaks to download the wrapper from Gradle's git repo. So that concern has been solved.
Thanks for doing this!

Jan

On Sat, Dec 29, 2018 at 8:57 PM Laszlo Kishalmi <laszlo.kisha...@gmail.com>
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.




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.incubator.apache.org
For additional commands, e-mail: dev-h...@netbeans.incubator.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to