I know Jan that the current solution is based on the license
restrictions Apache landed on us. It's actually a very neat solution
but it's getting hard to follow up and harder to untangle. For
OpenBeans I just want to include everything out of the box so the IDE
works entirely offline, if needed, with no missing pieces. While
including nb-javac was rather trivial before 11.2 now it's become the
major roadblock.

I suspect the solution is to see how things were done in 8.2 and patch
the codebase that way. That means fix java/libs.javacimpl and see how
extras/nbjavac.impl fits in all that (perhaps by adding some friend
dependencies, not sure).

Ideally it would be great to have a patch for NetBeans proper too so a
single flag does all this but I suspect it will multiply the effort
many times. So far I have to figure out how it can be done... then see
which way to patch what.

--emi

On Mon, Nov 25, 2019 at 9:33 AM Jan Lahoda <[email protected]> wrote:
>
> Hello Emilian,
>
> While I understand your issue, the problem is that the space for solutions
> if significantly limited:
> -the ASF does not allow distribution of GPLv2+CPE libraries inside the
> Apache distribution
> -there is only a single Plugin Portal for all NetBeans 11.0, 11.1 and 11.2;
> yet, nb-javac based on JDK 13 *cannot* work in NetBeans 11.0, because the
> old javadoc APIs are stripped from it. So we cannot just upload the new
> nb-javac to the Plugin Portal, as that would (and did, actually) break
> NetBeans 11.0. And I don't think this will be a unique situation, assuming
> the records (JEP 359) is merged into JDK 14, nb-javac based on JDK 14 will
> not work with any NetBeans 11.0, 11.1 and 11.2, because of new enum
> constants added to ElementKind. Overall, as long as we share the Plugin
> Portals across versions (which makes sense, unless we want to force
> everyone to upload their plugins to a new portal every 3 months), we cannot
> have nb-javac there, as older versions of NetBeans may not be compatible
> with the new nb-javac.
>
> If you want to add a new constraint that it must be easy to do a build
> which includes nb-javac, I have nothing against that, but you may need to
> design that yourself (and preferably contribute that back).
>
> Jan
>
>
> On Mon, Nov 25, 2019 at 12:15 AM Emilian Bold <[email protected]>
> wrote:
>
> > Hello,
> >
> > Before 11.2, nb-javac was just suggested and downloaded as a plain 3rd
> > party plugin from the UC. Neat and clean.
> >
> > In 11.2 there is this rather complicated setup that's getting hard to
> > untangle.
> >
> > So, following the spirit of the JavaFX plugins we use the same '3rd
> > party' *meta* update center which is just an XML generated at build
> > time together with the hollow NBMs.
> >
> > The magic of these NBMs is that we use .external files for the real
> > GPL w/ CPE meat of things and these files have an URL pointing to
> > something like netbeans.osuosl.org .
> >
> > Now, I'm trying to just include nb-javac at build time and don't need
> > all this complicated mechanism. Is it something obvious I'm missing
> > about how to do it?
> >
> > I see that although we have java/libs.javacimpl the external JAR is
> > *not* copied to modules/ext. This seems like a 'standard' approach.
> >
> > But it seems I still need the modules in nb/updatecenters/extras such
> > as nbjavac.impl, most likely for something magic like
> > OpenIDE-Module-Provides: org.netbeans.modules.nbjavac In which case
> > nbjavac.impl probably just needs to depend on libs.javacimpl?
> >
> > I'll look some more about how this used to work in 8.2 or something.
> >
> > The current mechanism is quite something. Bundling NBMs and UCs inside
> > the updatecenters.jar just so we can grab at runtime the magic JAR via
> > the URL in the .external file? Wowee.
> >
> > --emi
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> > For further information about the NetBeans mailing lists, visit:
> > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> >
> >
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

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



Reply via email to