mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-22 06:02:11 +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)
|
- [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 CommandLauncher.execute() method](#executeCommandLauncher)
|
||||||
- [Removal of deprecated CBuildConfiguration.watchProcess() methods](#watchProcessCBuildConfig)
|
- [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
|
## 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.
|
## 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)
|
- [Add ITool parameter to ManagedCommandLineGenerator.toManagedCommandLineInfo](#ManagedCommandLineGenerator.toManagedCommandLineInfo)
|
||||||
- [Removed unneded boolean from function](#GnuMakefileGenerator.addRuleForTool)
|
- [Removed unneded boolean from function](#GnuMakefileGenerator.addRuleForTool)
|
||||||
- [Changed methods from static to non-static](#GnuMakefileGenerator.addDefaultHeader)
|
- [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.
|
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).
|
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.
|
## 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
|
## 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>
|
### <span id="ManagedCommandLineGenerator.toManagedCommandLineInfo">Add ITool parameter to ManagedCommandLineGenerator.toManagedCommandLineInfo</span>
|
||||||
|
|
||||||
To allow extenders to know the context of a generated command line, the
|
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
|
* This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License 2.0
|
* 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)
|
* Mark Bozeman (Mentor Graphics) - Report GDB start failures (Bug 376203)
|
||||||
* Iulia Vasii (Freescale Semiconductor) - Separate GDB command from its arguments (Bug 445360)
|
* Iulia Vasii (Freescale Semiconductor) - Separate GDB command from its arguments (Bug 445360)
|
||||||
* John Dallaway - Implement getDebuggerCommandLineArray() method (Bug 572944)
|
* John Dallaway - Implement getDebuggerCommandLineArray() method (Bug 572944)
|
||||||
|
* John Dallaway - Eliminate deprecated methods (#112)
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.dsf.gdb.service;
|
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
|
* Options for GDB process. Returns the GDB command and its arguments as an
|
||||||
* array. Allow subclass to override.
|
* array. Allow subclass to override.
|
||||||
*
|
|
||||||
* @since 4.6
|
|
||||||
* @deprecated Override {@link #getDebuggerCommandLineArray()} instead
|
|
||||||
*/
|
*/
|
||||||
@Deprecated(since = "5.2", forRemoval = true)
|
@Override
|
||||||
protected String[] getGDBCommandLineArray() {
|
public String[] getDebuggerCommandLineArray() {
|
||||||
// The goal here is to keep options to an absolute minimum.
|
// The goal here is to keep options to an absolute minimum.
|
||||||
// All configuration should be done in the final launch sequence
|
// All configuration should be done in the final launch sequence
|
||||||
// to allow for more flexibility.
|
// to allow for more flexibility.
|
||||||
|
@ -199,47 +197,6 @@ public class GDBBackend extends AbstractDsfService implements IGDBBackend, IMIBa
|
||||||
return CommandLineUtil.argumentsToArray(cmd);
|
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
|
@Override
|
||||||
public String getGDBInitFile() throws CoreException {
|
public String getGDBInitFile() throws CoreException {
|
||||||
return getGDBLaunch().getGDBInitFile();
|
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
|
* This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License 2.0
|
* 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/
|
* https://www.eclipse.org/legal/epl-2.0/
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: EPL-2.0
|
* SPDX-License-Identifier: EPL-2.0
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* John Dallaway - Eliminate deprecated method (#112)
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.dsf.gdb.service;
|
package org.eclipse.cdt.dsf.gdb.service;
|
||||||
|
|
||||||
|
@ -124,15 +127,12 @@ public class GDBBackend_7_12 extends GDBBackend {
|
||||||
return fDummyErrorStream;
|
return fDummyErrorStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @deprecated Override {@link #getDebuggerCommandLineArray()} instead */
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated(since = "6.4", forRemoval = true)
|
public String[] getDebuggerCommandLineArray() {
|
||||||
protected String[] getDebuggerCommandLine() {
|
// Start from the original command line method and add what we need
|
||||||
// Start from the original command line method which
|
|
||||||
// could have been overridden by extenders, and add what we need
|
|
||||||
// to convert it to a command that will launch in CLI mode.
|
// to convert it to a command that will launch in CLI mode.
|
||||||
// Then trigger the MI console
|
// Then trigger the MI console
|
||||||
String[] originalCommandLine = getGDBCommandLineArray();
|
String[] originalCommandLine = super.getDebuggerCommandLineArray();
|
||||||
|
|
||||||
if (!isFullGdbConsoleSupported()) {
|
if (!isFullGdbConsoleSupported()) {
|
||||||
return originalCommandLine;
|
return originalCommandLine;
|
||||||
|
|
Loading…
Add table
Reference in a new issue