You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by antonio <an...@vieiro.net.INVALID> on 2022/10/04 19:38:48 UTC

Re: [External] : Re: [DISCUSS] Future of cpplite projects

Hi all,

A quick update on the status of cnd and cpplite.

1. Both cnd and cpplite want to register different stuff for the 
text/x-c++, text/x-c, text/x-h, etc. mimetypes.

1.1. I tried to create "text/x-c++-cpplite", "text/x-c-cpplite" (etc) 
mimetypes by trying to see if a FileObject belongs to a CND project or a 
cpplite project. This would be the cleanest approach to keep cnd and 
cpplite happy, but I didn't get it.

1.2. I then dropped the cpplite editor so only cnd registers mimetypes. 
This worked well, but both cnd and cpplite register breakpoints in the 
editor in different ways, for the same mimetype [1], so cpplite 
breakpoints didn't work.

2. I then checked out cnd, merged latest master, dropped cpplite and cnd 
seems to build and work perfectly.

El 16/5/22 a las 14:59, Martin Balin escribió:
> I would really like to keep CPPLite inside NetBeans. It is used for GraalVM Native Image debugging to work with GDB and adapting this feature to work CND will be overkill also with respect to size of CND.
> If needed then CPPLite project can be removed to mix with CND.
> Martin

So after all these tests I think making cpplite coexist with cnd is 
going to be impossible (any hints welcome, of course).

cpplite also registers a LSP server for both text/x-c and another one 
for text/x-c++, so projects that mix both C and C++ will probably 
restart the LSP server when users change focus between C and C++ files. 
That may be a problem users are reporting in the nbusers mailing list.

By the way, I'd like to know how to run a "GraalVM Native Image" 
debugging session. Since I have little spare time for NetBeans lately 
I'd appreciate instructions on how to do this.

Kind regards,
Antonio


[1]

Actions provider in CPPLITE:
https://github.com/apache/netbeans/blob/master/cpplite/cpplite.debugger/src/org/netbeans/modules/cpplite/debugger/breakpoints/CPPLiteBreakpointActionProvider.java#L43

Actions provider in CND:
https://github.com/apache/netbeans/blob/cnd/cnd/cnd.debugger.common2/src/org/netbeans/modules/cnd/debugger/common2/debugger/actions/ToggleBreakpointActionProvider.java#L62



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

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




Re: [External] : Re: [DISCUSS] Future of cpplite projects

Posted by Michael Bien <mb...@gmail.com>.
On 04.10.22 22:01, antonio wrote:
> Hi,
>
> I can't tell if this would work on a running NetBeans instance, 
> though, because cpplite.editor is loaded through the general 
> classloader under certain circumstances [1]. It seems "cpplite.editor" 
> is also required for OpenJDK debugging?

This isn't a common use case right? OpenJDK devs could uninstall CND and 
install CCPLITE?

Once both is available again, maybe there is a way to transition 
everything to CND over time until CCPLITE is no longer used for anything 
- but maybe I am too optimistic here.

during transition: we could start by packaging the same set of clusters 
as of now, but if someone wants to download and install CND, it would 
require to uninstall CCPLITE first. After a few releases we swap it and 
bundle CND by default and keep CCPLITE in the update center.


>
> We could also release cnd in a "NetBeans C++ edition", for instance, 
> possibly with a different release cadence and a smaller subset of 
> clusters.

Release managers would have to comment on that but i believe they have 
already enough work with the main release :). But my personal opinion: I 
would like to have only one NB installed if possible.

 From CI perspective it should be fine in either case. When its part of 
