netbeans-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wade Chandler <wadechand...@apache.org>
Subject Re: Gradle
Date Thu, 26 Oct 2017 18:15:58 GMT
I think whatever keeps it working the best is the way to go for now. I also
think there are some aspects of the module center plus what is bundled with
NB builds that we should enhance; look at the way Visual Studio Code
handles such things as an example.

Now, that said, I see why some core NB tech makes sense to be in the main
repo, but I am not a big fan of an ever growing monolith repository.
However, I do believe that Gradle is an important and huge part of software
these days, and deserves support as part of the core NB functionality.

Thanks much

Wade


On Oct 24, 2017 17:52, "Attila Kelemen" <attila.kelemen85@gmail.com> wrote:

> Hi!
>
> Geertjan asked me if I could move my Gradle plugin to be part of NetBeans.
> I would gladly do that but there are some problems to overcome as I don't
> know the Ant build of NB at all. Currently the Gradle plugin is built with
> Gradle (suprise, surprise) and does the following non-trivial things:
>
> - There two subprojects: "netbeans-gradle-default-models" and
> "netbeans-gradle-plugin". The latter is relatively trivial and depends on
> "netbeans-gradle-default-models"
> - "netbeans-gradle-default-models" is trickier however: It is separated
> from the core subproject because it is built with a different version of
> Java (Java 6 currently). The reason for using a different version of Java
> is because this jar will later be loaded by Gradle and thus will force
> Gradle to be started with a version of Java able to load
> "netbeans-gradle-default-models". The version of Java used to start Gradle
> is - most commonly - the version of Java used to build the user's project.
> - "netbeans-gradle-default-models" is again split into two source sets
> (not
> counting the tests): One is built using Groovy and the other is Java only.
> The Groovy code is never accessed directly by the plugin, only from within
> the Gradle process (it needs Groovy because it would be *very* inconvenient
> to use pure Java code to read from the Gradle process). Therefore the Java
> sourceset is not permitted to access the Groovy classes (it would cause a
> compile time failure).
> - "netbeans-gradle-default-models" depends on Gradle 1.8 API. Since the
> API
> is not (fully) uploaded to any Maven repository I know of, I download the
> Gradle distribution (1.8), unzip it and use its libs as dependencies (the
> build code does this automatically without any manual process). Note that
> only the Groovy sources are allowed to access the Gradle API as I'm not
> bundling the whole Gradle distribution with the plugin.
> - I run the tests against multiple Gradle versions and I do that by running
> the tests multiple times with the "TESTED_GRADLE_DAEMON_VERSION" system
> property set appropriately.
>
> Is there anyone who knows how this code could be integrated into the NB
> code base?
>
> Also, it would be nice to integrate the plugin in a way to be able to
> release a new version of the plugin (should a change in Gradle require us
> to do so) out of sync with NB updates.
>
> If implementing all these requirements in the Ant build are not feasible,
> would it be ok if the NB build would download the NBM of this plugin from
> JCenter and bundle it that way?
>
> Thanks,
> Attila Kelemen
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message