Re: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper
Hi Jessica, Yes, you are right, sorry about that. I will send a v2 of this patch set. Thanks, Ioana From: Zhang, Jessica Sent: Thursday, May 09, 2013 12:54 AM To: Grigoropol, IoanaX; yocto@yoctoproject.org Subject: RE: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper Hi Ioana, Isn't the logic in RSEHelper is reversed? It should be: if (sysType == null ||! sysType.isEnabled()) { iter.remove(); } Thanks, Jessica -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Wednesday, May 08, 2013 5:55 AM To: yocto@yoctoproject.org Subject: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper - BaseSettingDialog performs an extra filtering for suitable connections for a given host by checking the remote system type - this checking should be done in RSEHelper since it involves a remote action and thus removing BaseSettingDialog dependency on RSE Api - modified RSEHelper.getSuitableConnections to include the filtering for connections with associated system type disabled Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |4 .../sdk/remotetools/actions/BaseSettingDialog.java | 10 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index d1a505d..8d0612a 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RS +++ EHelper.java @@ -150,6 +150,10 @@ public class RSEHelper { if(!terminalConnections.contains(fileConnection) && !shellConnections.contains(fileConnection)){ iter.remove(); } + IRSESystemType sysType = fileConnection.getSystemType(); + if (sysType != null && sysType.isEnabled()) { + iter.remove(); + } } return (IHost[]) filConnections.toArray(new IHost[filConnections.size()]); diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index 06eeb00..962a20a 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/BaseSettingDialog.java @@ -26,7 +26,6 @@ import org.yocto.sdk.remotetools.SWTFactory; import org.yocto.sdk.remotetools.RSEHelper; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.ui.actions.SystemNewConnectionAction; import org.eclipse.swt.SWT; @@ -185,12 +184,9 @@ public class BaseSettingDialog extends Dialog { connectionCombo.removeAll(); IHost[] connections = RSEHelper.getSuitableConnections(); for (int i = 0; i < connections.length; i++) { - IRSESystemType sysType = connections[i].getSystemType(); - if (sysType != null && sysType.isEnabled()) { - connectionCombo.add(connections[i].getAliasName()); - if(connections[i].getAliasName().equals(curConn)) - index=i; - } + connectionCombo.add(connections[i].getAliasName()); + if(connections[i].getAliasName().equals(curConn)) + index=i; } if(index>=0) { -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 00/12] Refactor Remote tools plugin & create Remote Utils separate plugin
- some more refactoring for the org.yocto.sdk.remotetools - create & populate org.yocto.remote.utils Ioana Grigoropol (12): Separate remote logic from GUI login in TerminalHandler implementation Move remote system type checkings from GUI Dialogs and to RSEHelper Move logic for waiting for RSE initialization to RSEHelper Move filtering of suitable connections to RSEHelper Initial commit for separate remote utilities plugin Move RSEHelper to a separate plugin Move RemoteShellExec to separate plugin Move ShellSession to org.yocto.remote.utils separate plugin Move CommonHelper to org.yocto.remote.utils separate plugin Move TerminalHandler to org.yocto.remote.utils Remove unused TCFTerminalConnectors Remove all plugin dependencies to RSE APi from remote tools plugin plugins/org.yocto.remote.utils/.classpath |7 + plugins/org.yocto.remote.utils/.project| 28 +++ .../.settings/org.eclipse.jdt.core.prefs |7 + .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 27 +++ plugins/org.yocto.remote.utils/build.properties|4 + .../src/org/yocto/remote/utils/Activator.java | 62 +++ .../src/org/yocto/remote/utils}/CommonHelper.java | 20 ++- .../src/org/yocto/remote/utils/Messages.java | 35 .../src/org/yocto/remote/utils}/RSEHelper.java | 178 +++- .../org/yocto/remote/utils}/RemoteShellExec.java | 95 +-- .../src/org/yocto/remote/utils}/ShellSession.java | 68 +++- .../org/yocto/remote/utils}/TerminalHandler.java | 121 + .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF | 13 +- .../yocto/sdk/remotetools/actions/BaseModel.java |4 +- .../sdk/remotetools/actions/BaseSettingDialog.java | 29 +--- .../sdk/remotetools/actions/DialogHandler.java | 42 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../sdk/remotetools/actions/OprofileModel.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/SystemtapModel.java|2 +- .../actions/SystemtapSettingDialog.java|2 +- .../remotetools/views/TCFTerminalConnector.java| 49 -- .../views/TCFTerminalConnectorImpl.java| 98 --- 23 files changed, 416 insertions(+), 481 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/.classpath create mode 100644 plugins/org.yocto.remote.utils/.project create mode 100644 plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF create mode 100644 plugins/org.yocto.remote.utils/build.properties create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/CommonHelper.java (77%) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/RSEHelper.java (77%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote => org.yocto.remote.utils/src/org/yocto/remote/utils}/RemoteShellExec.java (69%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/ShellSession.java (95%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions => org.yocto.remote.utils/src/org/yocto/remote/utils}/TerminalHandler.java (55%) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH v2 1/7] Move RSEHelper to a separate plugin
- move RSEHelper to newly created separate plugin org.yocto.remote.utils - clean-up RSEHelper code by removing all unused methods - moved message strings that are relevant for this plugin to the corresponding class - modify remotetools plugin to use RSEHelper from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 + .../src/org/yocto/remote/utils/Activator.java |4 +- .../src/org/yocto/remote/utils/Messages.java | 35 ++ .../src/org/yocto/remote/utils/RSEHelper.java | 344 .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF |3 +- .../src/org/yocto/sdk/remotetools/RSEHelper.java | 419 .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/actions/BaseSettingDialog.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java|2 +- 10 files changed, 398 insertions(+), 425 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RSEHelper.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index eff0356..9616484 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -8,3 +8,13 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Import-Package: org.eclipse.rse.core, + org.eclipse.rse.core.model, + org.eclipse.rse.core.subsystems, + org.eclipse.rse.services, + org.eclipse.rse.services.files, + org.eclipse.rse.services.shells, + org.eclipse.rse.subsystems.files.core.servicesubsystem, + org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, + org.eclipse.rse.subsystems.terminals.core +Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java index 047d900..da66a3e 100644 --- a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java @@ -23,7 +23,7 @@ public class Activator extends AbstractUIPlugin { // The shared instance private static Activator plugin; - + /** * The constructor */ @@ -34,6 +34,7 @@ public class Activator extends AbstractUIPlugin { * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ + @Override public void start(BundleContext context) throws Exception { super.start(context); plugin = this; @@ -43,6 +44,7 @@ public class Activator extends AbstractUIPlugin { * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ + @Override public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java new file mode 100644 index 000..fc696d6 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java @@ -0,0 +1,35 @@ +/*** + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.osgi.util.NLS; + +public class Messages extends NLS { + + private static final String BUNDLE_NAME = "org.yocto.remote.utils.messages"; //$NON-NLS-1$ + + public static String ErrorNoSubsystem; + public static String ErrorConnectSubsystem; + + public static String InfoDownload; + public static String InfoUpload; + + public static String RemoteShellExec_1; + public static String RemoteShellExec_2; + + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/plugins/org.yocto.remote.utils/src/org/yocto
[yocto] [PATCH 01/12] Separate remote logic from GUI login in TerminalHandler implementation
- TerminalHandler is used by both Perf and Latencytop handlers for running remote commands and for holding the settings dialog - in order to separate the common functionality for running remote commands we need to separate the GUI from the utilitary funtions - create DialogHandler that extends TerminalHandler to hold the GUI settings - clean-up code in TerminalHandler: - remove references to settings dialog - modify execute method and keep only remote control code - change Perf and Latencytop's parent to DialogHandler Signed-off-by: Ioana Grigoropol --- .../sdk/remotetools/actions/DialogHandler.java | 41 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java | 93 ++-- 4 files changed, 70 insertions(+), 68 deletions(-) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java new file mode 100644 index 000..d5c3583 --- /dev/null +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java @@ -0,0 +1,41 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.sdk.remotetools.actions; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.handlers.HandlerUtil; + +abstract public class DialogHandler extends TerminalHandler { + + protected BaseSettingDialog setting; + + abstract protected String getDialogTitle(); + + protected void initialize(ExecutionEvent event) throws ExecutionException{ + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + shell = window.getShell(); + setting = new SimpleSettingDialog(shell, getDialogTitle(), getConnnectionName()); + } + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + initialize(event); + + if(setting.open() == BaseSettingDialog.OK) { + IHost currentHost = setting.getHost(); + execute(currentHost); + } + return null; + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java index ef77957..e931388 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class LatencytopHandler extends TerminalHandler { +public class LatencytopHandler extends DialogHandler { private static String initCmd="export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin; cd; sudo latencytop\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java index 949bd46..f3f9e49 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class PerfHandler extends TerminalHandler { +public class PerfHandler extends DialogHandler { private static String initCmd="cd; perf\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java index 84e38f2..9e7c169 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java @@ -11,7 +11
[yocto] [PATCH v2 2/7] Move RemoteShellExec to separate plugin
- RemoteShellExec is a wrapper over a remote executiong of a command in a shell and it belongs to org.yocto.remote.utils plugin - remove RemoteShellExec from remotetools plugin and add it to org.yocto.remote.utils - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org/yocto/remote/utils/RemoteShellExec.java| 140 ++ .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java| 149 3 files changed, 141 insertions(+), 150 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java new file mode 100644 index 000..48b4f4d --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java @@ -0,0 +1,140 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.rse.core.model.IHost; + +public class RemoteShellExec { + + public static final int +STATE_NULL = 0, +STATE_RUNNING = 1, +STATE_EXITED = 2; + + private final String command; + private final IHost host; + + private InputStream fInStream; +private OutputStream fOutStream; +private InputStream fErrStream; +private Process remoteShellProcess; + + private int exitCode = 0; + private int status = STATE_NULL; + + private final String RETURN_VALUE_TAG = "org.yocto.sdk.remotetools.RVTAG"; + private final String RETURN_VALUE_CMD = ";echo \"" + RETURN_VALUE_TAG + "$?\""; + + public RemoteShellExec(IHost host, String command) { + assert(host != null); + this.host = host; + this.command = command; + } + + public int getStatus() { + return status; + } + + public int getExitCode() { + return exitCode; + } + + private void reset() { + fInStream = null; + fOutStream = null; + fErrStream = null; + + remoteShellProcess = null; + exitCode = 0; + status = STATE_NULL; + } + + public InputStream getInputStream() { +return fInStream; +} + +public OutputStream getOutputStream() { +return fOutStream; +} + +public InputStream getErrStream() { +return fErrStream; +} + + public synchronized void start(String prelaunchCmd, String argument, IProgressMonitor monitor) throws Exception { + if(status == STATE_RUNNING) + return; + + reset(); + argument = (argument == null ? RETURN_VALUE_CMD : argument + RETURN_VALUE_CMD); + remoteShellProcess = RSEHelper.remoteShellExec(this.host, prelaunchCmd, this.command, argument, monitor); + fInStream = remoteShellProcess.getInputStream(); + fOutStream = remoteShellProcess.getOutputStream(); + fErrStream = remoteShellProcess.getErrorStream(); + status = STATE_RUNNING; + } + +public synchronized void terminate() throws Exception { +if(status != STATE_RUNNING || remoteShellProcess != null) +return; + +remoteShellProcess.destroy(); +reset(); +} + +public int waitFor(IProgressMonitor monitor) throws InterruptedException { +while(status == STATE_RUNNING) { +if(monitor != null) { + if(monitor.isCanceled()) { + throw new InterruptedException("User Cancelled"); + } +} + +try { +remoteShellProcess.waitFor(); +}catch(InterruptedException e){ +//get the return v
[yocto] [PATCH 02/12] Move remote system type checkings from GUI Dialogs and to RSEHelper
- BaseSettingDialog contains code that checks whether the system type associated with a certain IHost is not null, enable and remote - these checkings should be done in the RSEHelper for two reasons: - limit the dependecies to the RSE Api - isolate remote functionaties from GUI - created method isHostViable in RSEHelper that performs all the checks need by BaseSettingDialog - replace system type checkings in BaseSettingDialog with calls to isHostViable(IHost) Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |8 .../sdk/remotetools/actions/BaseSettingDialog.java |9 ++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index de42801..bf48464 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java @@ -43,6 +43,7 @@ import org.eclipse.rse.services.shells.IHostShell; import org.eclipse.rse.services.shells.IShellService; import org.eclipse.rse.subsystems.files.core.servicesubsystem.IFileServiceSubSystem; import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystem; +import org.eclipse.rse.core.IRSESystemType; public class RSEHelper { @@ -395,4 +396,11 @@ public class RSEHelper { } throw new CoreException(status); } + + public static boolean isHostViable(IHost host) { + IRSESystemType sysType = host.getSystemType(); + if (sysType != null && sysType.isEnabled() && !sysType.isLocal()) + return true; + return false; + } } diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index c88d0e5..5c76bf9 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java @@ -142,12 +142,9 @@ public class BaseSettingDialog extends Dialog { button.setEnabled(false); IHost currentConnectionSelected = getCurrentConnection(); if (currentConnectionSelected != null) { - IRSESystemType sysType = currentConnectionSelected.getSystemType(); - if (sysType != null && sysType.isEnabled() && !sysType.isLocal()) { - if(button!=null) { + if (RSEHelper.isHostViable(currentConnectionSelected) && button != null){ button.setEnabled(true); ret=true; - } } } return ret; @@ -156,10 +153,8 @@ public class BaseSettingDialog extends Dialog { protected void updateCurConn() { IHost currentConnectionSelected = getCurrentConnection(); if (currentConnectionSelected != null) { - IRSESystemType sysType = currentConnectionSelected.getSystemType(); - if (sysType != null && sysType.isEnabled() && !sysType.isLocal()) { + if (RSEHelper.isHostViable(currentConnectionSelected)) curConn=currentConnectionSelected.getAliasName(); - } } updateOkButton(); } -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 03/12] Move logic for waiting for RSE initialization to RSEHelper
- BaseSettingsDialog contains code that ensures that RSE plug-in is initialized before performing any remote actions - this piece of code should be placed in the RSEHelper since it does not have any relevance for the GUI class - created method in RSEHelper called waitForRSEInitCompletition with this functionality - replaced code in BaseSettingsDialog with a call to waitForRSEInitCompletition Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |9 + .../sdk/remotetools/actions/BaseSettingDialog.java |8 +--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index bf48464..d1a505d 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java @@ -403,4 +403,13 @@ public class RSEHelper { return true; return false; } + + public static void waitForRSEInitCompletition() { + if (!RSECorePlugin.isInitComplete(RSECorePlugin.INIT_MODEL)) + try { + RSECorePlugin.waitForInitCompletion(RSECorePlugin.INIT_MODEL); + } catch (InterruptedException e) { + return; + } + } } diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index 5c76bf9..06eeb00 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java @@ -27,7 +27,6 @@ import org.yocto.sdk.remotetools.RSEHelper; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.rse.core.IRSESystemType; -import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.ui.actions.SystemNewConnectionAction; import org.eclipse.swt.SWT; @@ -181,12 +180,7 @@ public class BaseSettingDialog extends Dialog { protected void updateConnectionPulldown() { int index=-1; - if (!RSECorePlugin.isInitComplete(RSECorePlugin.INIT_MODEL)) - try { - RSECorePlugin.waitForInitCompletion(RSECorePlugin.INIT_MODEL); - } catch (InterruptedException e) { - return; - } + RSEHelper.waitForRSEInitCompletition(); // already initialized connectionCombo.removeAll(); IHost[] connections = RSEHelper.getSuitableConnections(); -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH v2 3/7] Move ShellSession to org.yocto.remote.utils separate plugin
- ShellSession is used as a wrapper for a remote shell used for running commands on a remote machine with bitbake environment - move ShellSession org.yocto.remote.plugin since it is part of remote utilities - remove shell session class from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/remote/utils/ShellSession.java | 327 +++ .../org/yocto/sdk/remotetools/ShellSession.java| 341 .../sdk/remotetools/actions/SystemtapModel.java|2 +- 3 files changed, 328 insertions(+), 342 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java new file mode 100644 index 000..751933f --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java @@ -0,0 +1,327 @@ +/* + * Copyright (c) 2009 Ken Gilmer + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Ken Gilmer - initial API and implementation + * Jessica Zhang - Adopt for Yocto Tools plugin + ***/ +package org.yocto.remote.utils; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.lang.reflect.InvocationTargetException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.eclipse.jface.dialogs.MessageDialog; + +public class ShellSession { + /** +* Bash shell +*/ + public static final int SHELL_TYPE_BASH = 1; + /** +* sh shell +*/ + public static final int SHELL_TYPE_SH = 2; + private volatile boolean interrupt = false; + /** +* String used to isolate command execution +*/ + public static final String TERMINATOR = "build$"; + public static final String LT = System.getProperty("line.separator"); + private Process process; + + private OutputStream pos = null; + + private String shellPath = null; + private final String initCmd; + private final File root; + + private OutputStreamWriter out; + + public static String getFilePath(String file) throws IOException { + File f = new File(file); + + if (!f.exists() || f.isDirectory()) { + throw new IOException("Path passed is not a file: " + file); + } + + StringBuffer sb = new StringBuffer(); + + String elems[] = file.split(File.separator); + + for (int i = 0; i < elems.length - 1; ++i) { + sb.append(elems[i]); + sb.append(File.separator); + } + + return sb.toString(); + } + + public ShellSession(int shellType, File root, String initCmd, OutputStream out) throws IOException { + this.root = root; + this.initCmd = initCmd; + if (out == null) { + this.out = new OutputStreamWriter(null); + } else { + this.out = new OutputStreamWriter(out); + } + if (shellType == SHELL_TYPE_SH) { + shellPath = "/bin/sh"; + } + shellPath = "/bin/bash"; + + initializeShell(); + } + + private void initializeShell() throws IOException { + process = Runtime.getRuntime().exec(shellPath); + pos = process.getOutputStream(); + + if (root != null) { + execute("cd " + root.getAbsolutePath()); + } + + if (initCmd != null) { + execute("source " + initCmd); + } + } + + synchronized + public String execute(String command, int[] retCode) throws IOException { + String errorMessage = null; + + interrupt = false; + out.write(command); + out.write(LT); + + sendToProcessAndTerminate(command); + + if (process.getErrorStream().available() > 0) { + byte[] msg = new byte[process.getErrorStream().available
[yocto] [PATCH v2 4/7] Move CommonHelper to org.yocto.remote.utils separate plugin
- common helper is better suited to org.yocto.remote.utils since it is used for: - running commands - displaying error dialogs - remove common helper from remote tools plugin and add it to a separated plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/remote/utils/CommonHelper.java | 46 .../org/yocto/sdk/remotetools/CommonHelper.java| 44 --- .../sdk/remotetools/actions/OprofileModel.java |2 +- .../actions/SystemtapSettingDialog.java|2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- 5 files changed, 49 insertions(+), 47 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java new file mode 100644 index 000..c01e866 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java @@ -0,0 +1,46 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.swt.widgets.Display; + +public class CommonHelper { + + static public boolean isExecAvail(String exec) { + boolean ret = false; + try { + Process p = Runtime.getRuntime().exec(new String[] {"which", exec}); + p.waitFor(); + if(p.exitValue() == 0) { + ret = true; + } + } catch (Exception e) { + e.printStackTrace(); + } + return ret; + } + + public static void showErrorDialog(final String dialogTitle, final String errorMessage, final String reason) { + //needs to be run in the ui thread otherwise swt throws invalid thread access + Display.getDefault().syncExec(new Runnable() { + @Override + public void run() { + ErrorDialog.openError(null, dialogTitle, errorMessage, + new Status(IStatus.ERROR,Activator.PLUGIN_ID,reason)); + } + }); + + } + +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java deleted file mode 100644 index 72a5dfd..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java +++ /dev/null @@ -1,44 +0,0 @@ -/*** - * Copyright (c) 2010 Intel Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Intel - initial API and implementation - ***/ -package org.yocto.sdk.remotetools; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.swt.widgets.Display; - -public class CommonHelper { - - static public boolean isExecAvail(String exec) { - boolean ret=false; - try { - Process p=Runtime.getRuntime().exec(new String[] {"which",exec}); - p.waitFor(); - if(p.exitValue()==0) { - ret=true; - } - } catch (Exception e) { - e.printStackTrace(); - } - return ret; - } - - public static void showErrorDialog(final String dialogTitle, final String errorMessage, final String reason) { - //needs to be run in the ui thread otherwise swt throws invalid thread access -
[yocto] [PATCH 04/12] Move filtering of suitable connections to RSEHelper
- BaseSettingDialog performs an extra filtering for suitable connections for a given host by checking the remote system type - this checking should be done in RSEHelper since it involves a remote action and thus removing BaseSettingDialog dependency on RSE Api - modified RSEHelper.getSuitableConnections to include the filtering for connections with associated system type disabled Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |4 .../sdk/remotetools/actions/BaseSettingDialog.java | 10 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index d1a505d..569b00d 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java @@ -150,6 +150,10 @@ public class RSEHelper { if(!terminalConnections.contains(fileConnection) && !shellConnections.contains(fileConnection)){ iter.remove(); } + IRSESystemType sysType = fileConnection.getSystemType(); + if (sysType == null || !sysType.isEnabled()) { + iter.remove(); + } } return (IHost[]) filConnections.toArray(new IHost[filConnections.size()]); diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index 06eeb00..962a20a 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java @@ -26,7 +26,6 @@ import org.yocto.sdk.remotetools.SWTFactory; import org.yocto.sdk.remotetools.RSEHelper; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.ui.actions.SystemNewConnectionAction; import org.eclipse.swt.SWT; @@ -185,12 +184,9 @@ public class BaseSettingDialog extends Dialog { connectionCombo.removeAll(); IHost[] connections = RSEHelper.getSuitableConnections(); for (int i = 0; i < connections.length; i++) { - IRSESystemType sysType = connections[i].getSystemType(); - if (sysType != null && sysType.isEnabled()) { - connectionCombo.add(connections[i].getAliasName()); - if(connections[i].getAliasName().equals(curConn)) - index=i; - } + connectionCombo.add(connections[i].getAliasName()); + if(connections[i].getAliasName().equals(curConn)) + index=i; } if(index>=0) { -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 05/12] Initial commit for separate remote utilities plugin
Signed-off-by: Ioana Grigoropol --- plugins/org.yocto.remote.utils/.classpath |7 +++ plugins/org.yocto.remote.utils/.project| 28 + .../.settings/org.eclipse.jdt.core.prefs |7 +++ .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 plugins/org.yocto.remote.utils/build.properties|4 ++ .../src/org/yocto/remote/utils/Activator.java | 60 6 files changed, 116 insertions(+) create mode 100644 plugins/org.yocto.remote.utils/.classpath create mode 100644 plugins/org.yocto.remote.utils/.project create mode 100644 plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF create mode 100644 plugins/org.yocto.remote.utils/build.properties create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java diff --git a/plugins/org.yocto.remote.utils/.classpath b/plugins/org.yocto.remote.utils/.classpath new file mode 100644 index 000..098194c --- /dev/null +++ b/plugins/org.yocto.remote.utils/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.yocto.remote.utils/.project b/plugins/org.yocto.remote.utils/.project new file mode 100644 index 000..29a2a5a --- /dev/null +++ b/plugins/org.yocto.remote.utils/.project @@ -0,0 +1,28 @@ + + + org.yocto.remote.utils + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs b/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000..f42de36 --- /dev/null +++ b/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF new file mode 100644 index 000..eff0356 --- /dev/null +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Utils +Bundle-SymbolicName: org.yocto.remote.utils +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: org.yocto.remote.utils.Activator +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-1.7 diff --git a/plugins/org.yocto.remote.utils/build.properties b/plugins/org.yocto.remote.utils/build.properties new file mode 100644 index 000..34d2e4d --- /dev/null +++ b/plugins/org.yocto.remote.utils/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java new file mode 100644 index 000..047d900 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java @@ -0,0 +1,60 @@ +/*** + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.yocto.remote.utils"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** +* The constructor +*/ + public Activator() { + } + + /* +* (non-Javado
[yocto] [PATCH v2 5/7] Move TerminalHandler to org.yocto.remote.utils
- move TerminalHandler to separate plugin since it performs actions that are best suited for remote utilities - remove TerminalHandler from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF|9 +- .../org/yocto/remote/utils/TerminalHandler.java| 128 .../sdk/remotetools/actions/DialogHandler.java |1 + .../sdk/remotetools/actions/TerminalHandler.java | 128 4 files changed, 137 insertions(+), 129 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index 9616484..e7afbd0 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -11,10 +11,17 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Import-Package: org.eclipse.rse.core, org.eclipse.rse.core.model, org.eclipse.rse.core.subsystems, + org.eclipse.rse.internal.terminals.ui, + org.eclipse.rse.internal.terminals.ui.views, org.eclipse.rse.services, org.eclipse.rse.services.files, org.eclipse.rse.services.shells, + org.eclipse.rse.services.terminals, org.eclipse.rse.subsystems.files.core.servicesubsystem, org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, - org.eclipse.rse.subsystems.terminals.core + org.eclipse.rse.subsystems.terminals.core, + org.eclipse.rse.subsystems.terminals.core.elements, + org.eclipse.rse.ui, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.provisional.api Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java new file mode 100644 index 000..e28ae79 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java @@ -0,0 +1,128 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.internal.terminals.ui.TerminalServiceHelper; +import org.eclipse.rse.internal.terminals.ui.views.RSETerminalConnector; +import org.eclipse.rse.internal.terminals.ui.views.TerminalViewTab; +import org.eclipse.rse.internal.terminals.ui.views.TerminalViewer; +import org.eclipse.rse.internal.terminals.ui.views.TerminalsUI; +import org.eclipse.rse.services.terminals.ITerminalShell; +import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystem; +import org.eclipse.rse.subsystems.terminals.core.elements.TerminalElement; +import org.eclipse.rse.ui.SystemBasePlugin; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; + +abstract public class TerminalHandler extends AbstractHandler { + + + protected Shell shell; + + protected String changeTerm = "export TERM=vt100;"; + + abstract protected String getInitCmd(); + abstract protected String getConnnectionName(); + abstract protected String getDialogTitle(); + + protected ITerminalShell getTerminalShellFromTab(CTabItem item) { +ITerminalShell terminalShell = null; +ITerminalViewControl terminalViewControl = (ITerminalViewControl) item +.getData(TerminalViewTab.DATA_KEY_CONTROL); +ITerminalConnector terminalConnector = terminalViewControl +.getTerminalConnector(); +if (terminalConnector instanceof RSETerminalConnector) { +RSETerminalConnector rseTerminalConnector = (RSETerm
[yocto] [PATCH 06/12] Move RSEHelper to a separate plugin
- move RSEHelper to newly created separate plugin org.yocto.remote.utils - clean-up RSEHelper code by removing all unused methods - moved message strings that are relevant for this plugin to the corresponding class - modify remotetools plugin to use RSEHelper from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 ++ .../src/org/yocto/remote/utils/Activator.java |4 +- .../src/org/yocto/remote/utils/Messages.java | 35 + .../src/org/yocto/remote/utils}/RSEHelper.java | 163 ++-- .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF |3 +- .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/actions/BaseSettingDialog.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java|2 +- 9 files changed, 98 insertions(+), 125 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/RSEHelper.java (78%) diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index eff0356..9616484 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -8,3 +8,13 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Import-Package: org.eclipse.rse.core, + org.eclipse.rse.core.model, + org.eclipse.rse.core.subsystems, + org.eclipse.rse.services, + org.eclipse.rse.services.files, + org.eclipse.rse.services.shells, + org.eclipse.rse.subsystems.files.core.servicesubsystem, + org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, + org.eclipse.rse.subsystems.terminals.core +Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java index 047d900..da66a3e 100644 --- a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java @@ -23,7 +23,7 @@ public class Activator extends AbstractUIPlugin { // The shared instance private static Activator plugin; - + /** * The constructor */ @@ -34,6 +34,7 @@ public class Activator extends AbstractUIPlugin { * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ + @Override public void start(BundleContext context) throws Exception { super.start(context); plugin = this; @@ -43,6 +44,7 @@ public class Activator extends AbstractUIPlugin { * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ + @Override public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java new file mode 100644 index 000..fc696d6 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java @@ -0,0 +1,35 @@ +/*** + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.osgi.util.NLS; + +public class Messages extends NLS { + + private static final String BUNDLE_NAME = "org.yocto.remote.utils.messages"; //$NON-NLS-1$ + + public static String ErrorNoSubsystem; + public static String ErrorConnectSubsystem; + + public static String InfoDownload; + public static String InfoUpload; + + public static String RemoteShellExec_1; + public static String RemoteShellExec_2; + + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RSEHelper.java similari
[yocto] [PATCH v2 6/7] Remove unused TCFTerminalConnectors
- removed TCFTerminalConnector and TCFTerminalConnectorImpl since there are no usages of this classes Signed-off-by: Ioana Grigoropol --- .../remotetools/views/TCFTerminalConnector.java| 49 -- .../views/TCFTerminalConnectorImpl.java| 98 2 files changed, 147 deletions(-) delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java deleted file mode 100644 index 6239136..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java +++ /dev/null @@ -1,49 +0,0 @@ -/ - * Copyright (c) 2008, 2009 MontaVista Software, Inc. and others - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Anna Dushistova (MontaVista) - initial API and implementation - * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point - / -package org.yocto.sdk.remotetools.views; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; - -public class TCFTerminalConnector extends TCFTerminalConnectorImpl implements ITerminalConnector { - -public TCFTerminalConnector(IHost host) { - super(host); -} - -public String getId() { -return "yocto_tcf_internal_connector"; //$NON-NLS-1$ -} - -public String getInitializationErrorMessage() { -return null; -} - -public String getName() { -return "yocto_tcf_internal_connector"; -} - -public boolean isHidden() { - return true; -} - -public boolean isInitialized() { -return true; -} - - public Object getAdapter(Class adapterType) { - if (adapterType.isInstance(this)) - return this; - return Platform.getAdapterManager().getAdapter(this, adapterType); - } - -} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java deleted file mode 100644 index 105ca62..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java +++ /dev/null @@ -1,98 +0,0 @@ -/ - * Copyright (c) 2008 MontaVista Software, Inc. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Anna Dushistova (MontaVista) - initial API and implementation - * Yu-Fen Kuo (MontaVista) - [227572] RSE Terminal doesn't reset the "connected" state when the shell exits - * Anna Dushistova (MontaVista) - [228577] [rseterminal] Clean up RSE Terminal impl - / -package org.yocto.sdk.remotetools.views; - -import java.io.InputStream; -import java.io.OutputStream; - -import org.eclipse.rse.core.model.IHost; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; - -public class TCFTerminalConnectorImpl extends TerminalConnectorImpl { - -private OutputStream fOutputStream; -private InputStream fInputStream; -IHost host; -//TODOprivate RSETerminalConnectionThread fConnection; -//TODOprivate ITerminalShell shell; - -public TCFTerminalConnectorImpl(IHost host) { -super(); -this.host = host; -} -/* TODO -public void connect(ITerminalControl control) { - super.connect(control); -fConnection = new RSETerminalConnectionThread(this, control); -fConnection.start(); -} - -public void doDisconnect() { -fConnection.disconnect(); -if (getInputStream() != null) { -try { -getInputStream().close(); -} catch (Exception exception) { - RSECorePlugin.getDefault().getLogger().logError("Error while
[yocto] [PATCH 07/12] Move RemoteShellExec to separate plugin
- RemoteShellExec is a wrapper over a remote executiong of a command in a shell and it belongs to org.yocto.remote.utils plugin - remove RemoteShellExec from remotetools plugin and add it to org.yocto.remote.utils - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org/yocto/remote/utils}/RemoteShellExec.java | 95 +--- .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- 2 files changed, 44 insertions(+), 53 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote => org.yocto.remote.utils/src/org/yocto/remote/utils}/RemoteShellExec.java (69%) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java similarity index 69% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java index bfcbbfc..48b4f4d 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java @@ -8,7 +8,7 @@ * Contributors: * Intel - initial API and implementation ***/ -package org.yocto.sdk.remotetools.remote; +package org.yocto.remote.utils; import java.io.BufferedReader; import java.io.IOException; @@ -17,60 +17,53 @@ import java.io.InputStreamReader; import java.io.OutputStream; import org.eclipse.core.runtime.IProgressMonitor; -//import org.eclipse.tcf.protocol.IToken; -//import org.eclipse.tcf.services.IStreams; -//import org.eclipse.tcf.services.IProcesses; -//import org.eclipse.tcf.util.TCFTask; import org.eclipse.rse.core.model.IHost; -import org.yocto.remote.utils.RSEHelper; public class RemoteShellExec { - + public static final int STATE_NULL = 0, STATE_RUNNING = 1, STATE_EXITED = 2; - - private String command; - private IHost host; - + + private final String command; + private final IHost host; + private InputStream fInStream; private OutputStream fOutStream; private InputStream fErrStream; private Process remoteShellProcess; - - private int exit_code=0; - private int status=STATE_NULL; - - private String RETURN_VALUE_TAG = "org.yocto.sdk.remotetools.RVTAG"; - private String RETURN_VALUE_CMD = ";echo \"" + RETURN_VALUE_TAG + "$?\""; - + + private int exitCode = 0; + private int status = STATE_NULL; + + private final String RETURN_VALUE_TAG = "org.yocto.sdk.remotetools.RVTAG"; + private final String RETURN_VALUE_CMD = ";echo \"" + RETURN_VALUE_TAG + "$?\""; + public RemoteShellExec(IHost host, String command) { assert(host != null); this.host = host; - this.command=command; + this.command = command; } - - public int getStatus() - { + + public int getStatus() { return status; } - - public int getExitCode() - { - return exit_code; + + public int getExitCode() { + return exitCode; } - + private void reset() { - fInStream=null; - fOutStream=null; - fErrStream=null; - - remoteShellProcess=null; - exit_code=0; - status=STATE_NULL; + fInStream = null; + fOutStream = null; + fErrStream = null; + + remoteShellProcess = null; + exitCode = 0; + status = STATE_NULL; } - + public InputStream getInputStream() { return fInStream; } @@ -78,15 +71,15 @@ public class RemoteShellExec { public OutputStream getOutputStream() { return fOutStream; } - + public InputStream getErrStream() { return fErrStream; } - + public synchronized void start(String prelaunchCmd, String argument, IProgressMonitor monitor) throws Exception { if(status == STATE_RUNNING) return; - + reset(); argument = (argument == null ? RETURN_VALUE_CMD : argument + RETURN_VALUE_CMD); remoteShellProcess = RSEHelper.remoteShellExec(this.host, prelaunchCmd, this.command, argument, monitor); @@ -95,41 +88,39 @@ public class RemoteShellExec { fErrStream = remoteShellProcess.getErrorStream(); status = STATE_RUNNING; } - + public synchronized void terminate() throws Exception
[yocto] [PATCH v2 7/7] Remove all plugin dependencies to RSE APi from remote tools plugin
- removed all plugin dependencies to the RSE API & kept only the ones needed for GUI actions and Terminal views Signed-off-by: Ioana Grigoropol --- .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF b/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF index c34ad9e..5147c1a 100644 --- a/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF @@ -7,16 +7,10 @@ Bundle-Activator: org.yocto.sdk.remotetools.Activator Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.rse.core;bundle-version="3.0.0", - org.eclipse.rse.services;bundle-version="3.0.0", - org.eclipse.rse.subsystems.files.core;bundle-version="3.0.0", - org.eclipse.rse.ui;bundle-version="3.0.0", org.yocto.sdk.ide, - org.eclipse.tm.terminal;bundle-version="3.0.1", - org.eclipse.rse.subsystems.terminals.core;bundle-version="[1.0.0,2.0.0)", org.eclipse.rse.terminals.ui;bundle-version="1.0.100", org.eclipse.cdt;bundle-version="7.0.0", org.eclipse.linuxtools.tmf.core;bundle-version="0.4.0", - org.eclipse.rse.subsystems.shells.core, org.eclipse.ui.ide;bundle-version="3.8.0", org.eclipse.ui.console;bundle-version="3.5.100" Bundle-ActivationPolicy: lazy @@ -24,6 +18,10 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: org.eclipse.core.resources, org.eclipse.debug.internal.ui, org.eclipse.rse.shells.ui, + org.eclipse.rse.ui.actions, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.control.actions, + org.eclipse.tm.internal.terminal.provisional.api, org.eclipse.ui.forms.widgets, org.yocto.remote.utils Bundle-Vendor: %Bundle-Vendor -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 08/12] Move ShellSession to org.yocto.remote.utils separate plugin
- ShellSession is used as a wrapper for a remote shell used for running commands on a remote machine with bitbake environment - move ShellSession org.yocto.remote.plugin since it is part of remote utilities - remove shell session class from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/remote/utils}/ShellSession.java | 68 .../sdk/remotetools/actions/SystemtapModel.java|2 +- 2 files changed, 28 insertions(+), 42 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/ShellSession.java (95%) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java similarity index 95% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java index 5602798..751933f 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java @@ -9,7 +9,7 @@ * Ken Gilmer - initial API and implementation * Jessica Zhang - Adopt for Yocto Tools plugin ***/ -package org.yocto.sdk.remotetools; +package org.yocto.remote.utils; import java.io.BufferedReader; import java.io.File; @@ -37,38 +37,36 @@ public class ShellSession { /** * String used to isolate command execution */ - //public static final String TERMINATOR = "#234o987dsfkcqiuwey18837032843259d"; public static final String TERMINATOR = "build$"; public static final String LT = System.getProperty("line.separator"); - + private Process process; + + private OutputStream pos = null; + + private String shellPath = null; + private final String initCmd; + private final File root; + + private OutputStreamWriter out; + public static String getFilePath(String file) throws IOException { File f = new File(file); - + if (!f.exists() || f.isDirectory()) { throw new IOException("Path passed is not a file: " + file); } - + StringBuffer sb = new StringBuffer(); - + String elems[] = file.split(File.separator); - + for (int i = 0; i < elems.length - 1; ++i) { sb.append(elems[i]); sb.append(File.separator); } - + return sb.toString(); } - private Process process; - - private OutputStream pos = null; - - private String shellPath = null; - private final String initCmd; - private final File root; - - private OutputStreamWriter out; - public ShellSession(int shellType, File root, String initCmd, OutputStream out) throws IOException { this.root = root; @@ -82,31 +80,31 @@ public class ShellSession { shellPath = "/bin/sh"; } shellPath = "/bin/bash"; - + initializeShell(); } private void initializeShell() throws IOException { process = Runtime.getRuntime().exec(shellPath); pos = process.getOutputStream(); - + if (root != null) { execute("cd " + root.getAbsolutePath()); } - + if (initCmd != null) { execute("source " + initCmd); } } - synchronized + synchronized public String execute(String command, int[] retCode) throws IOException { String errorMessage = null; - + interrupt = false; out.write(command); out.write(LT); - + sendToProcessAndTerminate(command); if (process.getErrorStream().available() > 0) { @@ -119,7 +117,7 @@ public class ShellSession { if (!msg_str.contains("WARNING")) errorMessage = "Error while executing: " + command + LT + new String(msg); } - + BufferedReader br = new BufferedReader(new InputStreamReader(process .getInputStream())); @@ -155,11 +153,11 @@ public class ShellSession { return sb.toString(); } - synchronized + synchronized public void
[yocto] [PATCH 09/12] Move CommonHelper to org.yocto.remote.utils separate plugin
- common helper is better suited to org.yocto.remote.utils since it is used for: - running commands - displaying error dialogs - remove common helper from remote tools plugin and add it to a separated plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/remote/utils}/CommonHelper.java | 20 +++- .../sdk/remotetools/actions/OprofileModel.java |2 +- .../actions/SystemtapSettingDialog.java|2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- 4 files changed, 14 insertions(+), 12 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/CommonHelper.java (77%) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java similarity index 77% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java index 72a5dfd..c01e866 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java @@ -8,7 +8,7 @@ * Contributors: * Intel - initial API and implementation ***/ -package org.yocto.sdk.remotetools; +package org.yocto.remote.utils; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; @@ -18,27 +18,29 @@ import org.eclipse.swt.widgets.Display; public class CommonHelper { static public boolean isExecAvail(String exec) { - boolean ret=false; + boolean ret = false; try { - Process p=Runtime.getRuntime().exec(new String[] {"which",exec}); + Process p = Runtime.getRuntime().exec(new String[] {"which", exec}); p.waitFor(); - if(p.exitValue()==0) { - ret=true; + if(p.exitValue() == 0) { + ret = true; } } catch (Exception e) { e.printStackTrace(); } return ret; } - + public static void showErrorDialog(final String dialogTitle, final String errorMessage, final String reason) { - //needs to be run in the ui thread otherwise swt throws invalid thread access + //needs to be run in the ui thread otherwise swt throws invalid thread access Display.getDefault().syncExec(new Runnable() { + @Override public void run() { - ErrorDialog.openError(null, dialogTitle, errorMessage, new Status(IStatus.ERROR,Activator.PLUGIN_ID,reason)); + ErrorDialog.openError(null, dialogTitle, errorMessage, + new Status(IStatus.ERROR,Activator.PLUGIN_ID,reason)); } }); } - + } diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/OprofileModel.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/OprofileModel.java index c125df7..7fbe7c6 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/OprofileModel.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/OprofileModel.java @@ -21,9 +21,9 @@ import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.rse.core.model.IHost; import org.eclipse.ui.IWorkbenchWindow; +import org.yocto.remote.utils.CommonHelper; import org.yocto.sdk.ide.YoctoSDKPlugin; import org.yocto.sdk.ide.preferences.PreferenceConstants; -import org.yocto.sdk.remotetools.CommonHelper; import org.yocto.sdk.remotetools.LocalJob; import org.yocto.sdk.remotetools.Messages; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java index 8b4703c..c447569 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java @@ -27,8 +27,8 @@ import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.yocto.remote.utils.CommonHelper; imp
[yocto] [PATCH 10/12] Move TerminalHandler to org.yocto.remote.utils
- move TerminalHandler to separate plugin since it performs actions that are best suited for remote utilities - remove TerminalHandler from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF|9 ++- .../org/yocto/remote/utils}/TerminalHandler.java | 28 ++-- .../sdk/remotetools/actions/DialogHandler.java |1 + 3 files changed, 23 insertions(+), 15 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions => org.yocto.remote.utils/src/org/yocto/remote/utils}/TerminalHandler.java (94%) diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index 9616484..e7afbd0 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -11,10 +11,17 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Import-Package: org.eclipse.rse.core, org.eclipse.rse.core.model, org.eclipse.rse.core.subsystems, + org.eclipse.rse.internal.terminals.ui, + org.eclipse.rse.internal.terminals.ui.views, org.eclipse.rse.services, org.eclipse.rse.services.files, org.eclipse.rse.services.shells, + org.eclipse.rse.services.terminals, org.eclipse.rse.subsystems.files.core.servicesubsystem, org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, - org.eclipse.rse.subsystems.terminals.core + org.eclipse.rse.subsystems.terminals.core, + org.eclipse.rse.subsystems.terminals.core.elements, + org.eclipse.rse.ui, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.provisional.api Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java similarity index 94% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java index ae04dc9..e28ae79 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java @@ -8,7 +8,7 @@ * Contributors: * Intel - initial API and implementation ***/ -package org.yocto.sdk.remotetools.actions; +package org.yocto.remote.utils; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionException; @@ -33,20 +33,18 @@ import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.yocto.remote.utils.CommonHelper; -import org.yocto.remote.utils.RSEHelper; abstract public class TerminalHandler extends AbstractHandler { - - + + protected Shell shell; - - protected String changeTerm="export TERM=vt100;"; - + + protected String changeTerm = "export TERM=vt100;"; + abstract protected String getInitCmd(); abstract protected String getConnnectionName(); abstract protected String getDialogTitle(); - + protected ITerminalShell getTerminalShellFromTab(CTabItem item) { ITerminalShell terminalShell = null; ITerminalViewControl terminalViewControl = (ITerminalViewControl) item @@ -65,7 +63,8 @@ abstract public class TerminalHandler extends AbstractHandler { try { ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); dialog.run(true, true, new IRunnableWithProgress(){ - public void run(IProgressMonitor monitor) { + @Override + public void run(IProgressMonitor monitor) { monitor.beginTask("Connecting to remote target ...", 100); try { terminalSubSystem.connect(new NullProgressMonitor(), false); @@ -73,7 +72,7 @@ abstract public class TerminalHandler extends AbstractHandler { } catch (Exception e) { CommonHelper.showErrorDialog("Connection failure", null, e.getMessage()); monitor.done(); - + } } }); @@ -88,11
[yocto] [PATCH 11/12] Remove unused TCFTerminalConnectors
- removed TCFTerminalConnector and TCFTerminalConnectorImpl since there are no usages of this classes Signed-off-by: Ioana Grigoropol --- .../remotetools/views/TCFTerminalConnector.java| 49 -- .../views/TCFTerminalConnectorImpl.java| 98 2 files changed, 147 deletions(-) delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java deleted file mode 100644 index 6239136..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java +++ /dev/null @@ -1,49 +0,0 @@ -/ - * Copyright (c) 2008, 2009 MontaVista Software, Inc. and others - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Anna Dushistova (MontaVista) - initial API and implementation - * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point - / -package org.yocto.sdk.remotetools.views; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; - -public class TCFTerminalConnector extends TCFTerminalConnectorImpl implements ITerminalConnector { - -public TCFTerminalConnector(IHost host) { - super(host); -} - -public String getId() { -return "yocto_tcf_internal_connector"; //$NON-NLS-1$ -} - -public String getInitializationErrorMessage() { -return null; -} - -public String getName() { -return "yocto_tcf_internal_connector"; -} - -public boolean isHidden() { - return true; -} - -public boolean isInitialized() { -return true; -} - - public Object getAdapter(Class adapterType) { - if (adapterType.isInstance(this)) - return this; - return Platform.getAdapterManager().getAdapter(this, adapterType); - } - -} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java deleted file mode 100644 index 105ca62..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java +++ /dev/null @@ -1,98 +0,0 @@ -/ - * Copyright (c) 2008 MontaVista Software, Inc. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Anna Dushistova (MontaVista) - initial API and implementation - * Yu-Fen Kuo (MontaVista) - [227572] RSE Terminal doesn't reset the "connected" state when the shell exits - * Anna Dushistova (MontaVista) - [228577] [rseterminal] Clean up RSE Terminal impl - / -package org.yocto.sdk.remotetools.views; - -import java.io.InputStream; -import java.io.OutputStream; - -import org.eclipse.rse.core.model.IHost; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; - -public class TCFTerminalConnectorImpl extends TerminalConnectorImpl { - -private OutputStream fOutputStream; -private InputStream fInputStream; -IHost host; -//TODOprivate RSETerminalConnectionThread fConnection; -//TODOprivate ITerminalShell shell; - -public TCFTerminalConnectorImpl(IHost host) { -super(); -this.host = host; -} -/* TODO -public void connect(ITerminalControl control) { - super.connect(control); -fConnection = new RSETerminalConnectionThread(this, control); -fConnection.start(); -} - -public void doDisconnect() { -fConnection.disconnect(); -if (getInputStream() != null) { -try { -getInputStream().close(); -} catch (Exception exception) { - RSECorePlugin.getDefault().getLogger().logError("Error while
[yocto] [PATCH 12/12] Remove all plugin dependencies to RSE APi from remote tools plugin
- removed all plugin dependencies to the RSE API & kept only the ones needed for GUI actions and Terminal views Signed-off-by: Ioana Grigoropol --- .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF b/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF index c34ad9e..5147c1a 100644 --- a/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF @@ -7,16 +7,10 @@ Bundle-Activator: org.yocto.sdk.remotetools.Activator Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.rse.core;bundle-version="3.0.0", - org.eclipse.rse.services;bundle-version="3.0.0", - org.eclipse.rse.subsystems.files.core;bundle-version="3.0.0", - org.eclipse.rse.ui;bundle-version="3.0.0", org.yocto.sdk.ide, - org.eclipse.tm.terminal;bundle-version="3.0.1", - org.eclipse.rse.subsystems.terminals.core;bundle-version="[1.0.0,2.0.0)", org.eclipse.rse.terminals.ui;bundle-version="1.0.100", org.eclipse.cdt;bundle-version="7.0.0", org.eclipse.linuxtools.tmf.core;bundle-version="0.4.0", - org.eclipse.rse.subsystems.shells.core, org.eclipse.ui.ide;bundle-version="3.8.0", org.eclipse.ui.console;bundle-version="3.5.100" Bundle-ActivationPolicy: lazy @@ -24,6 +18,10 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: org.eclipse.core.resources, org.eclipse.debug.internal.ui, org.eclipse.rse.shells.ui, + org.eclipse.rse.ui.actions, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.control.actions, + org.eclipse.tm.internal.terminal.provisional.api, org.eclipse.ui.forms.widgets, org.yocto.remote.utils Bundle-Vendor: %Bundle-Vendor -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] [PATCH 00/12] Refactor Remote tools plugin & create Remote Utils separate plugin
Please disregard this patch set, I will send a clean batch. From: Grigoropol, IoanaX Sent: Thursday, May 09, 2013 10:46 AM To: yocto@yoctoproject.org Cc: Grigoropol, IoanaX Subject: [PATCH 00/12] Refactor Remote tools plugin & create Remote Utils separate plugin - some more refactoring for the org.yocto.sdk.remotetools - create & populate org.yocto.remote.utils Ioana Grigoropol (12): Separate remote logic from GUI login in TerminalHandler implementation Move remote system type checkings from GUI Dialogs and to RSEHelper Move logic for waiting for RSE initialization to RSEHelper Move filtering of suitable connections to RSEHelper Initial commit for separate remote utilities plugin Move RSEHelper to a separate plugin Move RemoteShellExec to separate plugin Move ShellSession to org.yocto.remote.utils separate plugin Move CommonHelper to org.yocto.remote.utils separate plugin Move TerminalHandler to org.yocto.remote.utils Remove unused TCFTerminalConnectors Remove all plugin dependencies to RSE APi from remote tools plugin plugins/org.yocto.remote.utils/.classpath |7 + plugins/org.yocto.remote.utils/.project| 28 +++ .../.settings/org.eclipse.jdt.core.prefs |7 + .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 27 +++ plugins/org.yocto.remote.utils/build.properties|4 + .../src/org/yocto/remote/utils/Activator.java | 62 +++ .../src/org/yocto/remote/utils}/CommonHelper.java | 20 ++- .../src/org/yocto/remote/utils/Messages.java | 35 .../src/org/yocto/remote/utils}/RSEHelper.java | 178 +++- .../org/yocto/remote/utils}/RemoteShellExec.java | 95 +-- .../src/org/yocto/remote/utils}/ShellSession.java | 68 +++- .../org/yocto/remote/utils}/TerminalHandler.java | 121 + .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF | 13 +- .../yocto/sdk/remotetools/actions/BaseModel.java |4 +- .../sdk/remotetools/actions/BaseSettingDialog.java | 29 +--- .../sdk/remotetools/actions/DialogHandler.java | 42 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../sdk/remotetools/actions/OprofileModel.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/SystemtapModel.java|2 +- .../actions/SystemtapSettingDialog.java|2 +- .../remotetools/views/TCFTerminalConnector.java| 49 -- .../views/TCFTerminalConnectorImpl.java| 98 --- 23 files changed, 416 insertions(+), 481 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/.classpath create mode 100644 plugins/org.yocto.remote.utils/.project create mode 100644 plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF create mode 100644 plugins/org.yocto.remote.utils/build.properties create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/CommonHelper.java (77%) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/RSEHelper.java (77%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote => org.yocto.remote.utils/src/org/yocto/remote/utils}/RemoteShellExec.java (69%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/ShellSession.java (95%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions => org.yocto.remote.utils/src/org/yocto/remote/utils}/TerminalHandler.java (55%) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 04/12] Move filtering of suitable connections to RSEHelper
- BaseSettingDialog performs an extra filtering for suitable connections for a given host by checking the remote system type - this checking should be done in RSEHelper since it involves a remote action and thus removing BaseSettingDialog dependency on RSE Api - modified RSEHelper.getSuitableConnections to include the filtering for connections with associated system type disabled Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |4 .../sdk/remotetools/actions/BaseSettingDialog.java | 10 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index d1a505d..569b00d 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java @@ -150,6 +150,10 @@ public class RSEHelper { if(!terminalConnections.contains(fileConnection) && !shellConnections.contains(fileConnection)){ iter.remove(); } + IRSESystemType sysType = fileConnection.getSystemType(); + if (sysType == null || !sysType.isEnabled()) { + iter.remove(); + } } return (IHost[]) filConnections.toArray(new IHost[filConnections.size()]); diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index 06eeb00..962a20a 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java @@ -26,7 +26,6 @@ import org.yocto.sdk.remotetools.SWTFactory; import org.yocto.sdk.remotetools.RSEHelper; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.ui.actions.SystemNewConnectionAction; import org.eclipse.swt.SWT; @@ -185,12 +184,9 @@ public class BaseSettingDialog extends Dialog { connectionCombo.removeAll(); IHost[] connections = RSEHelper.getSuitableConnections(); for (int i = 0; i < connections.length; i++) { - IRSESystemType sysType = connections[i].getSystemType(); - if (sysType != null && sysType.isEnabled()) { - connectionCombo.add(connections[i].getAliasName()); - if(connections[i].getAliasName().equals(curConn)) - index=i; - } + connectionCombo.add(connections[i].getAliasName()); + if(connections[i].getAliasName().equals(curConn)) + index=i; } if(index>=0) { -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 05/12] Initial commit for separate remote utilities plugin
Signed-off-by: Ioana Grigoropol --- plugins/org.yocto.remote.utils/.classpath |7 +++ plugins/org.yocto.remote.utils/.project| 28 + .../.settings/org.eclipse.jdt.core.prefs |7 +++ .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 plugins/org.yocto.remote.utils/build.properties|4 ++ .../src/org/yocto/remote/utils/Activator.java | 60 6 files changed, 116 insertions(+) create mode 100644 plugins/org.yocto.remote.utils/.classpath create mode 100644 plugins/org.yocto.remote.utils/.project create mode 100644 plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF create mode 100644 plugins/org.yocto.remote.utils/build.properties create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java diff --git a/plugins/org.yocto.remote.utils/.classpath b/plugins/org.yocto.remote.utils/.classpath new file mode 100644 index 000..098194c --- /dev/null +++ b/plugins/org.yocto.remote.utils/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.yocto.remote.utils/.project b/plugins/org.yocto.remote.utils/.project new file mode 100644 index 000..29a2a5a --- /dev/null +++ b/plugins/org.yocto.remote.utils/.project @@ -0,0 +1,28 @@ + + + org.yocto.remote.utils + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs b/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000..f42de36 --- /dev/null +++ b/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF new file mode 100644 index 000..eff0356 --- /dev/null +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Utils +Bundle-SymbolicName: org.yocto.remote.utils +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: org.yocto.remote.utils.Activator +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-1.7 diff --git a/plugins/org.yocto.remote.utils/build.properties b/plugins/org.yocto.remote.utils/build.properties new file mode 100644 index 000..34d2e4d --- /dev/null +++ b/plugins/org.yocto.remote.utils/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java new file mode 100644 index 000..047d900 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java @@ -0,0 +1,60 @@ +/*** + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.yocto.remote.utils"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** +* The constructor +*/ + public Activator() { + } + + /* +* (non-Javado
[yocto] [PATCH 00/12] Refactor Remote tools plugin & create Remote Utils separate plugin
- some more refactoring for the org.yocto.sdk.remotetools - create & populate org.yocto.remote.utils Ioana Grigoropol (12): Separate remote logic from GUI login in TerminalHandler implementation Move remote system type checkings from GUI Dialogs and to RSEHelper Move logic for waiting for RSE initialization to RSEHelper Move filtering of suitable connections to RSEHelper Initial commit for separate remote utilities plugin Move RSEHelper to a separate plugin Move RemoteShellExec to separate plugin Move ShellSession to org.yocto.remote.utils separate plugin Move CommonHelper to org.yocto.remote.utils separate plugin Move TerminalHandler to org.yocto.remote.utils Remove unused TCFTerminalConnectors Remove all plugin dependencies to RSE APi from remote tools plugin plugins/org.yocto.remote.utils/.classpath |7 + plugins/org.yocto.remote.utils/.project| 28 +++ .../.settings/org.eclipse.jdt.core.prefs |7 + .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 27 +++ plugins/org.yocto.remote.utils/build.properties|4 + .../src/org/yocto/remote/utils/Activator.java | 62 +++ .../src/org/yocto/remote/utils}/CommonHelper.java | 20 ++- .../src/org/yocto/remote/utils/Messages.java | 35 .../src/org/yocto/remote/utils}/RSEHelper.java | 178 +++- .../org/yocto/remote/utils}/RemoteShellExec.java | 95 +-- .../src/org/yocto/remote/utils}/ShellSession.java | 68 +++- .../org/yocto/remote/utils}/TerminalHandler.java | 121 + .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF | 13 +- .../yocto/sdk/remotetools/actions/BaseModel.java |4 +- .../sdk/remotetools/actions/BaseSettingDialog.java | 29 +--- .../sdk/remotetools/actions/DialogHandler.java | 42 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../sdk/remotetools/actions/OprofileModel.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/SystemtapModel.java|2 +- .../actions/SystemtapSettingDialog.java|2 +- .../remotetools/views/TCFTerminalConnector.java| 49 -- .../views/TCFTerminalConnectorImpl.java| 98 --- 23 files changed, 416 insertions(+), 481 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/.classpath create mode 100644 plugins/org.yocto.remote.utils/.project create mode 100644 plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF create mode 100644 plugins/org.yocto.remote.utils/build.properties create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/CommonHelper.java (77%) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/RSEHelper.java (77%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote => org.yocto.remote.utils/src/org/yocto/remote/utils}/RemoteShellExec.java (69%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/ShellSession.java (95%) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions => org.yocto.remote.utils/src/org/yocto/remote/utils}/TerminalHandler.java (55%) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 06/12] Move RSEHelper to a separate plugin
- move RSEHelper to newly created separate plugin org.yocto.remote.utils - clean-up RSEHelper code by removing all unused methods - moved message strings that are relevant for this plugin to the corresponding class - modify remotetools plugin to use RSEHelper from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 ++ .../src/org/yocto/remote/utils/Activator.java |4 +- .../src/org/yocto/remote/utils/Messages.java | 35 + .../src/org/yocto/remote/utils}/RSEHelper.java | 163 ++-- .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF |3 +- .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/actions/BaseSettingDialog.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java|2 +- 9 files changed, 98 insertions(+), 125 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/RSEHelper.java (78%) diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index eff0356..9616484 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -8,3 +8,13 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Import-Package: org.eclipse.rse.core, + org.eclipse.rse.core.model, + org.eclipse.rse.core.subsystems, + org.eclipse.rse.services, + org.eclipse.rse.services.files, + org.eclipse.rse.services.shells, + org.eclipse.rse.subsystems.files.core.servicesubsystem, + org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, + org.eclipse.rse.subsystems.terminals.core +Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java index 047d900..da66a3e 100644 --- a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java @@ -23,7 +23,7 @@ public class Activator extends AbstractUIPlugin { // The shared instance private static Activator plugin; - + /** * The constructor */ @@ -34,6 +34,7 @@ public class Activator extends AbstractUIPlugin { * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ + @Override public void start(BundleContext context) throws Exception { super.start(context); plugin = this; @@ -43,6 +44,7 @@ public class Activator extends AbstractUIPlugin { * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ + @Override public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java new file mode 100644 index 000..fc696d6 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java @@ -0,0 +1,35 @@ +/*** + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.osgi.util.NLS; + +public class Messages extends NLS { + + private static final String BUNDLE_NAME = "org.yocto.remote.utils.messages"; //$NON-NLS-1$ + + public static String ErrorNoSubsystem; + public static String ErrorConnectSubsystem; + + public static String InfoDownload; + public static String InfoUpload; + + public static String RemoteShellExec_1; + public static String RemoteShellExec_2; + + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RSEHelper.java similari
[yocto] [PATCH 07/12] Move RemoteShellExec to separate plugin
- RemoteShellExec is a wrapper over a remote executiong of a command in a shell and it belongs to org.yocto.remote.utils plugin - remove RemoteShellExec from remotetools plugin and add it to org.yocto.remote.utils - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org/yocto/remote/utils}/RemoteShellExec.java | 95 +--- .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- 2 files changed, 44 insertions(+), 53 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote => org.yocto.remote.utils/src/org/yocto/remote/utils}/RemoteShellExec.java (69%) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java similarity index 69% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java index bfcbbfc..48b4f4d 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java @@ -8,7 +8,7 @@ * Contributors: * Intel - initial API and implementation ***/ -package org.yocto.sdk.remotetools.remote; +package org.yocto.remote.utils; import java.io.BufferedReader; import java.io.IOException; @@ -17,60 +17,53 @@ import java.io.InputStreamReader; import java.io.OutputStream; import org.eclipse.core.runtime.IProgressMonitor; -//import org.eclipse.tcf.protocol.IToken; -//import org.eclipse.tcf.services.IStreams; -//import org.eclipse.tcf.services.IProcesses; -//import org.eclipse.tcf.util.TCFTask; import org.eclipse.rse.core.model.IHost; -import org.yocto.remote.utils.RSEHelper; public class RemoteShellExec { - + public static final int STATE_NULL = 0, STATE_RUNNING = 1, STATE_EXITED = 2; - - private String command; - private IHost host; - + + private final String command; + private final IHost host; + private InputStream fInStream; private OutputStream fOutStream; private InputStream fErrStream; private Process remoteShellProcess; - - private int exit_code=0; - private int status=STATE_NULL; - - private String RETURN_VALUE_TAG = "org.yocto.sdk.remotetools.RVTAG"; - private String RETURN_VALUE_CMD = ";echo \"" + RETURN_VALUE_TAG + "$?\""; - + + private int exitCode = 0; + private int status = STATE_NULL; + + private final String RETURN_VALUE_TAG = "org.yocto.sdk.remotetools.RVTAG"; + private final String RETURN_VALUE_CMD = ";echo \"" + RETURN_VALUE_TAG + "$?\""; + public RemoteShellExec(IHost host, String command) { assert(host != null); this.host = host; - this.command=command; + this.command = command; } - - public int getStatus() - { + + public int getStatus() { return status; } - - public int getExitCode() - { - return exit_code; + + public int getExitCode() { + return exitCode; } - + private void reset() { - fInStream=null; - fOutStream=null; - fErrStream=null; - - remoteShellProcess=null; - exit_code=0; - status=STATE_NULL; + fInStream = null; + fOutStream = null; + fErrStream = null; + + remoteShellProcess = null; + exitCode = 0; + status = STATE_NULL; } - + public InputStream getInputStream() { return fInStream; } @@ -78,15 +71,15 @@ public class RemoteShellExec { public OutputStream getOutputStream() { return fOutStream; } - + public InputStream getErrStream() { return fErrStream; } - + public synchronized void start(String prelaunchCmd, String argument, IProgressMonitor monitor) throws Exception { if(status == STATE_RUNNING) return; - + reset(); argument = (argument == null ? RETURN_VALUE_CMD : argument + RETURN_VALUE_CMD); remoteShellProcess = RSEHelper.remoteShellExec(this.host, prelaunchCmd, this.command, argument, monitor); @@ -95,41 +88,39 @@ public class RemoteShellExec { fErrStream = remoteShellProcess.getErrorStream(); status = STATE_RUNNING; } - + public synchronized void terminate() throws Exception
[yocto] [PATCH 02/12] Move remote system type checkings from GUI Dialogs and to RSEHelper
- BaseSettingDialog contains code that checks whether the system type associated with a certain IHost is not null, enable and remote - these checkings should be done in the RSEHelper for two reasons: - limit the dependecies to the RSE Api - isolate remote functionaties from GUI - created method isHostViable in RSEHelper that performs all the checks need by BaseSettingDialog - replace system type checkings in BaseSettingDialog with calls to isHostViable(IHost) Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |8 .../sdk/remotetools/actions/BaseSettingDialog.java |9 ++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index de42801..bf48464 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java @@ -43,6 +43,7 @@ import org.eclipse.rse.services.shells.IHostShell; import org.eclipse.rse.services.shells.IShellService; import org.eclipse.rse.subsystems.files.core.servicesubsystem.IFileServiceSubSystem; import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystem; +import org.eclipse.rse.core.IRSESystemType; public class RSEHelper { @@ -395,4 +396,11 @@ public class RSEHelper { } throw new CoreException(status); } + + public static boolean isHostViable(IHost host) { + IRSESystemType sysType = host.getSystemType(); + if (sysType != null && sysType.isEnabled() && !sysType.isLocal()) + return true; + return false; + } } diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index c88d0e5..5c76bf9 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java @@ -142,12 +142,9 @@ public class BaseSettingDialog extends Dialog { button.setEnabled(false); IHost currentConnectionSelected = getCurrentConnection(); if (currentConnectionSelected != null) { - IRSESystemType sysType = currentConnectionSelected.getSystemType(); - if (sysType != null && sysType.isEnabled() && !sysType.isLocal()) { - if(button!=null) { + if (RSEHelper.isHostViable(currentConnectionSelected) && button != null){ button.setEnabled(true); ret=true; - } } } return ret; @@ -156,10 +153,8 @@ public class BaseSettingDialog extends Dialog { protected void updateCurConn() { IHost currentConnectionSelected = getCurrentConnection(); if (currentConnectionSelected != null) { - IRSESystemType sysType = currentConnectionSelected.getSystemType(); - if (sysType != null && sysType.isEnabled() && !sysType.isLocal()) { + if (RSEHelper.isHostViable(currentConnectionSelected)) curConn=currentConnectionSelected.getAliasName(); - } } updateOkButton(); } -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 11/12] Remove unused TCFTerminalConnectors
- removed TCFTerminalConnector and TCFTerminalConnectorImpl since there are no usages of this classes Signed-off-by: Ioana Grigoropol --- .../remotetools/views/TCFTerminalConnector.java| 49 -- .../views/TCFTerminalConnectorImpl.java| 98 2 files changed, 147 deletions(-) delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java deleted file mode 100644 index 6239136..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java +++ /dev/null @@ -1,49 +0,0 @@ -/ - * Copyright (c) 2008, 2009 MontaVista Software, Inc. and others - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Anna Dushistova (MontaVista) - initial API and implementation - * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point - / -package org.yocto.sdk.remotetools.views; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; - -public class TCFTerminalConnector extends TCFTerminalConnectorImpl implements ITerminalConnector { - -public TCFTerminalConnector(IHost host) { - super(host); -} - -public String getId() { -return "yocto_tcf_internal_connector"; //$NON-NLS-1$ -} - -public String getInitializationErrorMessage() { -return null; -} - -public String getName() { -return "yocto_tcf_internal_connector"; -} - -public boolean isHidden() { - return true; -} - -public boolean isInitialized() { -return true; -} - - public Object getAdapter(Class adapterType) { - if (adapterType.isInstance(this)) - return this; - return Platform.getAdapterManager().getAdapter(this, adapterType); - } - -} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java deleted file mode 100644 index 105ca62..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java +++ /dev/null @@ -1,98 +0,0 @@ -/ - * Copyright (c) 2008 MontaVista Software, Inc. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Anna Dushistova (MontaVista) - initial API and implementation - * Yu-Fen Kuo (MontaVista) - [227572] RSE Terminal doesn't reset the "connected" state when the shell exits - * Anna Dushistova (MontaVista) - [228577] [rseterminal] Clean up RSE Terminal impl - / -package org.yocto.sdk.remotetools.views; - -import java.io.InputStream; -import java.io.OutputStream; - -import org.eclipse.rse.core.model.IHost; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; - -public class TCFTerminalConnectorImpl extends TerminalConnectorImpl { - -private OutputStream fOutputStream; -private InputStream fInputStream; -IHost host; -//TODOprivate RSETerminalConnectionThread fConnection; -//TODOprivate ITerminalShell shell; - -public TCFTerminalConnectorImpl(IHost host) { -super(); -this.host = host; -} -/* TODO -public void connect(ITerminalControl control) { - super.connect(control); -fConnection = new RSETerminalConnectionThread(this, control); -fConnection.start(); -} - -public void doDisconnect() { -fConnection.disconnect(); -if (getInputStream() != null) { -try { -getInputStream().close(); -} catch (Exception exception) { - RSECorePlugin.getDefault().getLogger().logError("Error while
[yocto] [PATCH 03/12] Move logic for waiting for RSE initialization to RSEHelper
- BaseSettingsDialog contains code that ensures that RSE plug-in is initialized before performing any remote actions - this piece of code should be placed in the RSEHelper since it does not have any relevance for the GUI class - created method in RSEHelper called waitForRSEInitCompletition with this functionality - replaced code in BaseSettingsDialog with a call to waitForRSEInitCompletition Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |9 + .../sdk/remotetools/actions/BaseSettingDialog.java |8 +--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index bf48464..d1a505d 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java @@ -403,4 +403,13 @@ public class RSEHelper { return true; return false; } + + public static void waitForRSEInitCompletition() { + if (!RSECorePlugin.isInitComplete(RSECorePlugin.INIT_MODEL)) + try { + RSECorePlugin.waitForInitCompletion(RSECorePlugin.INIT_MODEL); + } catch (InterruptedException e) { + return; + } + } } diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index 5c76bf9..06eeb00 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java @@ -27,7 +27,6 @@ import org.yocto.sdk.remotetools.RSEHelper; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.rse.core.IRSESystemType; -import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.ui.actions.SystemNewConnectionAction; import org.eclipse.swt.SWT; @@ -181,12 +180,7 @@ public class BaseSettingDialog extends Dialog { protected void updateConnectionPulldown() { int index=-1; - if (!RSECorePlugin.isInitComplete(RSECorePlugin.INIT_MODEL)) - try { - RSECorePlugin.waitForInitCompletion(RSECorePlugin.INIT_MODEL); - } catch (InterruptedException e) { - return; - } + RSEHelper.waitForRSEInitCompletition(); // already initialized connectionCombo.removeAll(); IHost[] connections = RSEHelper.getSuitableConnections(); -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 10/12] Move TerminalHandler to org.yocto.remote.utils
- move TerminalHandler to separate plugin since it performs actions that are best suited for remote utilities - remove TerminalHandler from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF|9 ++- .../org/yocto/remote/utils}/TerminalHandler.java | 28 ++-- .../sdk/remotetools/actions/DialogHandler.java |1 + 3 files changed, 23 insertions(+), 15 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions => org.yocto.remote.utils/src/org/yocto/remote/utils}/TerminalHandler.java (94%) diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index 9616484..e7afbd0 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -11,10 +11,17 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Import-Package: org.eclipse.rse.core, org.eclipse.rse.core.model, org.eclipse.rse.core.subsystems, + org.eclipse.rse.internal.terminals.ui, + org.eclipse.rse.internal.terminals.ui.views, org.eclipse.rse.services, org.eclipse.rse.services.files, org.eclipse.rse.services.shells, + org.eclipse.rse.services.terminals, org.eclipse.rse.subsystems.files.core.servicesubsystem, org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, - org.eclipse.rse.subsystems.terminals.core + org.eclipse.rse.subsystems.terminals.core, + org.eclipse.rse.subsystems.terminals.core.elements, + org.eclipse.rse.ui, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.provisional.api Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java similarity index 94% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java index ae04dc9..e28ae79 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java @@ -8,7 +8,7 @@ * Contributors: * Intel - initial API and implementation ***/ -package org.yocto.sdk.remotetools.actions; +package org.yocto.remote.utils; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionException; @@ -33,20 +33,18 @@ import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.yocto.remote.utils.CommonHelper; -import org.yocto.remote.utils.RSEHelper; abstract public class TerminalHandler extends AbstractHandler { - - + + protected Shell shell; - - protected String changeTerm="export TERM=vt100;"; - + + protected String changeTerm = "export TERM=vt100;"; + abstract protected String getInitCmd(); abstract protected String getConnnectionName(); abstract protected String getDialogTitle(); - + protected ITerminalShell getTerminalShellFromTab(CTabItem item) { ITerminalShell terminalShell = null; ITerminalViewControl terminalViewControl = (ITerminalViewControl) item @@ -65,7 +63,8 @@ abstract public class TerminalHandler extends AbstractHandler { try { ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); dialog.run(true, true, new IRunnableWithProgress(){ - public void run(IProgressMonitor monitor) { + @Override + public void run(IProgressMonitor monitor) { monitor.beginTask("Connecting to remote target ...", 100); try { terminalSubSystem.connect(new NullProgressMonitor(), false); @@ -73,7 +72,7 @@ abstract public class TerminalHandler extends AbstractHandler { } catch (Exception e) { CommonHelper.showErrorDialog("Connection failure", null, e.getMessage()); monitor.done(); - + } } }); @@ -88,11
[yocto] [PATCH 08/12] Move ShellSession to org.yocto.remote.utils separate plugin
- ShellSession is used as a wrapper for a remote shell used for running commands on a remote machine with bitbake environment - move ShellSession org.yocto.remote.plugin since it is part of remote utilities - remove shell session class from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/remote/utils}/ShellSession.java | 68 .../sdk/remotetools/actions/SystemtapModel.java|2 +- 2 files changed, 28 insertions(+), 42 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/ShellSession.java (95%) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java similarity index 95% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java index 5602798..751933f 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java @@ -9,7 +9,7 @@ * Ken Gilmer - initial API and implementation * Jessica Zhang - Adopt for Yocto Tools plugin ***/ -package org.yocto.sdk.remotetools; +package org.yocto.remote.utils; import java.io.BufferedReader; import java.io.File; @@ -37,38 +37,36 @@ public class ShellSession { /** * String used to isolate command execution */ - //public static final String TERMINATOR = "#234o987dsfkcqiuwey18837032843259d"; public static final String TERMINATOR = "build$"; public static final String LT = System.getProperty("line.separator"); - + private Process process; + + private OutputStream pos = null; + + private String shellPath = null; + private final String initCmd; + private final File root; + + private OutputStreamWriter out; + public static String getFilePath(String file) throws IOException { File f = new File(file); - + if (!f.exists() || f.isDirectory()) { throw new IOException("Path passed is not a file: " + file); } - + StringBuffer sb = new StringBuffer(); - + String elems[] = file.split(File.separator); - + for (int i = 0; i < elems.length - 1; ++i) { sb.append(elems[i]); sb.append(File.separator); } - + return sb.toString(); } - private Process process; - - private OutputStream pos = null; - - private String shellPath = null; - private final String initCmd; - private final File root; - - private OutputStreamWriter out; - public ShellSession(int shellType, File root, String initCmd, OutputStream out) throws IOException { this.root = root; @@ -82,31 +80,31 @@ public class ShellSession { shellPath = "/bin/sh"; } shellPath = "/bin/bash"; - + initializeShell(); } private void initializeShell() throws IOException { process = Runtime.getRuntime().exec(shellPath); pos = process.getOutputStream(); - + if (root != null) { execute("cd " + root.getAbsolutePath()); } - + if (initCmd != null) { execute("source " + initCmd); } } - synchronized + synchronized public String execute(String command, int[] retCode) throws IOException { String errorMessage = null; - + interrupt = false; out.write(command); out.write(LT); - + sendToProcessAndTerminate(command); if (process.getErrorStream().available() > 0) { @@ -119,7 +117,7 @@ public class ShellSession { if (!msg_str.contains("WARNING")) errorMessage = "Error while executing: " + command + LT + new String(msg); } - + BufferedReader br = new BufferedReader(new InputStreamReader(process .getInputStream())); @@ -155,11 +153,11 @@ public class ShellSession { return sb.toString(); } - synchronized + synchronized public void
[yocto] [PATCH 09/12] Move CommonHelper to org.yocto.remote.utils separate plugin
- common helper is better suited to org.yocto.remote.utils since it is used for: - running commands - displaying error dialogs - remove common helper from remote tools plugin and add it to a separated plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/remote/utils}/CommonHelper.java | 20 +++- .../sdk/remotetools/actions/OprofileModel.java |2 +- .../actions/SystemtapSettingDialog.java|2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- 4 files changed, 14 insertions(+), 12 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/CommonHelper.java (77%) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java similarity index 77% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java index 72a5dfd..c01e866 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java @@ -8,7 +8,7 @@ * Contributors: * Intel - initial API and implementation ***/ -package org.yocto.sdk.remotetools; +package org.yocto.remote.utils; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; @@ -18,27 +18,29 @@ import org.eclipse.swt.widgets.Display; public class CommonHelper { static public boolean isExecAvail(String exec) { - boolean ret=false; + boolean ret = false; try { - Process p=Runtime.getRuntime().exec(new String[] {"which",exec}); + Process p = Runtime.getRuntime().exec(new String[] {"which", exec}); p.waitFor(); - if(p.exitValue()==0) { - ret=true; + if(p.exitValue() == 0) { + ret = true; } } catch (Exception e) { e.printStackTrace(); } return ret; } - + public static void showErrorDialog(final String dialogTitle, final String errorMessage, final String reason) { - //needs to be run in the ui thread otherwise swt throws invalid thread access + //needs to be run in the ui thread otherwise swt throws invalid thread access Display.getDefault().syncExec(new Runnable() { + @Override public void run() { - ErrorDialog.openError(null, dialogTitle, errorMessage, new Status(IStatus.ERROR,Activator.PLUGIN_ID,reason)); + ErrorDialog.openError(null, dialogTitle, errorMessage, + new Status(IStatus.ERROR,Activator.PLUGIN_ID,reason)); } }); } - + } diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/OprofileModel.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/OprofileModel.java index c125df7..7fbe7c6 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/OprofileModel.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/OprofileModel.java @@ -21,9 +21,9 @@ import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.rse.core.model.IHost; import org.eclipse.ui.IWorkbenchWindow; +import org.yocto.remote.utils.CommonHelper; import org.yocto.sdk.ide.YoctoSDKPlugin; import org.yocto.sdk.ide.preferences.PreferenceConstants; -import org.yocto.sdk.remotetools.CommonHelper; import org.yocto.sdk.remotetools.LocalJob; import org.yocto.sdk.remotetools.Messages; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java index 8b4703c..c447569 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java @@ -27,8 +27,8 @@ import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; +import org.yocto.remote.utils.CommonHelper; imp
[yocto] [PATCH 12/12] Remove all plugin dependencies to RSE APi from remote tools plugin
- removed all plugin dependencies to the RSE API & kept only the ones needed for GUI actions and Terminal views Signed-off-by: Ioana Grigoropol --- .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF b/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF index c34ad9e..5147c1a 100644 --- a/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF @@ -7,16 +7,10 @@ Bundle-Activator: org.yocto.sdk.remotetools.Activator Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.rse.core;bundle-version="3.0.0", - org.eclipse.rse.services;bundle-version="3.0.0", - org.eclipse.rse.subsystems.files.core;bundle-version="3.0.0", - org.eclipse.rse.ui;bundle-version="3.0.0", org.yocto.sdk.ide, - org.eclipse.tm.terminal;bundle-version="3.0.1", - org.eclipse.rse.subsystems.terminals.core;bundle-version="[1.0.0,2.0.0)", org.eclipse.rse.terminals.ui;bundle-version="1.0.100", org.eclipse.cdt;bundle-version="7.0.0", org.eclipse.linuxtools.tmf.core;bundle-version="0.4.0", - org.eclipse.rse.subsystems.shells.core, org.eclipse.ui.ide;bundle-version="3.8.0", org.eclipse.ui.console;bundle-version="3.5.100" Bundle-ActivationPolicy: lazy @@ -24,6 +18,10 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: org.eclipse.core.resources, org.eclipse.debug.internal.ui, org.eclipse.rse.shells.ui, + org.eclipse.rse.ui.actions, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.control.actions, + org.eclipse.tm.internal.terminal.provisional.api, org.eclipse.ui.forms.widgets, org.yocto.remote.utils Bundle-Vendor: %Bundle-Vendor -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 01/12] Separate remote logic from GUI login in TerminalHandler implementation
- TerminalHandler is used by both Perf and Latencytop handlers for running remote commands and for holding the settings dialog - in order to separate the common functionality for running remote commands we need to separate the GUI from the utilitary funtions - create DialogHandler that extends TerminalHandler to hold the GUI settings - clean-up code in TerminalHandler: - remove references to settings dialog - modify execute method and keep only remote control code - change Perf and Latencytop's parent to DialogHandler Signed-off-by: Ioana Grigoropol --- .../sdk/remotetools/actions/DialogHandler.java | 41 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java | 93 ++-- 4 files changed, 70 insertions(+), 68 deletions(-) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java new file mode 100644 index 000..d5c3583 --- /dev/null +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java @@ -0,0 +1,41 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.sdk.remotetools.actions; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.handlers.HandlerUtil; + +abstract public class DialogHandler extends TerminalHandler { + + protected BaseSettingDialog setting; + + abstract protected String getDialogTitle(); + + protected void initialize(ExecutionEvent event) throws ExecutionException{ + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + shell = window.getShell(); + setting = new SimpleSettingDialog(shell, getDialogTitle(), getConnnectionName()); + } + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + initialize(event); + + if(setting.open() == BaseSettingDialog.OK) { + IHost currentHost = setting.getHost(); + execute(currentHost); + } + return null; + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java index ef77957..e931388 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class LatencytopHandler extends TerminalHandler { +public class LatencytopHandler extends DialogHandler { private static String initCmd="export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin; cd; sudo latencytop\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java index 949bd46..f3f9e49 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class PerfHandler extends TerminalHandler { +public class PerfHandler extends DialogHandler { private static String initCmd="cd; perf\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java index 84e38f2..9e7c169 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java @@ -11,7 +11
Re: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper
Hi Jessica, Please have a look at the last set of 12 patches I have sent. These should apply cleanly on the master HEAD. It contains both patch sets for refactoring(4 patches) and creating a new separate plugin for remote tools(8 patches). Thanks, Ioana From: yocto-boun...@yoctoproject.org [yocto-boun...@yoctoproject.org] on behalf of Grigoropol, IoanaX [ioanax.grigoro...@intel.com] Sent: Thursday, May 09, 2013 10:21 AM To: Zhang, Jessica; yocto@yoctoproject.org Subject: Re: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper Hi Jessica, Yes, you are right, sorry about that. I will send a v2 of this patch set. Thanks, Ioana From: Zhang, Jessica Sent: Thursday, May 09, 2013 12:54 AM To: Grigoropol, IoanaX; yocto@yoctoproject.org Subject: RE: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper Hi Ioana, Isn't the logic in RSEHelper is reversed? It should be: if (sysType == null ||! sysType.isEnabled()) { iter.remove(); } Thanks, Jessica -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Wednesday, May 08, 2013 5:55 AM To: yocto@yoctoproject.org Subject: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper - BaseSettingDialog performs an extra filtering for suitable connections for a given host by checking the remote system type - this checking should be done in RSEHelper since it involves a remote action and thus removing BaseSettingDialog dependency on RSE Api - modified RSEHelper.getSuitableConnections to include the filtering for connections with associated system type disabled Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |4 .../sdk/remotetools/actions/BaseSettingDialog.java | 10 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index d1a505d..8d0612a 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RS +++ EHelper.java @@ -150,6 +150,10 @@ public class RSEHelper { if(!terminalConnections.contains(fileConnection) && !shellConnections.contains(fileConnection)){ iter.remove(); } + IRSESystemType sysType = fileConnection.getSystemType(); + if (sysType != null && sysType.isEnabled()) { + iter.remove(); + } } return (IHost[]) filConnections.toArray(new IHost[filConnections.size()]); diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index 06eeb00..962a20a 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/BaseSettingDialog.java @@ -26,7 +26,6 @@ import org.yocto.sdk.remotetools.SWTFactory; import org.yocto.sdk.remotetools.RSEHelper; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.ui.actions.SystemNewConnectionAction; import org.eclipse.swt.SWT; @@ -185,12 +184,9 @@ public class BaseSettingDialog extends Dialog { connectionCombo.removeAll(); IHost[] connections = RSEHelper.getSuitableConnections(); for (int i = 0; i < connections.length; i++) { - IRSESystemType sysType = connections[i].getSystemType(); - if (sysType != null && sysType.isEnabled()) { - connectionCombo.add(connections[i].getAliasName()); - if(connections[i].getAliasName().equals(curConn)) - index=i; - } + connectionCombo.add(connections[i].getAliasName()); + if(connections[i].getAliasName().equals(curConn)) + index=i; } if(index>=0) { -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Does anyone have a recipe for efibootmgr?
On Wednesday 08 May 2013 21:46:56 Khem Raj wrote: > On May 7, 2013, at 11:11 AM, "Wenholz, Brian (GE Healthcare)" wrote: > > I have been unsuccessful in finding one yet, and would prefer not to > > re-invent the wheel. > > check > http://layers.openembedded.org/layerindex/ Specifically the recipe search part: http://layers.openembedded.org/layerindex/recipes/ > if its not there then it does not exist. > secondly check classic OE metadata and if it exists there > > http://git.openembedded.org/openembedded/tree/recipes > > then forward port it to relevant layer and post patches for the layer using > relevant layer guidelines FYI there is information on how to migrate recipes here: http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH v2] Move RSEHelper to a separate plugin
- move RSEHelper to newly created separate plugin org.yocto.remote.utils - clean-up RSEHelper code by removing all unused methods - moved message strings that are relevant for this plugin to the corresponding class - modify remotetools plugin to use RSEHelper from org.yocto.remote.utils - add plugin resources need for RSEHelper Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 + .../org.yocto.remote.utils/resources/ust_tar.sh| 19 + .../org.yocto.remote.utils/resources/yocto_tool.sh | 125 ++ .../org.yocto.remote.utils/resources/yocto_ust.sh | 35 ++ .../src/org/yocto/remote/utils/Activator.java |4 +- .../src/org/yocto/remote/utils/Messages.java | 35 ++ .../src/org/yocto/remote/utils/RSEHelper.java | 344 .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF |3 +- .../src/org/yocto/sdk/remotetools/RSEHelper.java | 419 .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/actions/BaseSettingDialog.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java|2 +- 13 files changed, 577 insertions(+), 425 deletions(-) create mode 100755 plugins/org.yocto.remote.utils/resources/ust_tar.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_tool.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_ust.sh create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RSEHelper.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index eff0356..9616484 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -8,3 +8,13 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Import-Package: org.eclipse.rse.core, + org.eclipse.rse.core.model, + org.eclipse.rse.core.subsystems, + org.eclipse.rse.services, + org.eclipse.rse.services.files, + org.eclipse.rse.services.shells, + org.eclipse.rse.subsystems.files.core.servicesubsystem, + org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, + org.eclipse.rse.subsystems.terminals.core +Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.remote.utils/resources/ust_tar.sh b/plugins/org.yocto.remote.utils/resources/ust_tar.sh new file mode 100755 index 000..20a8039 --- /dev/null +++ b/plugins/org.yocto.remote.utils/resources/ust_tar.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +#set PATH to include sbin dirs +export PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" + +if [ ! -d "$@" ] || [ -z "$@" ]; then + exit 1 +fi + +DATESTRING="$(date +%Y%m%d%H%M%S%N)" +BASENAME=`basename $@` +DATAFILE=/tmp/${BASENAME}-${DATESTRING}.tar +cd $@ +cd .. + +tar -cf ${DATAFILE} ${BASENAME} &> /dev/null || exit $? + +echo -e "ustfile:$DATAFILE\n" + diff --git a/plugins/org.yocto.remote.utils/resources/yocto_tool.sh b/plugins/org.yocto.remote.utils/resources/yocto_tool.sh new file mode 100755 index 000..099e481 --- /dev/null +++ b/plugins/org.yocto.remote.utils/resources/yocto_tool.sh @@ -0,0 +1,125 @@ +#!/bin/sh + +help () +{ + echo "Usage $0 command [options] application [application argument]" + echo "command:" + echo " start - start an application" + echo " stop - stop an application" + echo " restart - restart an application" + echo "" + echo "options: -d | -l " + echo " -d - start an application as a singleton daemon" + echo " -l - redirect the standard output/error in the the file" + echo " note: Option -d and -l are exclusive to each other" + exit 1 +} + +killproc() {# kill the named process(es) +pid=`/bin/pidof $1` +[ "x$pid" != "x" ] && kill $pid +} + +start () +{ +pid=`/bin/pidof $APP` +[ "x$pid" != "x" ] && return 0 + +if [ "x$DAEMON" != "x" ]; then +if [ "x$APPARG" != "x" ]; then +start-stop-daemon -S -b --oknodo -x $APP -- $APPARG +else +start-stop-daemon -S -b --oknodo -x $APP +fi + +#wait for sometime for the backend app to bring up & daemonzie +ret=$? +if [ $ret -eq 0 ]; then + sleep 1 +fi +return $ret +elif [ "x$LOGFILE" != "x" ]; then +$APP $APPARG $>${LOGFILE} +else +$APP $APPARG +fi +} + +stop () +{ + if [ "x$DAEMON" != "x" ]; then +start-stop-daemon -K -x $APP + else +count=0 +while [ -n "`/bin/pidof $APP`" -a $count -lt 10 ] ; do + killproc $APP >& /dev/null
[yocto] [PATCH v3] Move RSEHelper to a separate plugin
- move RSEHelper to newly created separate plugin org.yocto.remote.utils - clean-up RSEHelper code by removing all unused methods - moved message strings that are relevant for this plugin to the corresponding class - modify remotetools plugin to use RSEHelper from org.yocto.remote.utils - add plugin resources need for RSEHelper Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 ++ .../org.yocto.remote.utils/resources/ust_tar.sh| 19 +++ .../org.yocto.remote.utils/resources/yocto_tool.sh | 125 +++ .../org.yocto.remote.utils/resources/yocto_ust.sh | 35 + .../src/org/yocto/remote/utils/Activator.java |4 +- .../src/org/yocto/remote/utils/Messages.java | 35 + .../src/org/yocto/remote/utils}/RSEHelper.java | 163 ++-- .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF |3 +- .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/actions/BaseSettingDialog.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java|2 +- 12 files changed, 277 insertions(+), 125 deletions(-) create mode 100755 plugins/org.yocto.remote.utils/resources/ust_tar.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_tool.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_ust.sh create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools => org.yocto.remote.utils/src/org/yocto/remote/utils}/RSEHelper.java (78%) diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index eff0356..9616484 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -8,3 +8,13 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Import-Package: org.eclipse.rse.core, + org.eclipse.rse.core.model, + org.eclipse.rse.core.subsystems, + org.eclipse.rse.services, + org.eclipse.rse.services.files, + org.eclipse.rse.services.shells, + org.eclipse.rse.subsystems.files.core.servicesubsystem, + org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, + org.eclipse.rse.subsystems.terminals.core +Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.remote.utils/resources/ust_tar.sh b/plugins/org.yocto.remote.utils/resources/ust_tar.sh new file mode 100755 index 000..20a8039 --- /dev/null +++ b/plugins/org.yocto.remote.utils/resources/ust_tar.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +#set PATH to include sbin dirs +export PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" + +if [ ! -d "$@" ] || [ -z "$@" ]; then + exit 1 +fi + +DATESTRING="$(date +%Y%m%d%H%M%S%N)" +BASENAME=`basename $@` +DATAFILE=/tmp/${BASENAME}-${DATESTRING}.tar +cd $@ +cd .. + +tar -cf ${DATAFILE} ${BASENAME} &> /dev/null || exit $? + +echo -e "ustfile:$DATAFILE\n" + diff --git a/plugins/org.yocto.remote.utils/resources/yocto_tool.sh b/plugins/org.yocto.remote.utils/resources/yocto_tool.sh new file mode 100755 index 000..099e481 --- /dev/null +++ b/plugins/org.yocto.remote.utils/resources/yocto_tool.sh @@ -0,0 +1,125 @@ +#!/bin/sh + +help () +{ + echo "Usage $0 command [options] application [application argument]" + echo "command:" + echo " start - start an application" + echo " stop - stop an application" + echo " restart - restart an application" + echo "" + echo "options: -d | -l " + echo " -d - start an application as a singleton daemon" + echo " -l - redirect the standard output/error in the the file" + echo " note: Option -d and -l are exclusive to each other" + exit 1 +} + +killproc() {# kill the named process(es) +pid=`/bin/pidof $1` +[ "x$pid" != "x" ] && kill $pid +} + +start () +{ +pid=`/bin/pidof $APP` +[ "x$pid" != "x" ] && return 0 + +if [ "x$DAEMON" != "x" ]; then +if [ "x$APPARG" != "x" ]; then +start-stop-daemon -S -b --oknodo -x $APP -- $APPARG +else +start-stop-daemon -S -b --oknodo -x $APP +fi + +#wait for sometime for the backend app to bring up & daemonzie +ret=$? +if [ $ret -eq 0 ]; then + sleep 1 +fi +return $ret +elif [ "x$LOGFILE" != "x" ]; then +$APP $APPARG $>${LOGFILE} +else +$APP $APPARG +fi +} + +stop () +{ + if [ "x$DAEMON" != "x" ]; then +start-stop-daemon -K -x $APP + else +count=0 +while [ -n "`/bin/pidof $APP`" -a $count -lt 10 ] ; do + killproc $APP >& /dev/null + sleep 1 + RETVAL=$? + if [ $RETVAL != 0 -o -n "`/bin/pidof $APP`" ] ; then +
Re: [yocto] [PATCH v2] Move RSEHelper to a separate plugin
I have sent a v3 of this patch that includes also the clean-up for remotetools plugin. Please disregard this one. From: Grigoropol, IoanaX Sent: Thursday, May 09, 2013 3:06 PM To: yocto@yoctoproject.org Cc: Grigoropol, IoanaX Subject: [PATCH v2] Move RSEHelper to a separate plugin - move RSEHelper to newly created separate plugin org.yocto.remote.utils - clean-up RSEHelper code by removing all unused methods - moved message strings that are relevant for this plugin to the corresponding class - modify remotetools plugin to use RSEHelper from org.yocto.remote.utils - add plugin resources need for RSEHelper Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 + .../org.yocto.remote.utils/resources/ust_tar.sh| 19 + .../org.yocto.remote.utils/resources/yocto_tool.sh | 125 ++ .../org.yocto.remote.utils/resources/yocto_ust.sh | 35 ++ .../src/org/yocto/remote/utils/Activator.java |4 +- .../src/org/yocto/remote/utils/Messages.java | 35 ++ .../src/org/yocto/remote/utils/RSEHelper.java | 344 .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF |3 +- .../src/org/yocto/sdk/remotetools/RSEHelper.java | 419 .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/actions/BaseSettingDialog.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java|2 +- 13 files changed, 577 insertions(+), 425 deletions(-) create mode 100755 plugins/org.yocto.remote.utils/resources/ust_tar.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_tool.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_ust.sh create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RSEHelper.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index eff0356..9616484 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -8,3 +8,13 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Import-Package: org.eclipse.rse.core, + org.eclipse.rse.core.model, + org.eclipse.rse.core.subsystems, + org.eclipse.rse.services, + org.eclipse.rse.services.files, + org.eclipse.rse.services.shells, + org.eclipse.rse.subsystems.files.core.servicesubsystem, + org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, + org.eclipse.rse.subsystems.terminals.core +Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.remote.utils/resources/ust_tar.sh b/plugins/org.yocto.remote.utils/resources/ust_tar.sh new file mode 100755 index 000..20a8039 --- /dev/null +++ b/plugins/org.yocto.remote.utils/resources/ust_tar.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +#set PATH to include sbin dirs +export PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" + +if [ ! -d "$@" ] || [ -z "$@" ]; then + exit 1 +fi + +DATESTRING="$(date +%Y%m%d%H%M%S%N)" +BASENAME=`basename $@` +DATAFILE=/tmp/${BASENAME}-${DATESTRING}.tar +cd $@ +cd .. + +tar -cf ${DATAFILE} ${BASENAME} &> /dev/null || exit $? + +echo -e "ustfile:$DATAFILE\n" + diff --git a/plugins/org.yocto.remote.utils/resources/yocto_tool.sh b/plugins/org.yocto.remote.utils/resources/yocto_tool.sh new file mode 100755 index 000..099e481 --- /dev/null +++ b/plugins/org.yocto.remote.utils/resources/yocto_tool.sh @@ -0,0 +1,125 @@ +#!/bin/sh + +help () +{ + echo "Usage $0 command [options] application [application argument]" + echo "command:" + echo " start - start an application" + echo " stop - stop an application" + echo " restart - restart an application" + echo "" + echo "options: -d | -l " + echo " -d - start an application as a singleton daemon" + echo " -l - redirect the standard output/error in the the file" + echo " note: Option -d and -l are exclusive to each other" + exit 1 +} + +killproc() {# kill the named process(es) +pid=`/bin/pidof $1` +[ "x$pid" != "x" ] && kill $pid +} + +start () +{ +pid=`/bin/pidof $APP` +[ "x$pid" != "x" ] && return 0 + +if [ "x$DAEMON" != "x" ]; then +if [ "x$APPARG" != "x" ]; then +start-stop-daemon -S -b --oknodo -x $APP -- $APPARG +else +start-stop-daemon -S -b --oknodo -x $APP +fi + +#wait for sometime for the backend app to bring up & daemonzie +ret=$? +if [ $ret -eq 0 ]; then + sleep 1 +fi +return $ret +elif [ "x$LOGFILE" != "x" ]; the
Re: [yocto] 1.3.2_rc1 respin (failing)
On 9 May 2013 01:15, Flanagan, Elizabeth wrote: > I've respun 1.3.2_rc1 per request. So far, there are a few known > issues that I've been opening bugs for: gnome-desktop fails > do_install, powertop fails do_compile and a still more sanity test > failures mainly around connman and shutdown. The gnome-desktop failure is due to a concurrent (presumably SDK) task staging sed at the precise time that gnome-desktop wants to run sed. Shockingly rare so I don't see the use in patching the makefile to use /usr/bin/sed as this is just whack-a-mole - a proper fix is in master. The connman sanity test is the same old one, but this instance did have some more information in the log. We can ignore this as it's knwon. The shutdown failure should have been fixed. :( powertop is a simple dep missing, fixing now. There were also two failures at copying the artifacts, I've filed a bug for this. Ross ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] recipe gsl-1.15
Hello, I am trying to write the recipe to add gsl-1.15 to core-image-sato. First I did mdkir poky/meta/recipes-support/gsl Is this the correct location for this recipe? cp ~/POKY/gsl_1.15.bb ../meta/recipes-support/gsl/ This is the gsl_1.15.bb file * DESCRIPTION = "GNU Scientific Library (GSL)" HOMEPAGE = "http://www.gnu.org/software/gsl/"; LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://NEWS;beginline=362;endline=363;md5=325d4344063147ef38e3ac2cbf1cc157" SRC_URI = "http://mirror.rit.edu/gnu/gnu/gsl/gsl-${PV}.tar.gz"; SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b" SRC_URI[sha256sum] = "85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3" S = "${WORKDIR}/gsl-${PV}" inherit autotools * When I execute MACHINE=beagleboard bitbake gsl Build Configuration: BB_VERSION= "1.19.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Fedora-18" TARGET_SYS= "arm-poky-linux-gnueabi" MACHINE = "beagleboard" DISTRO= "poky" DISTRO_VERSION= "1.3+snapshot-20130509" TUNE_FEATURES = "armv7a vfp neon" TARGET_FPU= "vfp-neon" meta meta-yocto meta-yocto-bsp= "master:84d45db4ddced96c736f106f8122eefadf925c41" NOTE: Resolving any missing task queue dependencies NOTE: Preparing runqueue NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks The fetch appears to work since in my repository I see the following: /home/vidal/POKY/linux_src_dnloads/downloads/gsl-1.15.tar.gz /home/vidal/POKY/linux_src_dnloads/downloads/gsl-1.15.tar.gz.done In the file NEWS 362 ** License updated to GNU GPL version 3. 363 gsl-1.15]$ md5sum NEWS 325d4344063147ef38e3ac2cbf1cc157 NEWS ERROR: gsl: The new md5 checksum is 73ea11aaa98f8c40401be7c60ee2a8e6 ERROR: gsl: Check if the license information has changed in ERROR: Licensing Error: LIC_FILES_CHKSUM does not match, please fix ERROR: Function failed: do_qa_configure ERROR: Logfile of failure stored in: /home/vidal/POKY/build050613/poky/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/gsl/1.15-r0/temp/log.do_configure.5839 ERROR: Task 5 (/home/vidal/POKY/build050613/poky/meta/recipes-support/gsl/ gsl_1.15.bb, do_configure) failed with exit code '1' /home/vidal/POKY/build050613/poky/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/gsl/1.15-r0/temp/log.do_configure.5839 configure: WARNING: unrecognized options: --disable-silent-rules DEBUG: Shell function do_configure finished DEBUG: Executing python function do_qa_configure NOTE: Checking autotools environment for common misconfiguration ERROR: gsl: md5 data is not matching for file://NEWS;beginline=362;endline=363;md5=325d4344063147ef38e3ac2cbf1cc157 ERROR: gsl: The new md5 checksum is 73ea11aaa98f8c40401be7c60ee2a8e6 ERROR: gsl: Check if the license information has changed in ERROR: Licensing Error: LIC_FILES_CHKSUM does not match, please fix DEBUG: Python function do_qa_configure finished Any and all help will be appreciated. Thanks Ed Vidal Jr. ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] recipe gsl-1.15
On 09/05/13 16:48, Edward Vidal wrote: > "file://NEWS;beginline=362;endline=363;md5=325d4344063147ef38e3ac2cbf1cc157" You should be hashing the actual license file, not the NEWS file. Also, the above is only hashing one line of the file, while your md5 sum is for the whole file. Tomas ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] recipe gsl-1.15
Hi, On 9 May 2013 16:48, Edward Vidal wrote: > I am trying to write the recipe to add gsl-1.15 to core-image-sato. > > First I did mdkir poky/meta/recipes-support/gsl > > Is this the correct location for this recipe? It's a perfectly valid location. The recipes folders have no defined structure, you can arrange them as you want. [snip] > Any and all help will be appreciated. You didn't actually say what the problem is. I presume it's the error you're getting about your license checksum. Well, your md5sum command is checksumming the entire file, and your LIC_FILES_CHKSUM is checksumming a single line of the file, so I expect them to be different. Is the NEWS file the only place that says the license is GPLv3? The NEWS file should change with every release, so it's better to use a top-level license file or a fragment from a source file instead. Ross ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] Please point me to the binary that has the best chance of booting a dual core...
Atom netbook from a FLASH drive. Thanks Pete___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] recipe gsl-1.15
All, The only place I saw ** License updated to GNU GPL version 3. was in the NEWS file. I modified the recipe gsl_1.15.bb as follows DESCRIPTION = "GNU Scientific Library (GSL)" HOMEPAGE = "http://www.gnu.org/software/gsl/"; LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://NEWS;beginline=361;endline=362;md5=53ae5d8d6c3464f1ac8d1d7e72e3de6b" SRC_URI = "http://mirror.rit.edu/gnu/gnu/gsl/gsl-${PV}.tar.gz"; SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b" SRC_URI[sha256sum] = "85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3" S = "${WORKDIR}/gsl-${PV}" inherit autotools Now when I do the following: MACHINE=beagleboard bitbake gsl Loading cache: 100% |###| ETA: 00:00:00 Loaded 1135 entries from dependency cache. Parsing recipes: 100% |#| Time: 00:00:00 Parsing of 825 .bb files complete (824 cached, 1 parsed). 1134 targets, 44 skipped, 0 masked, 0 errors. Build Configuration: BB_VERSION= "1.19.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Fedora-18" TARGET_SYS= "arm-poky-linux-gnueabi" MACHINE = "beagleboard" DISTRO= "poky" DISTRO_VERSION= "1.3+snapshot-20130509" TUNE_FEATURES = "armv7a vfp neon" TARGET_FPU= "vfp-neon" meta meta-yocto meta-yocto-bsp= "master:84d45db4ddced96c736f106f8122eefadf925c41" NOTE: Resolving any missing task queue dependencies NOTE: Preparing runqueue NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks NOTE: Tasks Summary: Attempted 692 tasks of which 680 didn't need to be rerun and all succeeded. In /home/vidal/POKY/build050613/poky/build/tmp/deploy/rpm/armv7a_vfp_neon I see the following RPMs ls gsl* gsl-1.15-r0.armv7a_vfp_neon.rpm gsl-doc-1.15-r0.armv7a_vfp_neon.rpm gsl-dbg-1.15-r0.armv7a_vfp_neon.rpm gsl-staticdev-1.15-r0.armv7a_vfp_neon.rpm gsl-dev-1.15-r0.armv7a_vfp_neon.rpm My question do I have to install the RPMS manually or when I do bitbake core-image-sato-sdk-ex will these become part of the core-image-sato-sdk-ex-beagleboard-20130506115850.rootfs.tar.bz2 or do I have do something else. What is the procedure to make this part of the Yocto project. Any and all help will be appreciated. Thanks Ed Vidal Jr. On Thu, May 9, 2013 at 9:59 AM, Burton, Ross wrote: > Hi, > > On 9 May 2013 16:48, Edward Vidal wrote: > > I am trying to write the recipe to add gsl-1.15 to core-image-sato. > > > > First I did mdkir poky/meta/recipes-support/gsl > > > > Is this the correct location for this recipe? > > It's a perfectly valid location. The recipes folders have no defined > structure, you can arrange them as you want. > > [snip] > > > Any and all help will be appreciated. > > You didn't actually say what the problem is. I presume it's the error > you're getting about your license checksum. Well, your md5sum command > is checksumming the entire file, and your LIC_FILES_CHKSUM is > checksumming a single line of the file, so I expect them to be > different. > > Is the NEWS file the only place that says the license is GPLv3? The > NEWS file should change with every release, so it's better to use a > top-level license file or a fragment from a source file instead. > > Ross > ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] recipe gsl-1.15
On 9 May 2013 17:50, Edward Vidal wrote: > The only place I saw ** License updated to GNU GPL version 3. was in the > NEWS file. GNU software typically includes a COPYING file with the license terms in, use that entire file. Ross ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Please point me to the binary that has the best chance of booting a dual core...
with GUI. Thanks From: Peter Tornel To: "yocto@yoctoproject.org" Sent: Thursday, May 9, 2013 12:29 PM Subject: [yocto] Please point me to the binary that has the best chance of booting a dual core... Atom netbook from a FLASH drive. Thanks Pete ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Please point me to the binary that has the best chance of booting a dual core...
There are several BSPs for different Atom processors. The generic Atom processor might be a good starting point: https://www.yoctoproject.org/download/intel%C2%AE-atom%E2%84%A2-based-pcs-an d-devices-atom-pc The distribution built with the core-image-sato would give you a GUI shell interface Regards, Sean Liming http://www.annabooks.com/Book_OSSATOM.html From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Peter Tornel Sent: Thursday, May 09, 2013 9:59 AM To: Peter Tornel; yocto@yoctoproject.org Subject: Re: [yocto] Please point me to the binary that has the best chance of booting a dual core... with GUI. Thanks _ From: Peter Tornel To: "yocto@yoctoproject.org" Sent: Thursday, May 9, 2013 12:29 PM Subject: [yocto] Please point me to the binary that has the best chance of booting a dual core... Atom netbook from a FLASH drive. Thanks Pete ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] recipe gsl-1.15
Hello, Below is the current gs_1.15.bb DESCRIPTION = "GNU Scientific Library (GSL)" HOMEPAGE = "http://www.gnu.org/software/gsl/"; LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "http://mirror.rit.edu/gnu/gnu/gsl/gsl-${PV}.tar.gz"; SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b" SRC_URI[sha256sum] = "85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3" S = "${WORKDIR}/gsl-${PV}" inherit autotools I currently running "MACHINE=beagleboard bitbake core-image-sato-sdk-ex" which I use to include boost and qt-mobility-x11 meta/recipes-sato/imagescore-image-sato-sdk-ex require core-image-sato.bb DESCRIPTION = "Image with Sato support that includes everything within \ core-image-sato plus meta-toolchain, development headers and libraries to \ form a standalone SDK." IMAGE_FEATURES += "dev-pkgs tools-sdk qt4-pkgs \ tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks ssh-server-openssh " IMAGE_INSTALL += "kernel-dev boost qt-mobility-x11" Thanks Ed Vidal On Thu, May 9, 2013 at 10:54 AM, Burton, Ross wrote: > On 9 May 2013 17:50, Edward Vidal wrote: > > The only place I saw ** License updated to GNU GPL version 3. was in the > > NEWS file. > > GNU software typically includes a COPYING file with the license terms > in, use that entire file. > > Ross > ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] [PATCH 01/12] Separate remote logic from GUI login in TerminalHandler implementation
Please change the License to 2013. Also if execute only returns null, does it make sense to declare the API return object? Thanks, Jessica -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Thursday, May 09, 2013 12:53 AM To: yocto@yoctoproject.org Subject: [yocto] [PATCH 01/12] Separate remote logic from GUI login in TerminalHandler implementation - TerminalHandler is used by both Perf and Latencytop handlers for running remote commands and for holding the settings dialog - in order to separate the common functionality for running remote commands we need to separate the GUI from the utilitary funtions - create DialogHandler that extends TerminalHandler to hold the GUI settings - clean-up code in TerminalHandler: - remove references to settings dialog - modify execute method and keep only remote control code - change Perf and Latencytop's parent to DialogHandler Signed-off-by: Ioana Grigoropol --- .../sdk/remotetools/actions/DialogHandler.java | 41 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java | 93 ++-- 4 files changed, 70 insertions(+), 68 deletions(-) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java new file mode 100644 index 000..d5c3583 --- /dev/null +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/DialogHandler.java @@ -0,0 +1,41 @@ +/** +* + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License +v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation +*** +/ package org.yocto.sdk.remotetools.actions; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.rse.core.model.IHost; import +org.eclipse.ui.IWorkbenchWindow; import +org.eclipse.ui.handlers.HandlerUtil; + +abstract public class DialogHandler extends TerminalHandler { + + protected BaseSettingDialog setting; + + abstract protected String getDialogTitle(); + + protected void initialize(ExecutionEvent event) throws ExecutionException{ + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + shell = window.getShell(); + setting = new SimpleSettingDialog(shell, getDialogTitle(), getConnnectionName()); + } + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + initialize(event); + + if(setting.open() == BaseSettingDialog.OK) { + IHost currentHost = setting.getHost(); + execute(currentHost); + } + return null; + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java index ef77957..e931388 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/LatencytopHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class LatencytopHandler extends TerminalHandler { +public class LatencytopHandler extends DialogHandler { private static String initCmd="export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin; cd; sudo latencytop\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java index 949bd46..f3f9e49 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/PerfHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class PerfHandler extends TerminalHandler { +public class PerfHandler extends DialogHandler { private static String initCmd="cd; perf\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/y
Re: [yocto] [PATCH 05/12] Initial commit for separate remote utilities plugin
We can't base on JavaSE 1.7, please move down to 1.6 -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Thursday, May 09, 2013 12:53 AM To: yocto@yoctoproject.org Subject: [yocto] [PATCH 05/12] Initial commit for separate remote utilities plugin Signed-off-by: Ioana Grigoropol --- plugins/org.yocto.remote.utils/.classpath |7 +++ plugins/org.yocto.remote.utils/.project| 28 + .../.settings/org.eclipse.jdt.core.prefs |7 +++ .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 plugins/org.yocto.remote.utils/build.properties|4 ++ .../src/org/yocto/remote/utils/Activator.java | 60 6 files changed, 116 insertions(+) create mode 100644 plugins/org.yocto.remote.utils/.classpath create mode 100644 plugins/org.yocto.remote.utils/.project create mode 100644 plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF create mode 100644 plugins/org.yocto.remote.utils/build.properties create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java diff --git a/plugins/org.yocto.remote.utils/.classpath b/plugins/org.yocto.remote.utils/.classpath new file mode 100644 index 000..098194c --- /dev/null +++ b/plugins/org.yocto.remote.utils/.classpath @@ -0,0 +1,7 @@ + + + + + + diff --git a/plugins/org.yocto.remote.utils/.project b/plugins/org.yocto.remote.utils/.project new file mode 100644 index 000..29a2a5a --- /dev/null +++ b/plugins/org.yocto.remote.utils/.project @@ -0,0 +1,28 @@ + + + org.yocto.remote.utils + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs b/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000..f42de36 --- /dev/null +++ b/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.pref +++ s @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF new file mode 100644 index 000..eff0356 --- /dev/null +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Utils +Bundle-SymbolicName: org.yocto.remote.utils +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: org.yocto.remote.utils.Activator +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-1.7 diff --git a/plugins/org.yocto.remote.utils/build.properties b/plugins/org.yocto.remote.utils/build.properties new file mode 100644 index 000..34d2e4d --- /dev/null +++ b/plugins/org.yocto.remote.utils/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java new file mode 100644 index 000..047d900 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activato +++ r.java @@ -0,0 +1,60 @@ +/** +* + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License +v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation +*** +/ +package org.yocto.remote.utils; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle */ public class +Activator e
Re: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper
Hi Ioana, I merged 02-04 patches since they're clear to me what they meant for. As to rest, I've provided some feedbacks. So please rebase against master. Also in general, please send out patches to clearly mark what they're meant for and please don't send a big patch set that contains everything, esp. multiple versions without clearly marked how they're grouped. Thanks, Jessica -Original Message- From: Grigoropol, IoanaX Sent: Thursday, May 09, 2013 1:19 AM To: Zhang, Jessica; yocto@yoctoproject.org Subject: RE: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper Hi Jessica, Please have a look at the last set of 12 patches I have sent. These should apply cleanly on the master HEAD. It contains both patch sets for refactoring(4 patches) and creating a new separate plugin for remote tools(8 patches). Thanks, Ioana From: yocto-boun...@yoctoproject.org [yocto-boun...@yoctoproject.org] on behalf of Grigoropol, IoanaX [ioanax.grigoro...@intel.com] Sent: Thursday, May 09, 2013 10:21 AM To: Zhang, Jessica; yocto@yoctoproject.org Subject: Re: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper Hi Jessica, Yes, you are right, sorry about that. I will send a v2 of this patch set. Thanks, Ioana From: Zhang, Jessica Sent: Thursday, May 09, 2013 12:54 AM To: Grigoropol, IoanaX; yocto@yoctoproject.org Subject: RE: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper Hi Ioana, Isn't the logic in RSEHelper is reversed? It should be: if (sysType == null ||! sysType.isEnabled()) { iter.remove(); } Thanks, Jessica -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Wednesday, May 08, 2013 5:55 AM To: yocto@yoctoproject.org Subject: [yocto] [PATCH 3/3] Move filtering of suitable connections to RSEHelper - BaseSettingDialog performs an extra filtering for suitable connections for a given host by checking the remote system type - this checking should be done in RSEHelper since it involves a remote action and thus removing BaseSettingDialog dependency on RSE Api - modified RSEHelper.getSuitableConnections to include the filtering for connections with associated system type disabled Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/sdk/remotetools/RSEHelper.java |4 .../sdk/remotetools/actions/BaseSettingDialog.java | 10 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java index d1a505d..8d0612a 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RS +++ EHelper.java @@ -150,6 +150,10 @@ public class RSEHelper { if(!terminalConnections.contains(fileConnection) && !shellConnections.contains(fileConnection)){ iter.remove(); } + IRSESystemType sysType = fileConnection.getSystemType(); + if (sysType != null && sysType.isEnabled()) { + iter.remove(); + } } return (IHost[]) filConnections.toArray(new IHost[filConnections.size()]); diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java index 06eeb00..962a20a 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/BaseSettingDialog.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/BaseSettingDialog.java @@ -26,7 +26,6 @@ import org.yocto.sdk.remotetools.SWTFactory; import org.yocto.sdk.remotetools.RSEHelper; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.ui.actions.SystemNewConnectionAction; import org.eclipse.swt.SWT; @@ -185,12 +184,9 @@ public class BaseSettingDialog extends Dialog { connectionCombo.removeAll(); IHost[] connections = RSEHelper.getSuitableConnections(); for (int i = 0; i < connections.length; i++) { - IRSESystemType sysType = connections[i].getSystemType(); - if (sysType != null && sysType.isEnabled()) { - connectionCombo.add(connections[i].getAliasName()); - if(connections[i].getAliasName().equals(curConn)) -
[yocto] [PATCH v2] Separate remote logic from GUI login in TerminalHandler implementation
- TerminalHandler is used by both Perf and Latencytop handlers for running remote commands and for holding the settings dialog - in order to separate the common functionality for running remote commands we need to separate the GUI from the utilitary funtions - create DialogHandler that extends TerminalHandler to hold the GUI settings - clean-up code in TerminalHandler: - remove references to settings dialog - modify execute method and keep only remote control code - change Perf and Latencytop's parent to DialogHandler Signed-off-by: Ioana Grigoropol --- .../sdk/remotetools/actions/DialogHandler.java | 40 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java | 93 ++-- 4 files changed, 69 insertions(+), 68 deletions(-) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java new file mode 100644 index 000..1ce9a1f --- /dev/null +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java @@ -0,0 +1,40 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.sdk.remotetools.actions; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.handlers.HandlerUtil; + +abstract public class DialogHandler extends TerminalHandler { + + protected BaseSettingDialog setting; + + abstract protected String getDialogTitle(); + + protected void initialize(ExecutionEvent event) throws ExecutionException{ + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + shell = window.getShell(); + setting = new SimpleSettingDialog(shell, getDialogTitle(), getConnnectionName()); + } + + @Override + public void execute(ExecutionEvent event) throws ExecutionException { + initialize(event); + + if(setting.open() == BaseSettingDialog.OK) { + IHost currentHost = setting.getHost(); + execute(currentHost); + } + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java index ef77957..e931388 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class LatencytopHandler extends TerminalHandler { +public class LatencytopHandler extends DialogHandler { private static String initCmd="export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin; cd; sudo latencytop\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java index 949bd46..f3f9e49 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class PerfHandler extends TerminalHandler { +public class PerfHandler extends DialogHandler { private static String initCmd="cd; perf\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java index 84e38f2..9e7c169 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java @@ -11,7 +11,6 @@ package org.yocto.sdk.remotetools.actions; import org.eclipse.co
Re: [yocto] recipe gsl-1.15
There is already a recipe for gsl in meta-oe: ./meta-oe/recipes-support/gsl/gsl_1.12.bb We be happy to take a patch to update it to a current gsl. Philip On 05/09/2013 11:48 AM, Edward Vidal wrote: > Hello, > I am trying to write the recipe to add gsl-1.15 to core-image-sato. > > First I did mdkir poky/meta/recipes-support/gsl > > Is this the correct location for this recipe? > > cp ~/POKY/gsl_1.15.bb ../meta/recipes-support/gsl/ > > This is the gsl_1.15.bb file > * > DESCRIPTION = "GNU Scientific Library (GSL)" > HOMEPAGE = "http://www.gnu.org/software/gsl/"; > > LICENSE = "GPLv3" > LIC_FILES_CHKSUM = > "file://NEWS;beginline=362;endline=363;md5=325d4344063147ef38e3ac2cbf1cc157" > > SRC_URI = "http://mirror.rit.edu/gnu/gnu/gsl/gsl-${PV}.tar.gz"; > SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b" > SRC_URI[sha256sum] = > "85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3" > > S = "${WORKDIR}/gsl-${PV}" > > inherit autotools > * > When I execute MACHINE=beagleboard bitbake gsl > > Build Configuration: > BB_VERSION= "1.19.0" > BUILD_SYS = "x86_64-linux" > NATIVELSBSTRING = "Fedora-18" > TARGET_SYS= "arm-poky-linux-gnueabi" > MACHINE = "beagleboard" > DISTRO= "poky" > DISTRO_VERSION= "1.3+snapshot-20130509" > TUNE_FEATURES = "armv7a vfp neon" > TARGET_FPU= "vfp-neon" > meta > meta-yocto > meta-yocto-bsp= "master:84d45db4ddced96c736f106f8122eefadf925c41" > > NOTE: Resolving any missing task queue dependencies > NOTE: Preparing runqueue > NOTE: Executing SetScene Tasks > NOTE: Executing RunQueue Tasks > > The fetch appears to work since in my repository I see the following: > /home/vidal/POKY/linux_src_dnloads/downloads/gsl-1.15.tar.gz > /home/vidal/POKY/linux_src_dnloads/downloads/gsl-1.15.tar.gz.done > > In the file NEWS > > 362 ** License updated to GNU GPL version 3. > 363 > gsl-1.15]$ md5sum NEWS > 325d4344063147ef38e3ac2cbf1cc157 NEWS > > ERROR: gsl: The new md5 checksum is 73ea11aaa98f8c40401be7c60ee2a8e6 > ERROR: gsl: Check if the license information has changed in > ERROR: Licensing Error: LIC_FILES_CHKSUM does not match, please fix > ERROR: Function failed: do_qa_configure > ERROR: Logfile of failure stored in: > /home/vidal/POKY/build050613/poky/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/gsl/1.15-r0/temp/log.do_configure.5839 > ERROR: Task 5 (/home/vidal/POKY/build050613/poky/meta/recipes-support/gsl/ > gsl_1.15.bb, do_configure) failed with exit code '1' > > /home/vidal/POKY/build050613/poky/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/gsl/1.15-r0/temp/log.do_configure.5839 > configure: WARNING: unrecognized options: --disable-silent-rules > DEBUG: Shell function do_configure finished > DEBUG: Executing python function do_qa_configure > NOTE: Checking autotools environment for common misconfiguration > ERROR: gsl: md5 data is not matching for > file://NEWS;beginline=362;endline=363;md5=325d4344063147ef38e3ac2cbf1cc157 > ERROR: gsl: The new md5 checksum is 73ea11aaa98f8c40401be7c60ee2a8e6 > ERROR: gsl: Check if the license information has changed in > ERROR: Licensing Error: LIC_FILES_CHKSUM does not match, please fix > DEBUG: Python function do_qa_configure finished > > Any and all help will be appreciated. > Thanks > Ed Vidal Jr. > > > > ___ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] [PATCH v2] Separate remote logic from GUI login in TerminalHandler implementation
Please fix the license as 2013. Thanks, Jessica -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Thursday, May 09, 2013 11:47 AM To: yocto@yoctoproject.org Subject: [yocto] [PATCH v2] Separate remote logic from GUI login in TerminalHandler implementation - TerminalHandler is used by both Perf and Latencytop handlers for running remote commands and for holding the settings dialog - in order to separate the common functionality for running remote commands we need to separate the GUI from the utilitary funtions - create DialogHandler that extends TerminalHandler to hold the GUI settings - clean-up code in TerminalHandler: - remove references to settings dialog - modify execute method and keep only remote control code - change Perf and Latencytop's parent to DialogHandler Signed-off-by: Ioana Grigoropol --- .../sdk/remotetools/actions/DialogHandler.java | 40 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java | 93 ++-- 4 files changed, 69 insertions(+), 68 deletions(-) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java new file mode 100644 index 000..1ce9a1f --- /dev/null +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/DialogHandler.java @@ -0,0 +1,40 @@ +/** +* + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License +v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation +*** +/ package org.yocto.sdk.remotetools.actions; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.rse.core.model.IHost; import +org.eclipse.ui.IWorkbenchWindow; import +org.eclipse.ui.handlers.HandlerUtil; + +abstract public class DialogHandler extends TerminalHandler { + + protected BaseSettingDialog setting; + + abstract protected String getDialogTitle(); + + protected void initialize(ExecutionEvent event) throws ExecutionException{ + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + shell = window.getShell(); + setting = new SimpleSettingDialog(shell, getDialogTitle(), getConnnectionName()); + } + + @Override + public void execute(ExecutionEvent event) throws ExecutionException { + initialize(event); + + if(setting.open() == BaseSettingDialog.OK) { + IHost currentHost = setting.getHost(); + execute(currentHost); + } + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java index ef77957..e931388 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/LatencytopHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class LatencytopHandler extends TerminalHandler { +public class LatencytopHandler extends DialogHandler { private static String initCmd="export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin; cd; sudo latencytop\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java index 949bd46..f3f9e49 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/PerfHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class PerfHandler extends TerminalHandler { +public class PerfHandler extends DialogHandler { private static String initCmd="cd; perf\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/T
[yocto] [PATCH v3] Separate remote logic from GUI login in TerminalHandler implementation
- TerminalHandler is used by both Perf and Latencytop handlers for running remote commands and for holding the settings dialog - in order to separate the common functionality for running remote commands we need to separate the GUI from the utilitary funtions - create DialogHandler that extends TerminalHandler to hold the GUI settings - clean-up code in TerminalHandler: - remove references to settings dialog - modify execute method and keep only remote control code - change Perf and Latencytop's parent to DialogHandler Signed-off-by: Ioana Grigoropol --- .../sdk/remotetools/actions/DialogHandler.java | 40 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java | 93 ++-- 4 files changed, 69 insertions(+), 68 deletions(-) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java new file mode 100644 index 000..67d33ba --- /dev/null +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java @@ -0,0 +1,40 @@ +/*** + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.sdk.remotetools.actions; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.handlers.HandlerUtil; + +abstract public class DialogHandler extends TerminalHandler { + + protected BaseSettingDialog setting; + + abstract protected String getDialogTitle(); + + protected void initialize(ExecutionEvent event) throws ExecutionException{ + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + shell = window.getShell(); + setting = new SimpleSettingDialog(shell, getDialogTitle(), getConnnectionName()); + } + + @Override + public void execute(ExecutionEvent event) throws ExecutionException { + initialize(event); + + if(setting.open() == BaseSettingDialog.OK) { + IHost currentHost = setting.getHost(); + execute(currentHost); + } + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java index ef77957..e931388 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class LatencytopHandler extends TerminalHandler { +public class LatencytopHandler extends DialogHandler { private static String initCmd="export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin; cd; sudo latencytop\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java index 949bd46..f3f9e49 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class PerfHandler extends TerminalHandler { +public class PerfHandler extends DialogHandler { private static String initCmd="cd; perf\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java index 84e38f2..9e7c169 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java @@ -11,7 +11,6 @@ package org.yocto.sdk.remotetools.actions; import org.eclipse.co
Re: [yocto] [PATCH v3] Separate remote logic from GUI login in TerminalHandler implementation
Merged to eclipse-poky master. Thanks, Jessica -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Thursday, May 09, 2013 1:01 PM To: yocto@yoctoproject.org Subject: [yocto] [PATCH v3] Separate remote logic from GUI login in TerminalHandler implementation - TerminalHandler is used by both Perf and Latencytop handlers for running remote commands and for holding the settings dialog - in order to separate the common functionality for running remote commands we need to separate the GUI from the utilitary funtions - create DialogHandler that extends TerminalHandler to hold the GUI settings - clean-up code in TerminalHandler: - remove references to settings dialog - modify execute method and keep only remote control code - change Perf and Latencytop's parent to DialogHandler Signed-off-by: Ioana Grigoropol --- .../sdk/remotetools/actions/DialogHandler.java | 40 + .../sdk/remotetools/actions/LatencytopHandler.java |2 +- .../yocto/sdk/remotetools/actions/PerfHandler.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java | 93 ++-- 4 files changed, 69 insertions(+), 68 deletions(-) create mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java new file mode 100644 index 000..67d33ba --- /dev/null +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/DialogHandler.java @@ -0,0 +1,40 @@ +/** +* + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License +v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation +*** +/ package org.yocto.sdk.remotetools.actions; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.rse.core.model.IHost; import +org.eclipse.ui.IWorkbenchWindow; import +org.eclipse.ui.handlers.HandlerUtil; + +abstract public class DialogHandler extends TerminalHandler { + + protected BaseSettingDialog setting; + + abstract protected String getDialogTitle(); + + protected void initialize(ExecutionEvent event) throws ExecutionException{ + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + shell = window.getShell(); + setting = new SimpleSettingDialog(shell, getDialogTitle(), getConnnectionName()); + } + + @Override + public void execute(ExecutionEvent event) throws ExecutionException { + initialize(event); + + if(setting.open() == BaseSettingDialog.OK) { + IHost currentHost = setting.getHost(); + execute(currentHost); + } + } +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java index ef77957..e931388 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/LatencytopHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/LatencytopHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class LatencytopHandler extends TerminalHandler { +public class LatencytopHandler extends DialogHandler { private static String initCmd="export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin; cd; sudo latencytop\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java index 949bd46..f3f9e49 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/PerfHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ac +++ tions/PerfHandler.java @@ -11,7 +11,7 @@ package org.yocto.sdk.remotetools.actions; -public class PerfHandler extends TerminalHandler { +public class PerfHandler extends DialogHandler { private static String initCmd="cd; perf\r"; diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/Ter
[yocto] [PATCH 0/6] Separate org.yocto.remote.utils plugin
- initial commit & populate for remote utils common plugin Ioana Grigoropol (6): Initial commit for separate remote utilities plugin Move RSEHelper to a separate plugin Move RemoteShellExec to separate plugin Move ShellSession to org.yocto.remote.utils separate plugin Move CommonHelper to org.yocto.remote.utils separate plugin Move TerminalHandler to org.yocto.remote.utils plugins/org.yocto.remote.utils/.classpath |7 + plugins/org.yocto.remote.utils/.project| 28 ++ .../.settings/org.eclipse.jdt.core.prefs |7 + .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 28 ++ plugins/org.yocto.remote.utils/build.properties|4 + .../org.yocto.remote.utils/resources/ust_tar.sh| 19 + .../org.yocto.remote.utils/resources/yocto_tool.sh | 125 ++ .../org.yocto.remote.utils/resources/yocto_ust.sh | 35 ++ .../src/org/yocto/remote/utils/Activator.java | 62 +++ .../src/org/yocto/remote/utils/CommonHelper.java | 46 +++ .../src/org/yocto/remote/utils/Messages.java | 35 ++ .../src/org/yocto/remote/utils/RSEHelper.java | 344 .../org/yocto/remote/utils/RemoteShellExec.java| 140 +++ .../src/org/yocto/remote/utils/ShellSession.java | 327 +++ .../org/yocto/remote/utils/TerminalHandler.java| 128 ++ .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF |3 +- .../org.yocto.sdk.remotetools/resources/ust_tar.sh | 19 - .../resources/yocto_tool.sh| 125 -- .../resources/yocto_ust.sh | 35 -- .../org/yocto/sdk/remotetools/CommonHelper.java| 44 -- .../src/org/yocto/sdk/remotetools/RSEHelper.java | 419 .../org/yocto/sdk/remotetools/ShellSession.java| 341 .../yocto/sdk/remotetools/actions/BaseModel.java |4 +- .../sdk/remotetools/actions/BaseSettingDialog.java |2 +- .../sdk/remotetools/actions/DialogHandler.java |1 + .../sdk/remotetools/actions/OprofileModel.java |2 +- .../sdk/remotetools/actions/SystemtapModel.java|2 +- .../actions/SystemtapSettingDialog.java|2 +- .../sdk/remotetools/actions/TerminalHandler.java | 128 -- .../sdk/remotetools/remote/RemoteShellExec.java| 149 --- 30 files changed, 1344 insertions(+), 1267 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/.classpath create mode 100644 plugins/org.yocto.remote.utils/.project create mode 100644 plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF create mode 100644 plugins/org.yocto.remote.utils/build.properties create mode 100755 plugins/org.yocto.remote.utils/resources/ust_tar.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_tool.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_ust.sh create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RSEHelper.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java delete mode 100755 plugins/org.yocto.sdk.remotetools/resources/ust_tar.sh delete mode 100755 plugins/org.yocto.sdk.remotetools/resources/yocto_tool.sh delete mode 100755 plugins/org.yocto.sdk.remotetools/resources/yocto_ust.sh delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 1/6] Initial commit for separate remote utilities plugin
Signed-off-by: Ioana Grigoropol --- plugins/org.yocto.remote.utils/.classpath |7 +++ plugins/org.yocto.remote.utils/.project| 28 + .../.settings/org.eclipse.jdt.core.prefs |7 +++ .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 10 plugins/org.yocto.remote.utils/build.properties|4 ++ .../src/org/yocto/remote/utils/Activator.java | 60 6 files changed, 116 insertions(+) create mode 100644 plugins/org.yocto.remote.utils/.classpath create mode 100644 plugins/org.yocto.remote.utils/.project create mode 100644 plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF create mode 100644 plugins/org.yocto.remote.utils/build.properties create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java diff --git a/plugins/org.yocto.remote.utils/.classpath b/plugins/org.yocto.remote.utils/.classpath new file mode 100644 index 000..ad32c83 --- /dev/null +++ b/plugins/org.yocto.remote.utils/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.yocto.remote.utils/.project b/plugins/org.yocto.remote.utils/.project new file mode 100644 index 000..29a2a5a --- /dev/null +++ b/plugins/org.yocto.remote.utils/.project @@ -0,0 +1,28 @@ + + + org.yocto.remote.utils + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs b/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000..f42de36 --- /dev/null +++ b/plugins/org.yocto.remote.utils/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF new file mode 100644 index 000..16c86e9 --- /dev/null +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Utils +Bundle-SymbolicName: org.yocto.remote.utils +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: org.yocto.remote.utils.Activator +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/plugins/org.yocto.remote.utils/build.properties b/plugins/org.yocto.remote.utils/build.properties new file mode 100644 index 000..34d2e4d --- /dev/null +++ b/plugins/org.yocto.remote.utils/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java new file mode 100644 index 000..047d900 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Activator.java @@ -0,0 +1,60 @@ +/*** + * Copyright (c) 2013 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.yocto.remote.utils"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** +* The constructor +*/ + public Activator() { + } + + /* +* (non-Javado
[yocto] [PATCH 0/2] Clean-up and dependencies removal
- clean-up and dependencies to RSE api from org.yocto.sdk.remotetools Ioana Grigoropol (2): Remove unused TCFTerminalConnectors Remove all plugin dependencies to RSE APi from remote tools plugin .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF | 10 +- .../remotetools/views/TCFTerminalConnector.java| 49 -- .../views/TCFTerminalConnectorImpl.java| 98 3 files changed, 4 insertions(+), 153 deletions(-) delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 1/2] Remove unused TCFTerminalConnectors
- removed TCFTerminalConnector and TCFTerminalConnectorImpl since there are no usages of this classes Signed-off-by: Ioana Grigoropol --- .../remotetools/views/TCFTerminalConnector.java| 49 -- .../views/TCFTerminalConnectorImpl.java| 98 2 files changed, 147 deletions(-) delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java deleted file mode 100644 index 6239136..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnector.java +++ /dev/null @@ -1,49 +0,0 @@ -/ - * Copyright (c) 2008, 2009 MontaVista Software, Inc. and others - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Anna Dushistova (MontaVista) - initial API and implementation - * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point - / -package org.yocto.sdk.remotetools.views; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; - -public class TCFTerminalConnector extends TCFTerminalConnectorImpl implements ITerminalConnector { - -public TCFTerminalConnector(IHost host) { - super(host); -} - -public String getId() { -return "yocto_tcf_internal_connector"; //$NON-NLS-1$ -} - -public String getInitializationErrorMessage() { -return null; -} - -public String getName() { -return "yocto_tcf_internal_connector"; -} - -public boolean isHidden() { - return true; -} - -public boolean isInitialized() { -return true; -} - - public Object getAdapter(Class adapterType) { - if (adapterType.isInstance(this)) - return this; - return Platform.getAdapterManager().getAdapter(this, adapterType); - } - -} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java deleted file mode 100644 index 105ca62..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/views/TCFTerminalConnectorImpl.java +++ /dev/null @@ -1,98 +0,0 @@ -/ - * Copyright (c) 2008 MontaVista Software, Inc. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Anna Dushistova (MontaVista) - initial API and implementation - * Yu-Fen Kuo (MontaVista) - [227572] RSE Terminal doesn't reset the "connected" state when the shell exits - * Anna Dushistova (MontaVista) - [228577] [rseterminal] Clean up RSE Terminal impl - / -package org.yocto.sdk.remotetools.views; - -import java.io.InputStream; -import java.io.OutputStream; - -import org.eclipse.rse.core.model.IHost; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; - -public class TCFTerminalConnectorImpl extends TerminalConnectorImpl { - -private OutputStream fOutputStream; -private InputStream fInputStream; -IHost host; -//TODOprivate RSETerminalConnectionThread fConnection; -//TODOprivate ITerminalShell shell; - -public TCFTerminalConnectorImpl(IHost host) { -super(); -this.host = host; -} -/* TODO -public void connect(ITerminalControl control) { - super.connect(control); -fConnection = new RSETerminalConnectionThread(this, control); -fConnection.start(); -} - -public void doDisconnect() { -fConnection.disconnect(); -if (getInputStream() != null) { -try { -getInputStream().close(); -} catch (Exception exception) { - RSECorePlugin.getDefault().getLogger().logError("Error while
[yocto] [PATCH 2/2] Remove all plugin dependencies to RSE APi from remote tools plugin
- removed all plugin dependencies to the RSE API & kept only the ones needed for GUI actions and Terminal views Signed-off-by: Ioana Grigoropol --- .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF b/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF index c34ad9e..5147c1a 100644 --- a/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.sdk.remotetools/META-INF/MANIFEST.MF @@ -7,16 +7,10 @@ Bundle-Activator: org.yocto.sdk.remotetools.Activator Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.rse.core;bundle-version="3.0.0", - org.eclipse.rse.services;bundle-version="3.0.0", - org.eclipse.rse.subsystems.files.core;bundle-version="3.0.0", - org.eclipse.rse.ui;bundle-version="3.0.0", org.yocto.sdk.ide, - org.eclipse.tm.terminal;bundle-version="3.0.1", - org.eclipse.rse.subsystems.terminals.core;bundle-version="[1.0.0,2.0.0)", org.eclipse.rse.terminals.ui;bundle-version="1.0.100", org.eclipse.cdt;bundle-version="7.0.0", org.eclipse.linuxtools.tmf.core;bundle-version="0.4.0", - org.eclipse.rse.subsystems.shells.core, org.eclipse.ui.ide;bundle-version="3.8.0", org.eclipse.ui.console;bundle-version="3.5.100" Bundle-ActivationPolicy: lazy @@ -24,6 +18,10 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: org.eclipse.core.resources, org.eclipse.debug.internal.ui, org.eclipse.rse.shells.ui, + org.eclipse.rse.ui.actions, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.control.actions, + org.eclipse.tm.internal.terminal.provisional.api, org.eclipse.ui.forms.widgets, org.yocto.remote.utils Bundle-Vendor: %Bundle-Vendor -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 2/6] Move RSEHelper to a separate plugin
- move RSEHelper to newly created separate plugin org.yocto.remote.utils - clean-up RSEHelper code by removing all unused methods - moved message strings that are relevant for this plugin to the corresponding class - modify remotetools plugin to use RSEHelper from org.yocto.remote.utils - add plugin resources need for RSEHelper Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF| 11 + .../org.yocto.remote.utils/resources/ust_tar.sh| 19 + .../org.yocto.remote.utils/resources/yocto_tool.sh | 125 ++ .../org.yocto.remote.utils/resources/yocto_ust.sh | 35 ++ .../src/org/yocto/remote/utils/Activator.java |4 +- .../src/org/yocto/remote/utils/Messages.java | 35 ++ .../src/org/yocto/remote/utils/RSEHelper.java | 344 .../org.yocto.sdk.remotetools/META-INF/MANIFEST.MF |3 +- .../org.yocto.sdk.remotetools/resources/ust_tar.sh | 19 - .../resources/yocto_tool.sh| 125 -- .../resources/yocto_ust.sh | 35 -- .../src/org/yocto/sdk/remotetools/RSEHelper.java | 419 .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/actions/BaseSettingDialog.java |2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java|2 +- 16 files changed, 578 insertions(+), 604 deletions(-) create mode 100755 plugins/org.yocto.remote.utils/resources/ust_tar.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_tool.sh create mode 100755 plugins/org.yocto.remote.utils/resources/yocto_ust.sh create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/Messages.java create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RSEHelper.java delete mode 100755 plugins/org.yocto.sdk.remotetools/resources/ust_tar.sh delete mode 100755 plugins/org.yocto.sdk.remotetools/resources/yocto_tool.sh delete mode 100755 plugins/org.yocto.sdk.remotetools/resources/yocto_ust.sh delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/RSEHelper.java diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index 16c86e9..6c4fb35 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -8,3 +8,14 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Import-Package: org.eclipse.rse.core, + org.eclipse.rse.core.model, + org.eclipse.rse.core.subsystems, + org.eclipse.rse.services, + org.eclipse.rse.services.files, + org.eclipse.rse.services.shells, + org.eclipse.rse.subsystems.files.core.servicesubsystem, + org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, + org.eclipse.rse.subsystems.terminals.core +Export-Package: org.yocto.remote.utils +>>> 2504c89... Move RSEHelper to a separate plugin diff --git a/plugins/org.yocto.remote.utils/resources/ust_tar.sh b/plugins/org.yocto.remote.utils/resources/ust_tar.sh new file mode 100755 index 000..20a8039 --- /dev/null +++ b/plugins/org.yocto.remote.utils/resources/ust_tar.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +#set PATH to include sbin dirs +export PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" + +if [ ! -d "$@" ] || [ -z "$@" ]; then + exit 1 +fi + +DATESTRING="$(date +%Y%m%d%H%M%S%N)" +BASENAME=`basename $@` +DATAFILE=/tmp/${BASENAME}-${DATESTRING}.tar +cd $@ +cd .. + +tar -cf ${DATAFILE} ${BASENAME} &> /dev/null || exit $? + +echo -e "ustfile:$DATAFILE\n" + diff --git a/plugins/org.yocto.remote.utils/resources/yocto_tool.sh b/plugins/org.yocto.remote.utils/resources/yocto_tool.sh new file mode 100755 index 000..099e481 --- /dev/null +++ b/plugins/org.yocto.remote.utils/resources/yocto_tool.sh @@ -0,0 +1,125 @@ +#!/bin/sh + +help () +{ + echo "Usage $0 command [options] application [application argument]" + echo "command:" + echo " start - start an application" + echo " stop - stop an application" + echo " restart - restart an application" + echo "" + echo "options: -d | -l " + echo " -d - start an application as a singleton daemon" + echo " -l - redirect the standard output/error in the the file" + echo " note: Option -d and -l are exclusive to each other" + exit 1 +} + +killproc() {# kill the named process(es) +pid=`/bin/pidof $1` +[ "x$pid" != "x" ] && kill $pid +} + +start () +{ +pid=`/bin/pidof $APP` +[ "x$pid" != "x" ] && return 0 + +if [ "x$DAEMON" != "x" ]; then +if [ "x$APPARG" != "x" ]; then +start-stop-daemon -S -b --oknodo -x $APP -- $APPARG +else +start-stop-daemon -S -b --oknodo -x $APP +fi + +#wait for sometime for the backend app to bring up & da
[yocto] [PATCH 4/6] Move ShellSession to org.yocto.remote.utils separate plugin
- ShellSession is used as a wrapper for a remote shell used for running commands on a remote machine with bitbake environment - move ShellSession org.yocto.remote.plugin since it is part of remote utilities - remove shell session class from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/remote/utils/ShellSession.java | 327 +++ .../org/yocto/sdk/remotetools/ShellSession.java| 341 .../sdk/remotetools/actions/SystemtapModel.java|2 +- 3 files changed, 328 insertions(+), 342 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/ShellSession.java diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java new file mode 100644 index 000..751933f --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java @@ -0,0 +1,327 @@ +/* + * Copyright (c) 2009 Ken Gilmer + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Ken Gilmer - initial API and implementation + * Jessica Zhang - Adopt for Yocto Tools plugin + ***/ +package org.yocto.remote.utils; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.lang.reflect.InvocationTargetException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.eclipse.jface.dialogs.MessageDialog; + +public class ShellSession { + /** +* Bash shell +*/ + public static final int SHELL_TYPE_BASH = 1; + /** +* sh shell +*/ + public static final int SHELL_TYPE_SH = 2; + private volatile boolean interrupt = false; + /** +* String used to isolate command execution +*/ + public static final String TERMINATOR = "build$"; + public static final String LT = System.getProperty("line.separator"); + private Process process; + + private OutputStream pos = null; + + private String shellPath = null; + private final String initCmd; + private final File root; + + private OutputStreamWriter out; + + public static String getFilePath(String file) throws IOException { + File f = new File(file); + + if (!f.exists() || f.isDirectory()) { + throw new IOException("Path passed is not a file: " + file); + } + + StringBuffer sb = new StringBuffer(); + + String elems[] = file.split(File.separator); + + for (int i = 0; i < elems.length - 1; ++i) { + sb.append(elems[i]); + sb.append(File.separator); + } + + return sb.toString(); + } + + public ShellSession(int shellType, File root, String initCmd, OutputStream out) throws IOException { + this.root = root; + this.initCmd = initCmd; + if (out == null) { + this.out = new OutputStreamWriter(null); + } else { + this.out = new OutputStreamWriter(out); + } + if (shellType == SHELL_TYPE_SH) { + shellPath = "/bin/sh"; + } + shellPath = "/bin/bash"; + + initializeShell(); + } + + private void initializeShell() throws IOException { + process = Runtime.getRuntime().exec(shellPath); + pos = process.getOutputStream(); + + if (root != null) { + execute("cd " + root.getAbsolutePath()); + } + + if (initCmd != null) { + execute("source " + initCmd); + } + } + + synchronized + public String execute(String command, int[] retCode) throws IOException { + String errorMessage = null; + + interrupt = false; + out.write(command); + out.write(LT); + + sendToProcessAndTerminate(command); + + if (process.getErrorStream().available() > 0) { + byte[] msg = new byte[process.getErrorStream().available
[yocto] [PATCH 3/6] Move RemoteShellExec to separate plugin
- RemoteShellExec is a wrapper over a remote executiong of a command in a shell and it belongs to org.yocto.remote.utils plugin - remove RemoteShellExec from remotetools plugin and add it to org.yocto.remote.utils - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org/yocto/remote/utils/RemoteShellExec.java| 140 ++ .../yocto/sdk/remotetools/actions/BaseModel.java |2 +- .../sdk/remotetools/remote/RemoteShellExec.java| 149 3 files changed, 141 insertions(+), 150 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/remote/RemoteShellExec.java diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java new file mode 100644 index 000..48b4f4d --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/RemoteShellExec.java @@ -0,0 +1,140 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.rse.core.model.IHost; + +public class RemoteShellExec { + + public static final int +STATE_NULL = 0, +STATE_RUNNING = 1, +STATE_EXITED = 2; + + private final String command; + private final IHost host; + + private InputStream fInStream; +private OutputStream fOutStream; +private InputStream fErrStream; +private Process remoteShellProcess; + + private int exitCode = 0; + private int status = STATE_NULL; + + private final String RETURN_VALUE_TAG = "org.yocto.sdk.remotetools.RVTAG"; + private final String RETURN_VALUE_CMD = ";echo \"" + RETURN_VALUE_TAG + "$?\""; + + public RemoteShellExec(IHost host, String command) { + assert(host != null); + this.host = host; + this.command = command; + } + + public int getStatus() { + return status; + } + + public int getExitCode() { + return exitCode; + } + + private void reset() { + fInStream = null; + fOutStream = null; + fErrStream = null; + + remoteShellProcess = null; + exitCode = 0; + status = STATE_NULL; + } + + public InputStream getInputStream() { +return fInStream; +} + +public OutputStream getOutputStream() { +return fOutStream; +} + +public InputStream getErrStream() { +return fErrStream; +} + + public synchronized void start(String prelaunchCmd, String argument, IProgressMonitor monitor) throws Exception { + if(status == STATE_RUNNING) + return; + + reset(); + argument = (argument == null ? RETURN_VALUE_CMD : argument + RETURN_VALUE_CMD); + remoteShellProcess = RSEHelper.remoteShellExec(this.host, prelaunchCmd, this.command, argument, monitor); + fInStream = remoteShellProcess.getInputStream(); + fOutStream = remoteShellProcess.getOutputStream(); + fErrStream = remoteShellProcess.getErrorStream(); + status = STATE_RUNNING; + } + +public synchronized void terminate() throws Exception { +if(status != STATE_RUNNING || remoteShellProcess != null) +return; + +remoteShellProcess.destroy(); +reset(); +} + +public int waitFor(IProgressMonitor monitor) throws InterruptedException { +while(status == STATE_RUNNING) { +if(monitor != null) { + if(monitor.isCanceled()) { + throw new InterruptedException("User Cancelled"); + } +} + +try { +remoteShellProcess.waitFor(); +}catch(InterruptedException e){ +//get the return v
[yocto] [PATCH 6/6] Move TerminalHandler to org.yocto.remote.utils
- move TerminalHandler to separate plugin since it performs actions that are best suited for remote utilities - remove TerminalHandler from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF|9 +- .../org/yocto/remote/utils/TerminalHandler.java| 128 .../sdk/remotetools/actions/DialogHandler.java |1 + .../sdk/remotetools/actions/TerminalHandler.java | 128 4 files changed, 137 insertions(+), 129 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index 6c4fb35..a9b65f7 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -11,11 +11,18 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: org.eclipse.rse.core, org.eclipse.rse.core.model, org.eclipse.rse.core.subsystems, + org.eclipse.rse.internal.terminals.ui, + org.eclipse.rse.internal.terminals.ui.views, org.eclipse.rse.services, org.eclipse.rse.services.files, org.eclipse.rse.services.shells, + org.eclipse.rse.services.terminals, org.eclipse.rse.subsystems.files.core.servicesubsystem, org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, - org.eclipse.rse.subsystems.terminals.core + org.eclipse.rse.subsystems.terminals.core, + org.eclipse.rse.subsystems.terminals.core.elements, + org.eclipse.rse.ui, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.provisional.api Export-Package: org.yocto.remote.utils >>> 2504c89... Move RSEHelper to a separate plugin diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java new file mode 100644 index 000..e28ae79 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java @@ -0,0 +1,128 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.internal.terminals.ui.TerminalServiceHelper; +import org.eclipse.rse.internal.terminals.ui.views.RSETerminalConnector; +import org.eclipse.rse.internal.terminals.ui.views.TerminalViewTab; +import org.eclipse.rse.internal.terminals.ui.views.TerminalViewer; +import org.eclipse.rse.internal.terminals.ui.views.TerminalsUI; +import org.eclipse.rse.services.terminals.ITerminalShell; +import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystem; +import org.eclipse.rse.subsystems.terminals.core.elements.TerminalElement; +import org.eclipse.rse.ui.SystemBasePlugin; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; + +abstract public class TerminalHandler extends AbstractHandler { + + + protected Shell shell; + + protected String changeTerm = "export TERM=vt100;"; + + abstract protected String getInitCmd(); + abstract protected String getConnnectionName(); + abstract protected String getDialogTitle(); + + protected ITerminalShell getTerminalShellFromTab(CTabItem item) { +ITerminalShell terminalShell = null; +ITerminalViewControl terminalViewControl = (ITerminalViewControl) item +.getData(TerminalViewTab.DATA_KEY_CONTROL); +ITerminalConnector terminalConnector = terminalViewControl +.getTerminalConnector(); +if (terminalConnector instanceof RSETerminalConnector) { +
[yocto] [PATCH 5/6] Move CommonHelper to org.yocto.remote.utils separate plugin
- common helper is better suited to org.yocto.remote.utils since it is used for: - running commands - displaying error dialogs - remove common helper from remote tools plugin and add it to a separated plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/remote/utils/CommonHelper.java | 46 .../org/yocto/sdk/remotetools/CommonHelper.java| 44 --- .../sdk/remotetools/actions/OprofileModel.java |2 +- .../actions/SystemtapSettingDialog.java|2 +- .../sdk/remotetools/actions/TerminalHandler.java |2 +- 5 files changed, 49 insertions(+), 47 deletions(-) create mode 100644 plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java delete mode 100644 plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java diff --git a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java new file mode 100644 index 000..c01e866 --- /dev/null +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/CommonHelper.java @@ -0,0 +1,46 @@ +/*** + * Copyright (c) 2010 Intel Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel - initial API and implementation + ***/ +package org.yocto.remote.utils; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.swt.widgets.Display; + +public class CommonHelper { + + static public boolean isExecAvail(String exec) { + boolean ret = false; + try { + Process p = Runtime.getRuntime().exec(new String[] {"which", exec}); + p.waitFor(); + if(p.exitValue() == 0) { + ret = true; + } + } catch (Exception e) { + e.printStackTrace(); + } + return ret; + } + + public static void showErrorDialog(final String dialogTitle, final String errorMessage, final String reason) { + //needs to be run in the ui thread otherwise swt throws invalid thread access + Display.getDefault().syncExec(new Runnable() { + @Override + public void run() { + ErrorDialog.openError(null, dialogTitle, errorMessage, + new Status(IStatus.ERROR,Activator.PLUGIN_ID,reason)); + } + }); + + } + +} diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java deleted file mode 100644 index 72a5dfd..000 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/CommonHelper.java +++ /dev/null @@ -1,44 +0,0 @@ -/*** - * Copyright (c) 2010 Intel Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Intel - initial API and implementation - ***/ -package org.yocto.sdk.remotetools; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.swt.widgets.Display; - -public class CommonHelper { - - static public boolean isExecAvail(String exec) { - boolean ret=false; - try { - Process p=Runtime.getRuntime().exec(new String[] {"which",exec}); - p.waitFor(); - if(p.exitValue()==0) { - ret=true; - } - } catch (Exception e) { - e.printStackTrace(); - } - return ret; - } - - public static void showErrorDialog(final String dialogTitle, final String errorMessage, final String reason) { - //needs to be run in the ui thread otherwise swt throws invalid thread access -