mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-21 21:52:10 +02:00
Eliminate deprecated GDBBackend methods for CDT 11 (#112)
This commit is contained in:
parent
c1269a9990
commit
1590791e76
3 changed files with 29 additions and 71 deletions
|
@ -12,6 +12,7 @@ This section describes API removals that occurred in past releases, and upcoming
|
|||
- [org.eclipse.cdt.dsf.gdb.breakpoints.Messages is no longer API](#org.eclipse.cdt.dsf.gdb.breakpoints.Messages)
|
||||
- [Removal of deprecated CommandLauncher.execute() method](#executeCommandLauncher)
|
||||
- [Removal of deprecated CBuildConfiguration.watchProcess() methods](#watchProcessCBuildConfig)
|
||||
- [Rework of API to determine GDB command line in org.eclipse.cdt.dsf.gdb](#gdbBackendDebuggerCommandLine)
|
||||
|
||||
## API Changes in CDT 10.5.0
|
||||
|
||||
|
@ -49,7 +50,6 @@ See the [policy](../POLICY.md) for the details.
|
|||
|
||||
## Planned Removals after June 2023 or on a major version of Eclipe CDT.
|
||||
|
||||
- [Rework of API to determine GDB command line in org.eclipse.cdt.dsf.gdb](#gdbBackendDebuggerCommandLine)
|
||||
- [Add ITool parameter to ManagedCommandLineGenerator.toManagedCommandLineInfo](#ManagedCommandLineGenerator.toManagedCommandLineInfo)
|
||||
- [Removed unneded boolean from function](#GnuMakefileGenerator.addRuleForTool)
|
||||
- [Changed methods from static to non-static](#GnuMakefileGenerator.addDefaultHeader)
|
||||
|
@ -133,6 +133,23 @@ in-progress builds of core-build projects:
|
|||
Clients should instead use the methods of the same name that take a progress monitor object.
|
||||
See [Bug 580314](https://bugs.eclipse.org/bugs/show_bug.cgi?id=580314).
|
||||
|
||||
### <span id="gdbBackendDebuggerCommandLine">Rework of API to determine GDB command line in org.eclipse.cdt.dsf.gdb</span>
|
||||
|
||||
To support presentation of the GDB command line within the process
|
||||
property page, a public method getDebuggerCommandLineArray() has been
|
||||
added to the org.eclipse.cdt.dsf.gdb.service.IGDBBackend interface and
|
||||
the following redundant protected methods have been removed:
|
||||
|
||||
- org.eclipse.cdt.dsf.gdb.service.GDBBackend.getDebuggerCommandLine()
|
||||
- org.eclipse.cdt.dsf.gdb.service.GDBBackend.getGDBCommandLineArray()
|
||||
|
||||
Extenders that previously overrode the above protected methods should override
|
||||
org.eclipse.cdt.dsf.gdb.service.IGDBBackend.getDebuggerCommandLineArray()
|
||||
instead.
|
||||
|
||||
See [Bug 572944](https://bugs.eclipse.org/bugs/show_bug.cgi?id=572944)
|
||||
and https://github.com/eclipse-cdt/cdt/pull/112.
|
||||
|
||||
---
|
||||
|
||||
## API Changes in CDT 10.5.0.
|
||||
|
@ -492,22 +509,6 @@ See [Bug 563108](https://bugs.eclipse.org/bugs/show_bug.cgi?id=563108).
|
|||
|
||||
## API Removals after June 2023
|
||||
|
||||
### <span id="gdbBackendDebuggerCommandLine">Rework of API to determine GDB command line in org.eclipse.cdt.dsf.gdb</span>
|
||||
|
||||
To support presentation of the GDB command line within the process
|
||||
property page, a public method getDebuggerCommandLineArray() has been
|
||||
added to the org.eclipse.cdt.dsf.gdb.service.IGDBBackend interface and
|
||||
the following redundant protected methods will be removed:
|
||||
|
||||
- org.eclipse.cdt.dsf.gdb.service.GDBBackend.getDebuggerCommandLine()
|
||||
- org.eclipse.cdt.dsf.gdb.service.GDBBackend.getGDBCommandLineArray()
|
||||
|
||||
Extenders that override the above protected methods should override
|
||||
org.eclipse.cdt.dsf.gdb.service.IGDBBackend.getDebuggerCommandLineArray()
|
||||
instead.
|
||||
|
||||
See [Bug 572944](https://bugs.eclipse.org/bugs/show_bug.cgi?id=572944).
|
||||
|
||||
### <span id="ManagedCommandLineGenerator.toManagedCommandLineInfo">Add ITool parameter to ManagedCommandLineGenerator.toManagedCommandLineInfo</span>
|
||||
|
||||
To allow extenders to know the context of a generated command line, the
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006, 2021 Wind River Systems, Nokia and others.
|
||||
* Copyright (c) 2006, 2022 Wind River Systems, Nokia and others.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
|
@ -16,6 +16,7 @@
|
|||
* Mark Bozeman (Mentor Graphics) - Report GDB start failures (Bug 376203)
|
||||
* Iulia Vasii (Freescale Semiconductor) - Separate GDB command from its arguments (Bug 445360)
|
||||
* John Dallaway - Implement getDebuggerCommandLineArray() method (Bug 572944)
|
||||
* John Dallaway - Eliminate deprecated methods (#112)
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.dsf.gdb.service;
|
||||
|
||||
|
@ -177,12 +178,9 @@ public class GDBBackend extends AbstractDsfService implements IGDBBackend, IMIBa
|
|||
/**
|
||||
* Options for GDB process. Returns the GDB command and its arguments as an
|
||||
* array. Allow subclass to override.
|
||||
*
|
||||
* @since 4.6
|
||||
* @deprecated Override {@link #getDebuggerCommandLineArray()} instead
|
||||
*/
|
||||
@Deprecated(since = "5.2", forRemoval = true)
|
||||
protected String[] getGDBCommandLineArray() {
|
||||
@Override
|
||||
public String[] getDebuggerCommandLineArray() {
|
||||
// The goal here is to keep options to an absolute minimum.
|
||||
// All configuration should be done in the final launch sequence
|
||||
// to allow for more flexibility.
|
||||
|
@ -199,47 +197,6 @@ public class GDBBackend extends AbstractDsfService implements IGDBBackend, IMIBa
|
|||
return CommandLineUtil.argumentsToArray(cmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getDebuggerCommandLineArray() {
|
||||
// Call the deprecated method which might be overridden
|
||||
return getDebuggerCommandLine();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the GDB command and its arguments as an array.
|
||||
* Allow subclass to override.
|
||||
* @since 5.2
|
||||
* @deprecated Override {@link #getDebuggerCommandLineArray()} instead
|
||||
*/
|
||||
// This method replaces getGDBCommandLineArray() because we need
|
||||
// to override it for GDB 7.12 even if an extender has overridden
|
||||
// getGDBCommandLineArray().
|
||||
// Here is the scenario:
|
||||
// An extender has overridden getGDBCommandLineArray() to launch
|
||||
// GDB in MI mode but with extra parameters. Once GDBBackend_7_12
|
||||
// is released, the extender may likely point their extension to
|
||||
// GDBBackend_7_12 instead of GDBBackend (which will even happen
|
||||
// automatically if the extender extends GDBBackend_HEAD).
|
||||
// In such a case, they would override the changes in
|
||||
// GDBBackend_7_12.getGDBCommandLineArray() and the debug session
|
||||
// is likely to fail since with GDBBackend_7_12, we launch GDB
|
||||
// in CLI mode.
|
||||
//
|
||||
// Instead, we use getDebuggerCommandLine() and override that method in
|
||||
// GDBBackend_7_12. That way an extender will not override it
|
||||
// without noticing (since it didn't exist before). Then we can call
|
||||
// the overridden getGDBCommandLineArray() and work with that to
|
||||
// make it work with the new way to launch GDB of GDBBackend_7_12
|
||||
//
|
||||
// Note that we didn't name this method getGDBCommandLine() because
|
||||
// this name had been used in CDT 8.8 and could still be part of
|
||||
// extenders' code.
|
||||
@Deprecated(since = "6.4", forRemoval = true)
|
||||
protected String[] getDebuggerCommandLine() {
|
||||
// Call the old method in case it was overridden
|
||||
return getGDBCommandLineArray();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGDBInitFile() throws CoreException {
|
||||
return getGDBLaunch().getGDBInitFile();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2016, 2021 Ericsson and others.
|
||||
* Copyright (c) 2016, 2022 Ericsson and others.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
|
@ -7,6 +7,9 @@
|
|||
* https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* John Dallaway - Eliminate deprecated method (#112)
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.dsf.gdb.service;
|
||||
|
||||
|
@ -124,15 +127,12 @@ public class GDBBackend_7_12 extends GDBBackend {
|
|||
return fDummyErrorStream;
|
||||
}
|
||||
|
||||
/** @deprecated Override {@link #getDebuggerCommandLineArray()} instead */
|
||||
@Override
|
||||
@Deprecated(since = "6.4", forRemoval = true)
|
||||
protected String[] getDebuggerCommandLine() {
|
||||
// Start from the original command line method which
|
||||
// could have been overridden by extenders, and add what we need
|
||||
public String[] getDebuggerCommandLineArray() {
|
||||
// Start from the original command line method and add what we need
|
||||
// to convert it to a command that will launch in CLI mode.
|
||||
// Then trigger the MI console
|
||||
String[] originalCommandLine = getGDBCommandLineArray();
|
||||
String[] originalCommandLine = super.getDebuggerCommandLineArray();
|
||||
|
||||
if (!isFullGdbConsoleSupported()) {
|
||||
return originalCommandLine;
|
||||
|
|
Loading…
Add table
Reference in a new issue