the full cluster config all we have to do is to add a conditional job 
with CND tests (once #4431 is integrated). If not, we split the pipeline 
and filter for PR paths (like the profiler workflow). We could even 
build different clusters based on labels - but this is something I tried 
to avoid until now to keep things simple.

best regards,

michael


>
>
> Cheers,
> Antonio
>
>
> [1]
> https://github.com/apache/netbeans/blob/master/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/project/CProjectConfigurationProviderImpl.java#L57 
>
>
> El 4/10/22 a las 21:46, Geertjan Wielenga escribió:
>> Well, maybe on installing CND, the CCPLITE modules should get
>> uninstalled and vice-versa.
>>
>> Gj
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@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-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

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




Re: [External] : Re: [DISCUSS] Future of cpplite projects

Posted by antonio <an...@vieiro.net.INVALID>.
Hi,

I can't tell if this would work on a running NetBeans instance, though, 
because cpplite.editor is loaded through the general classloader under 
certain circumstances [1]. It seems "cpplite.editor" is also required 
for OpenJDK debugging?

We could also release cnd in a "NetBeans C++ edition", for instance, 
possibly with a different release cadence and a smaller subset of clusters.

Cheers,
Antonio


[1]
https://github.com/apache/netbeans/blob/master/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/project/CProjectConfigurationProviderImpl.java#L57

El 4/10/22 a las 21:46, Geertjan Wielenga escribió:
> Well, maybe on installing CND, the CCPLITE modules should get
> uninstalled and vice-versa.
> 
> Gj

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

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




Re: [External] : Re: [DISCUSS] Future of cpplite projects

Posted by Geertjan Wielenga <ge...@googlemail.com.INVALID>.
Well, maybe on installing CND, the CCPLITE modules should get
uninstalled and vice-versa.

Gj

On Tue, Oct 4, 2022 at 9:38 PM antonio <an...@vieiro.net.invalid> wrote:
>
> Hi all,
>
> A quick update on the status of cnd and cpplite.
>
> 1. Both cnd and cpplite want to register different stuff for the
> text/x-c++, text/x-c, text/x-h, etc. mimetypes.
>
> 1.1. I tried to create "text/x-c++-cpplite", "text/x-c-cpplite" (etc)
> mimetypes by trying to see if a FileObject belongs to a CND project or a
> cpplite project. This would be the cleanest approach to keep cnd and
> cpplite happy, but I didn't get it.
>
> 1.2. I then dropped the cpplite editor so only cnd registers mimetypes.
> This worked well, but both cnd and cpplite register breakpoints in the
> editor in different ways, for the same mimetype [1], so cpplite
> breakpoints didn't work.
>
> 2. I then checked out cnd, merged latest master, dropped cpplite and cnd
> seems to build and work perfectly.
>
> El 16/5/22 a las 14:59, Martin Balin escribió:
> > I would really like to keep CPPLite inside NetBeans. It is used for GraalVM Native Image debugging to work with GDB and adapting this feature to work CND will be overkill also with respect to size of CND.
> > If needed then CPPLite project can be removed to mix with CND.
> > Martin
>
> So after all these tests I think making cpplite coexist with cnd is
> going to be impossible (any hints welcome, of course).
>
> cpplite also registers a LSP server for both text/x-c and another one
> for text/x-c++, so projects that mix both C and C++ will probably
> restart the LSP server when users change focus between C and C++ files.
> That may be a problem users are reporting in the nbusers mailing list.
>
> By the way, I'd like to know how to run a "GraalVM Native Image"
> debugging session. Since I have little spare time for NetBeans lately
> I'd appreciate instructions on how to do this.
>
> Kind regards,
> Antonio
>
>
> [1]
>
> Actions provider in CPPLITE:
> https://github.com/apache/netbeans/blob/master/cpplite/cpplite.debugger/src/org/netbeans/modules/cpplite/debugger/breakpoints/CPPLiteBreakpointActionProvider.java#L43
>
> Actions provider in CND:
> https://github.com/apache/netbeans/blob/cnd/cnd/cnd.debugger.common2/src/org/netbeans/modules/cnd/debugger/common2/debugger/actions/ToggleBreakpointActionProvider.java#L62
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@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-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

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