mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 564123 delete org.eclipse.cdt.utils.Platform
The class overrode org.eclipse.core.runtime.Platform to workaround bugs in the platform that have since been fixed. As 32-bit x86 and PPC support has been removed this class is no longer needed as all the code is now unreachable anyway. Change-Id: I01bb00b9203aa02663ff25ce36c4c14f22dadee5 Signed-off-by: jantje <eclipse@baeyens.it>
This commit is contained in:
parent
51398ca2ae
commit
f5e029d19c
8 changed files with 15 additions and 119 deletions
|
@ -35,12 +35,12 @@ import org.eclipse.cdt.core.envvar.EnvironmentVariable;
|
|||
import org.eclipse.cdt.core.envvar.IEnvironmentVariable;
|
||||
import org.eclipse.cdt.core.model.ICModelMarker;
|
||||
import org.eclipse.cdt.core.resources.IConsole;
|
||||
import org.eclipse.cdt.utils.Platform;
|
||||
import org.eclipse.core.resources.IBuildConfiguration;
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.resources.IResource;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
|
|
@ -39,11 +39,11 @@ import org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider;
|
|||
import org.eclipse.cdt.managedbuilder.macros.IFileContextBuildMacroValues;
|
||||
import org.eclipse.cdt.managedbuilder.macros.IFileContextData;
|
||||
import org.eclipse.cdt.managedbuilder.macros.IOptionContextData;
|
||||
import org.eclipse.cdt.utils.Platform;
|
||||
import org.eclipse.cdt.utils.cdtvariables.CdtVariableResolver;
|
||||
import org.eclipse.cdt.utils.cdtvariables.IVariableSubstitutor;
|
||||
import org.eclipse.core.resources.IWorkspace;
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.osgi.framework.Version;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name.0
|
||||
Bundle-SymbolicName: org.eclipse.cdt.meson.core;singleton:=true
|
||||
Bundle-Version: 1.0.300.qualifier
|
||||
Bundle-Version: 1.0.400.qualifier
|
||||
Bundle-Activator: org.eclipse.cdt.meson.core.Activator
|
||||
Bundle-Vendor: %provider
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
|
|
|
@ -34,13 +34,13 @@ import org.eclipse.cdt.meson.core.Activator;
|
|||
import org.eclipse.cdt.meson.core.IMesonConstants;
|
||||
import org.eclipse.cdt.meson.core.IMesonToolChainFile;
|
||||
import org.eclipse.cdt.meson.core.IMesonToolChainManager;
|
||||
import org.eclipse.cdt.utils.Platform;
|
||||
import org.eclipse.core.resources.IBuildConfiguration;
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.resources.IResource;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
import org.osgi.service.prefs.BackingStoreException;
|
||||
|
|
|
@ -18,7 +18,7 @@ import org.eclipse.cdt.core.cdtvariables.CdtVariable;
|
|||
import org.eclipse.cdt.core.cdtvariables.ICdtVariable;
|
||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
|
||||
import org.eclipse.cdt.utils.Platform;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.resources.IWorkspace;
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
|
|
|
@ -16,6 +16,7 @@ package org.eclipse.cdt.utils;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.osgi.service.environment.Constants;
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,114 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006, 2011 IBM Corporation and others.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* IBM Corporation - Initial API and implementation (Corey Ashford)
|
||||
* Anton Leherbauer (Wind River Systems)
|
||||
* Markus Schorn (Wind River Systems)
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.cdt.utils;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
import org.eclipse.cdt.core.CCorePlugin;
|
||||
import org.osgi.framework.Bundle;
|
||||
|
||||
/**
|
||||
* @noinstantiate This class is not intended to be instantiated by clients.
|
||||
*/
|
||||
public final class Platform {
|
||||
|
||||
// This class duplicates all of the methods in org.eclipse.core.runtime.Platform
|
||||
// that are used by the CDT. getOSArch() needs a few tweaks because the value returned
|
||||
// by org.eclipse.core.runtime.Platform.getOSArch represents what the JVM thinks the
|
||||
// architecture is. In some cases, we may actually be running on a 64-bit machine,
|
||||
// but the JVM thinks it's running on a 32-bit machine. Without this change, the CDT
|
||||
// will not handle 64-bit executables on some ppc64. This method could easily be
|
||||
// extended to handle other platforms with similar issues.
|
||||
//
|
||||
// Unfortunately, the org.eclipse.core.runtime.Platform is final, so we cannot just
|
||||
// extend it and and then override the getOSArch method, so getBundle and getOS just
|
||||
// encapsulate calls to the same methods in org.eclipse.core.runtime.Platform.
|
||||
|
||||
public static final String OS_LINUX = org.eclipse.core.runtime.Platform.OS_LINUX;
|
||||
|
||||
private static String cachedArch = null;
|
||||
|
||||
public static Bundle getBundle(String symbolicName) {
|
||||
return org.eclipse.core.runtime.Platform.getBundle(symbolicName);
|
||||
}
|
||||
|
||||
public static String getOS() {
|
||||
return org.eclipse.core.runtime.Platform.getOS();
|
||||
}
|
||||
|
||||
public static String getOSArch() {
|
||||
if (cachedArch == null) {
|
||||
String arch = org.eclipse.core.runtime.Platform.getOSArch();
|
||||
if (arch.equals(org.eclipse.core.runtime.Platform.ARCH_PPC)) {
|
||||
// Determine if the platform is actually a ppc64 machine
|
||||
Process unameProcess;
|
||||
String cmd[] = { "uname", "-p" }; //$NON-NLS-1$//$NON-NLS-2$
|
||||
|
||||
try {
|
||||
unameProcess = Runtime.getRuntime().exec(cmd);
|
||||
|
||||
InputStreamReader inputStreamReader = new InputStreamReader(unameProcess.getInputStream());
|
||||
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
|
||||
String unameOutput = bufferedReader.readLine();
|
||||
if (unameOutput != null) {
|
||||
arch = unameOutput;
|
||||
}
|
||||
bufferedReader.close();
|
||||
unameProcess.waitFor(); // otherwise the process becomes a zombie
|
||||
} catch (IOException e) {
|
||||
CCorePlugin.log(e);
|
||||
} catch (InterruptedException exc) {
|
||||
// restore interrupted flag
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
} else if (arch.equals(org.eclipse.core.runtime.Platform.ARCH_X86)) {
|
||||
// Determine if the platform is actually a x86_64 machine
|
||||
Process unameProcess;
|
||||
String cmd[];
|
||||
if (org.eclipse.core.runtime.Platform.OS_WIN32.equals(getOS())) {
|
||||
cmd = new String[] { "cmd", "/d", "/c", "set", "PROCESSOR_ARCHITECTURE" }; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
|
||||
} else {
|
||||
// We don't use "uname -p" since it returns "unknown" on some Linux systems.
|
||||
cmd = new String[] { "uname", "-m" }; //$NON-NLS-1$//$NON-NLS-2$
|
||||
}
|
||||
|
||||
try {
|
||||
unameProcess = Runtime.getRuntime().exec(cmd);
|
||||
unameProcess.getOutputStream().close();
|
||||
unameProcess.getErrorStream().close();
|
||||
InputStreamReader inputStreamReader = new InputStreamReader(unameProcess.getInputStream());
|
||||
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
|
||||
String unameOutput = bufferedReader.readLine();
|
||||
if (unameOutput != null && unameOutput.endsWith("64")) { //$NON-NLS-1$
|
||||
arch = org.eclipse.core.runtime.Platform.ARCH_X86_64;
|
||||
}
|
||||
bufferedReader.close();
|
||||
unameProcess.waitFor(); // otherwise the process becomes a zombie
|
||||
} catch (IOException e) {
|
||||
CCorePlugin.log(e);
|
||||
} catch (InterruptedException exc) {
|
||||
// restore interrupted flag
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
cachedArch = arch;
|
||||
}
|
||||
return cachedArch;
|
||||
}
|
||||
}
|
|
@ -38,6 +38,7 @@
|
|||
<li><a href="#NewClassCreationWizardPage">NewClassCreationWizardPage breaking changes.</a></li>
|
||||
<li><a href="#arduino">Arduino plug-ins and features removed.</a></li>
|
||||
<li><a href="#oldparsers">Remove LRParser, XLC and UPC.</a></li>
|
||||
<li><a href="#cdtutilsPlatform">Remove org.eclipse.cdt.utils.Platform.</a></li>
|
||||
</ol>
|
||||
<p>
|
||||
Planned Removals after June 2022
|
||||
|
@ -168,6 +169,14 @@
|
|||
See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=562498" target="_blank">Bug 562498</a>.
|
||||
</p>
|
||||
|
||||
<h3>7. <a name="cdtutilsPlatform">Remove org.eclipse.cdt.utils.Platform.</a></h3>
|
||||
<p>
|
||||
Class org.eclipse.cdt.utils.Platform has been removed. Use org.eclipse.core.runtime.Platform instead.
|
||||
</p>
|
||||
<p>
|
||||
See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=564123" target="_blank">Bug 564123</a>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>Future Deletions</h2>
|
||||
|
|
Loading…
Add table
Reference in a new issue