Bug 426586 - [launch] Rename launch delegates to be more descriptive to the user
Summary: [launch] Rename launch delegates to be more descriptive to the user
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug (show other bugs)
Version: 8.3.0   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: 8.3.0   Edit
Assignee: Marc Khouzam CLA
QA Contact: Doug Schaefer CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-24 09:10 EST by Marc Khouzam CLA
Modified: 2014-02-04 10:59 EST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marc Khouzam CLA 2014-01-24 09:10:55 EST
Currently, the CDI launch delegates are named using the word "Sandard", e.g., "Standard Create Process Launcher".  It think that since DSF has been the default launcher for over 3 years now, it would be clearer to rename the launch delegates to reflect this reality.
Comment 1 Doug Schaefer CLA 2014-01-24 09:53:21 EST
Should we eliminate these from the UI altogether yet? CDI's been deprecated for a long time now.
Comment 2 Marc Khouzam CLA 2014-01-24 10:07:27 EST
(In reply to Doug Schaefer from comment #1)
> Should we eliminate these from the UI altogether yet? CDI's been deprecated
> for a long time now.

CDI sometimes gives us a workaround when there is an issue with DSF with some special targets. Also, I believes it supports older GDB versions.  Those CDI delegates are not easily seen in the UI, so removing them may not be essential.  I personally feel safer keeping them (discretely as they are now).
Comment 3 Marc-André Laperle CLA 2014-01-24 10:32:17 EST
I think it's a good idea to rename the CDI delegate so that it doesn't have "Standard" in it. It is a bit confusing at first.

Removing CDI from the UI could be a separate discussion. One approach could be to move it out of the main features to an optional feature that way most users will not have to see it anymore. I still find it useful to compare how they behave.
Comment 4 Teodor Madan CLA 2014-01-24 12:21:47 EST
+1 to move to optional features.

This most probably would mean to split in separate plugin CDI launch delegates from org.eclipse.cdt.launch and org.eclipse.cdt.launch.remote

There're some additional UI that will be less cluttered for nowadays *standard* DSF launchers.

On other note to remove the legacy CDI launcher we should mark "deprecated" public CDI interfaces so that in a 9.0 release to be able to remove it.
e.g. org.eclipse.cdt.debug.core.ICDIDebugger2
Comment 5 Nobody - feel free to take it CLA 2014-01-24 13:01:02 EST
(In reply to Teodor Madan from comment #4)
> +1 to move to optional features.
> 
> This most probably would mean to split in separate plugin CDI launch
> delegates from org.eclipse.cdt.launch and org.eclipse.cdt.launch.remote
> 
> There're some additional UI that will be less cluttered for nowadays
> *standard* DSF launchers.
> 
> On other note to remove the legacy CDI launcher we should mark "deprecated"
> public CDI interfaces so that in a 9.0 release to be able to remove it.
> e.g. org.eclipse.cdt.debug.core.ICDIDebugger2

Are you suggesting to remove the code? We have customers that use the CDI debugger with our toolchain. What are they supposed to do?
Comment 6 Marc Khouzam CLA 2014-01-26 10:37:12 EST
I pushed to gerrit a first patch which only changes the word 'standard' to 'legacy':
  https://git.eclipse.org/r/21106

So it would be, for example:
"Legacy Create Process"
"Start new application optionally under control of the legacy debugger."

Unless someone does not like that wording, I suggest we commit this patch for the 8.3 release and master.

Splitting into optional features would be done separately and not for 8.3.
Comment 7 Marc Khouzam CLA 2014-01-26 11:56:25 EST
I've pushed the same patch for 8_3 to gerrit:
  https://git.eclipse.org/r/21109
Comment 8 Teodor Madan CLA 2014-01-27 09:39:22 EST
(In reply to Mikhail Khodjaiants from comment #5)
> Are you suggesting to remove the code? We have customers that use the CDI
> debugger with our toolchain. What are they supposed to do?

Not really, at least not in near future. The first step, regardless if we would remove the API ever would be to mark API deprecated, as a sign that in few years span it might be not very well supported. 

As the process of removal, initial step might be to deploy the CDI code as a separate fragment bundle in order not to affect bundle dependencies of CDI debuggers.
Comment 9 Marc-André Laperle CLA 2014-01-27 13:05:48 EST
(In reply to Marc Khouzam from comment #6)
> So it would be, for example:
> "Legacy Create Process"
> "Start new application optionally under control of the legacy debugger."

I wonder if it would be better to call it CDI Create Process. Because some users that do need to use CDI might think they need to change to DSF because "Legacy" sounds worst. That way DSF-GDB and CDI would be on equal ground except that DSF-GDB is the default selected one (in open source at least). But it's really up to people using CDI in their product, as long as it's not called "Standard" anymore then I'm happy.

> Splitting into optional features would be done separately and not for 8.3.

Sounds good!
Comment 10 Marc Khouzam CLA 2014-01-27 13:47:27 EST
(In reply to Marc-Andre Laperle from comment #9)
> (In reply to Marc Khouzam from comment #6)
> > So it would be, for example:
> > "Legacy Create Process"
> > "Start new application optionally under control of the legacy debugger."
> 
> I wonder if it would be better to call it CDI Create Process. Because some
> users that do need to use CDI might think they need to change to DSF because
> "Legacy" sounds worst. That way DSF-GDB and CDI would be on equal ground
> except that DSF-GDB is the default selected one (in open source at least).
> But it's really up to people using CDI in their product, as long as it's not
> called "Standard" anymore then I'm happy.

Mikhail, what do you think?  Is it better for your users to see "CDI Create Process" or is "Legacy Create Process" ok?  I used 'Legacy' instead of 'CDI' because I wanted to guide users towards the default debugger and I thought 'Legacy' would do that, but I'm not attached to the wording.
Comment 11 Nobody - feel free to take it CLA 2014-01-27 14:02:32 EST
(In reply to Marc Khouzam from comment #10)
> Mikhail, what do you think?  Is it better for your users to see "CDI Create
> Process" or is "Legacy Create Process" ok?  I used 'Legacy' instead of 'CDI'
> because I wanted to guide users towards the default debugger and I thought
> 'Legacy' would do that, but I'm not attached to the wording.

Marc, it doesn't matter for our customers, they use their own launch configuration types. But any changes in the API would break their code. That's why I am not very enthusiastic about some of these proposals.
Comment 12 Doug Schaefer CLA 2014-01-27 14:07:12 EST
(In reply to Mikhail Khodjaiants from comment #11)
> (In reply to Marc Khouzam from comment #10)
> > Mikhail, what do you think?  Is it better for your users to see "CDI Create
> > Process" or is "Legacy Create Process" ok?  I used 'Legacy' instead of 'CDI'
> > because I wanted to guide users towards the default debugger and I thought
> > 'Legacy' would do that, but I'm not attached to the wording.
> 
> Marc, it doesn't matter for our customers, they use their own launch
> configuration types. But any changes in the API would break their code.
> That's why I am not very enthusiastic about some of these proposals.

API changes aren't allowed. Of course, you already know that ;).
Comment 13 Marc Khouzam CLA 2014-01-27 15:40:58 EST
(In reply to Mikhail Khodjaiants from comment #11)

> Marc, it doesn't matter for our customers, they use their own launch
> configuration types. But any changes in the API would break their code.
> That's why I am not very enthusiastic about some of these proposals.

No API changes.  
I'll commit the name change for 8.3 and master.

After that, I believe a refactoring will simply move some use of extensions to a new plugin but the code will stay in the same place.  To be honest, splitting up the code (even if we could change the API) would require a bigger effort than what I'm willing to put :)
I'll post something a little later that would make the 'Legacy' launches an optional feature, while leaving everything else as is.
Comment 14 Marc Khouzam CLA 2014-01-27 15:45:33 EST
(In reply to Marc Khouzam from comment #13)

> I'll commit the name change for 8.3 and master.

Done
Comment 15 Nobody - feel free to take it CLA 2014-01-27 16:51:55 EST
(In reply to Marc Khouzam from comment #13)
> After that, I believe a refactoring will simply move some use of extensions
> to a new plugin but the code will stay in the same place.  To be honest,
> splitting up the code (even if we could change the API) would require a
> bigger effort than what I'm willing to put :)

We all know that all these talks about splitting up the code are unrealistic. Let's focus on something more important.
Comment 16 Marc-André Laperle CLA 2014-01-31 10:20:22 EST
(In reply to Marc Khouzam from comment #14)
> (In reply to Marc Khouzam from comment #13)
> 
> > I'll commit the name change for 8.3 and master.
> 
> Done

Marc, can this bug be marked as RESOLVED then?
Comment 17 Marc Khouzam CLA 2014-02-03 06:20:11 EST
(In reply to Marc-Andre Laperle from comment #16)

> Marc, can this bug be marked as RESOLVED then?

There was a suggestion to refactor the code so that the CDI launch delegates be into an optional feature.  I have a patch that is almost ready but had no time to complete it yet.
Comment 18 Marc-André Laperle CLA 2014-02-04 10:40:54 EST
(In reply to Marc Khouzam from comment #17)
> (In reply to Marc-Andre Laperle from comment #16)
> 
> > Marc, can this bug be marked as RESOLVED then?
> 
> There was a suggestion to refactor the code so that the CDI launch delegates
> be into an optional feature.  I have a patch that is almost ready but had no
> time to complete it yet.

Ah, I thought this would be addressed in a separate bug. What do you think? Renaming the launch delegate and moving CDI into an optional feature are two separate things in my mind. One is done in 8.3 and one will be in Luna (8.4?).
Comment 19 Marc Khouzam CLA 2014-02-04 10:42:31 EST
(In reply to Marc-Andre Laperle from comment #18)
> (In reply to Marc Khouzam from comment #17)
> > (In reply to Marc-Andre Laperle from comment #16)
> > 
> > > Marc, can this bug be marked as RESOLVED then?
> > 
> > There was a suggestion to refactor the code so that the CDI launch delegates
> > be into an optional feature.  I have a patch that is almost ready but had no
> > time to complete it yet.
> 
> Ah, I thought this would be addressed in a separate bug. What do you think?
> Renaming the launch delegate and moving CDI into an optional feature are two
> separate things in my mind. One is done in 8.3 and one will be in Luna
> (8.4?).

You are right that it would be clearer that way.
Do you mind opening the new bug?
Comment 20 Marc-André Laperle CLA 2014-02-04 10:58:52 EST
(In reply to Marc Khouzam from comment #19)
> Do you mind opening the new bug?

Bug 427382.
Comment 21 Marc-André Laperle CLA 2014-02-04 10:59:56 EST
Fixed.