This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
It seems there is no ready replacement for the old Debugger API and debugger clients still need to use the old one. Possibly this will still be true when the next NB or S1S release is made. Therefore the Debugger API needs to be split out of openide-deprecated.jar into a new module modules/autoload/openide-debugger.jar, openide/debugger/ in CVS. Should contain all debugger-related classes: org.openide.debugger.*, various things in org.openide.actions.*, DebuggerCookie, ExecSupport (which now only adds DebuggerCookie support to ExecutionSupport), maybe also some beaninfos. Clients of openide-debugger.jar should normally require the token org.openide.debugger.Debugger. debuggerCore.jar should provide it. Old modules - pre-3.14, I guess - should depend on org.openide.debugger > 1.0 and org.openide.debugger.Debugger automatically. Ditto newer modules which depended on a previous version of org.openide.deprecated. This will make the change fully compatible. Known modules should however be updated to explicitly depend on org.openide.debugger or not. Debugger developers, does all this sound right?
Of course Debugger API documentation should be restored and built with this module, too. Note that openide-debugger.jar would not be marked deprecated for now. Therefore modules could use the old Debugger API without any deprecation warnings, if they cleaned up uses of TopManager etc.
I have some new API in projects branch, but I probably will not backport it to trunk. So, I agree with your suggestion.
OK, I will try to work on this soon. Hopefully can implement this week. QA folks - you asked for advance notice in case of reorgs of core/openide code. This would be one; however I don't think any testing tools use the Debugger API in any way, so I doubt there would be any structural impact. Probably just Martin Brehovsky need stay on the CC list.
OK thanks Jesse, it's good to be informed about major changes/reorgs, even though they should not have any impact on our tools (you're correct with usage of Debugger API - there is none from QA test tools AFAIK).
Creating branch: cvs -d $CVSROOTHACK rtag debugger_api_29914_base core_nowww_1 openide_nowww_1 nbbuild_nowww_1 apisupport_nowww_1 applet_nowww_1 debuggercore_nowww_1 debuggerjpda_nowww_1 editor_nowww_1 j2eeserver_nowww_1 java_nowww_1 projects_nowww_1 rmi_nowww_1 web_nowww_1 cvs -d $CVSROOTHACK rtag -b -r debugger_api_29914_base debugger_api_29914 core_nowww_1 openide_nowww_1 nbbuild_nowww_1 apisupport_nowww_1 applet_nowww_1 debuggercore_nowww_1 debuggerjpda_nowww_1 editor_nowww_1 j2eeserver_nowww_1 java_nowww_1 projects_nowww_1 rmi_nowww_1 web_nowww_1 Will not touch modules outside NB distro (incl. S1S); it will be their responsibility to declare the proper new dependencies if they choose to request a newer API version.
Will make debuggercore/oldapi as the module, to get it out of openide and make it more convenient for debugger developers to work on it. (Compare org.openide.src -> java/srcmodel) Re. uses of Debugger API org.openide.actions: I will leave them all in openide-deprecated.jar. The only actions still used from openide are AddWatchAction and ToggleBreakpointAction. I think these can be copied into debuggercore and omitted from openide-debugger.jar: - editor uses them in its popup menu by name; could come from system class loader, no need to really be in openide - editor gets TBA for gutter context menu; same - JavaEditor.componentActivated sets TBA.actionPerformer; this could be better done with Peter Z.'s new action context; ditto JspEditor
Adding to the set of branched modules: clazz form ant jarpackager tomcatint
stable-with-apisupport moduleconfig now seems to build OK and run as before.
All standard unit tests pass as well. QA folks (Martin Br.?), you may want to check that functional tests are running normally in the branch. Or if you tell me what to look for I can check it. Editor & web developers: I made some nontrivial code changes to these modules in the branch, mainly to avoid the need to have any debugger-related action classes be public. Debugger developers: obviously there were some changes related to the separation in debuggercore as well. Please check the diffs if you have not done so already: cvs di -r debugger_api_29914_base -r debugger_api_29914
All QA validation tests pass when the branch is merged with trunk code.
Created attachment 8688 [details] Working patch (not including S1S build script updates)
Created attachment 8689 [details] Commit log
Done in trunk.