Community
Participate
Working Groups
We need to make public API common components that can be used to create custom remote launchers.
While working on that I found out some issues I'd like to bring up. Right now RemoteCMainTab and RemoteRunLaunchDelegate classes extend corresponding classes from CDT (CMainTab and AbstractCLaunchDelegate). After we extract RSE related abstract classes from them, RemoteCMainTab and RemoteRunLaunchDelegate will be extenders of these new classes and thus will have to duplicate the code from CMainTab and AbstractCLaunchDelegate, which is not very nice since it's much more code than we have for RSE-related functionality. So does it make any sense to rework RemoteCMainTab and RemoteRunLaunchDelegate the way described above?
Anna, if you extract common API for Launchers, then RemoteCMainTab and RemoteRunLaunchDelegate certainly should not extend thos new API classes, but rather use it, e.g. new RSEDownloadHelper().download() etc It's too late now for M6 which is our official API freeze. We'll need to be *very* careful with any new API introduced from now on, and we need to have a first API proposal ASAP.
Created attachment 129558 [details] Very first draft Here is something to start with. RSEHelper is in the same plugin, cause I'm not sure what the correct place for it should be.
Martin, current version of RSEHelper which has more methods live in org.eclipse.cdt.launch.remote now. Actually, I'm in favor of leaving it there, i.e. not extracting any API at the moment. What do you think?
Moving into CDT as per bug 267065.
I would like to refactor existing code a little. After adding DSF-GDB support we have quite a lot of classes in just one package. While it might not make sense to split it into core/ui plugins (just a couple of classes will be in core then), it certainly makes sense for me to place tabs in one package(say, org.eclipse.cdt.launch.remote.tabs) and delegates into another one(org.eclipse.cdt.launch.remote.launching). RSEHelper should probably go into org.eclipse.cdt.launch.remote.utils package. What do you think? I'll be happy to provide a patch.
(In reply to comment #6) > I would like to refactor existing code a little. After adding DSF-GDB support > we have quite a lot of classes in just one package. While it might not make > sense to split it into core/ui plugins (just a couple of classes will be in > core then), it certainly makes sense for me to place tabs in one package(say, > org.eclipse.cdt.launch.remote.tabs) and delegates into another > one(org.eclipse.cdt.launch.remote.launching). RSEHelper should probably go into > org.eclipse.cdt.launch.remote.utils package. > What do you think? I'll be happy to provide a patch. I'm not sure if you are asking Martin, or any CDT committer. As for me, I think it is a good idea.
(In reply to comment #7) > I'm not sure if you are asking Martin, or any CDT committer. Any CDT committer since this feature is maintained in CDT, not TM. ;) > As for me, I think it is a good idea. I'll get back to you with a patch.
Created attachment 174043 [details] proposed refactoring
(In reply to comment #9) > Created an attachment (id=174043) > proposed refactoring I have committed this patch to HEAD. Although the patch was large, it was just moving files, so the actual new code was minimal. Thanks Anna.
*** cdt cvs genie on behalf of mkhouzam *** Bug 263178: Create packages for remote launch plugin [*] plugin.xml 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/plugin.xml?root=Tools_Project&r1=1.2&r2=1.3 [*] RSEHelper.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RSEHelper.java?root=Tools_Project&r1=1.3&r2=1.4 [-] RemoteGdbLaunchDelegate.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteGdbLaunchDelegate.java?root=Tools_Project&view=markup [-] RemoteCDSFMainTab.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteCDSFMainTab.java?root=Tools_Project&view=markup [-] RemoteDSFGDBDebuggerPage.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteDSFGDBDebuggerPage.java?root=Tools_Project&view=markup [-] RemoteGDBDebuggerPage.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteGDBDebuggerPage.java?root=Tools_Project&view=markup [-] RemoteCDebuggerTab.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteCDebuggerTab.java?root=Tools_Project&view=markup [-] RemoteLaunchConfigurationTabGroup.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteLaunchConfigurationTabGroup.java?root=Tools_Project&view=markup [-] RemoteCMainTab.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteCMainTab.java?root=Tools_Project&view=markup [-] RemoteCDSFDebuggerTab.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteCDSFDebuggerTab.java?root=Tools_Project&view=markup [-] RemoteRunLaunchDelegate.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/RemoteRunLaunchDelegate.java?root=Tools_Project&view=markup [+] RemoteGdbLaunchDelegate.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/launching/RemoteGdbLaunchDelegate.java?root=Tools_Project&revision=1.1&view=markup [+] RemoteRunLaunchDelegate.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/launching/RemoteRunLaunchDelegate.java?root=Tools_Project&revision=1.1&view=markup [+] RemoteCDSFMainTab.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java?root=Tools_Project&revision=1.1&view=markup [+] RemoteDSFGDBDebuggerPage.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteDSFGDBDebuggerPage.java?root=Tools_Project&revision=1.1&view=markup [+] RemoteGDBDebuggerPage.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteGDBDebuggerPage.java?root=Tools_Project&revision=1.1&view=markup [+] RemoteCDebuggerTab.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDebuggerTab.java?root=Tools_Project&revision=1.1&view=markup [+] RemoteLaunchConfigurationTabGroup.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteLaunchConfigurationTabGroup.java?root=Tools_Project&revision=1.1&view=markup [+] RemoteCMainTab.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCMainTab.java?root=Tools_Project&revision=1.1&view=markup [+] RemoteCDSFDebuggerTab.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFDebuggerTab.java?root=Tools_Project&revision=1.1&view=markup [*] MANIFEST.MF 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote/META-INF/MANIFEST.MF?root=Tools_Project&r1=1.3&r2=1.4