Well, I've checked that a few years ago. While it can generally work. There is real use to do that. You can regard it as a Gradle frontend to an Ant project. You can call the NetBeans with Gradle, but all the build mechanics would be driven by Ant.

The complete transformation is not impossible though. I've got the platform modules at least compiling, some of the modules can be tested as well. The Big Bad thing needs to be fixed is the OSGI bootstrap. So if we could get that work, then it would not be that hard to do the rest of the work. Though that would require a Jaroslav Tulach caliber of knowledge...

On 12/12/20 3:08 PM, Hector Espert wrote:
I'm testing Gradle ant support 
https://docs.gradle.org/current/userguide/ant.html to load the Netbeans ant 
build system and launch it from Gradle. 
https://github.com/apache/netbeans/pull/2590

It isn't a radical change in the build system and it can allow us to improve 
the build system using the advantages of gradle without rewrite all.

Laszlo, could you have a look in this and if it can help you?


On 2020/03/16 16:42:20, Laszlo Kishalmi <laszlo.kisha...@gmail.com> wrote:
Well, I was thinking about that as well, unfortunately there are some
negative trade off-s with that I see right now. Maybe a way later down
on the road, if it ever comes that we switch to Gradle as a main build
system.

So right now Gradle reads all 812 projects which gave a 8-10 seconds
overhead at the initial build startup (on my system), I've optimized a
bunch of things (rewrote the project.xml parsing in Java) and now it
take 3-4s to read all modules and set up the dependencies between them,
it also allows parallel module builds, so the pure platform (around 120
modules) can be built in 25s.

The build is clustered in a way that it has a build<cluster>Cluster task
to build just a specific cluster. Right now I'm just dreaming of to be
able to run anything (still fighting with some classpath issues running
the Unit tests), but I can imagine to have a ./gradlew
runPlatformCluster which builds and runs a barebone Platform and
./gradlew runPhpCluster for those who cares more of Php.

On 3/16/20 8:45 AM, Jaroslav Tulach wrote:
Hello Laszlo,
when you are at it, you might make the build system more "cluster based".
It would be nice to
```
cd platform
gradle run
```
and get a running barebone NetBeans Platform. Or rather
```
cd php
gradle run
```
and get a PHP only distribution. We need to address this somehow as the
NetBeans codebase is starting to become as big as it used to be and it is
anoying to wait for compilation of all the features one doesn't really care
about.

Just my 2 Kč idea. Best regards.
-jt



so 7. 3. 2020 v 17:33 odesílatel Laszlo Kishalmi <laszlo.kisha...@gmail.com>
napsal:

I read those, however not really in context of NetBeans. NetBeans has an
Ant based build system with a bunch of custom tasks. On module level it
is very effective, on cluster level it is not so.

I'm doing this as of a personal challenge, fun and learn. If there would
be anything useful coming from it, I'll share.

On 3/7/20 8:13 AM, Eric Bresie wrote:
+1

I suspect you've probable reviewed some of these (1), (2), (3) already
but
thought it might be of  interest.

(1) https://docs.gradle.org/current/userguide/migrating_from_maven.html
(2) https://docs.gradle.org/current/userguide/maven_plugin.html
(3) https://gradle.org/maven-vs-gradle/

Eric Bresie
ebre...@gmail.com


On Sat, Feb 29, 2020 at 2:30 PM Scott Palmer <swpal...@gmail.com> wrote:

On Feb 27, 2020, at 8:22 PM, Laszlo Kishalmi <
laszlo.kisha...@gmail.com>
wrote:
Dear all,

I just would like to share the progress of my secret project: build
NetBeans with Gradle
I'm still not sure how far I would like to go with this experiment, but
if nothing else it could be a good test data for the Gradle Support.
I had the following milestones in my mind:

M0: Done: Get the project dependencies straight, without having
circular
dependencies: Right now it has 813 sub-projects in the known clusters
M1: Done: Get the modules in the Platform cluster (and the harness
cluster) compileable.
M2: TBD: Make the unit tests pass for the Platform Cluster.

M3: TBD: Make the output of the Platform cluster actually runable.

How it works:

I have a specific NetBeans Gradle Plugin which reads the
nbproject/clusters.properties and each module nbproject/project.xml
file to
get the dependency configuration. other configuration items are read
from
the nbproject.properties file. In theory we do not have to do any
changes
for an ordinary module it shall work out of the box without even having
a
build.gradle file. There are however some special cases where
build.gradle
file is required. Unfortunately there are some dependency tangles
between
the modules causing circular dependency in Gradle. In these cases I had
to
split up the modules between test and source projects.
If anyone would like to have a look:

please clone the gradle2 branch of my fork:
https://github.com/lkishalmi/netbeans
The Gradle build right now needs the help to fetch the external
dependencies: ant download-all-extbins
But after that one:

./gradlew buildPlatformCluster -x check

shall work. (It currently requires JDK 11 or up)
This is great.  Big +1.  Getting the official build transitioned to a
modern build tool is an excellent idea.

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

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




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

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




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

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




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

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




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

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



Reply via email to