[yocto] [PATCH 1/3][eclipse-poky][mars] systemtap: Add button to browse to build folder.
Jose Lamego
jose.a.lamego at linux.intel.com
Wed Mar 16 10:51:50 PDT 2016
Ping
On 03/09/2016 05:22 PM, Jose Lamego wrote:
> From: Adrian Dudau <adrian.dudau at enea.com>
>
> Fixes [Yocto 4423]
> Porting commit a80114b5d1c8d774fd9271da48a38654321d4817 from
> the Juno branch.
>
> Signed-off-by: Jose Lamego <jose.a.lamego at linux.intel.com>
> ---
> .../src/org/yocto/remote/utils/ShellSession.java | 6 +++--
> .../src/org/yocto/sdk/remotetools/Messages.java | 1 +
> .../sdk/remotetools/actions/SystemtapHandler.java | 3 ++-
> .../sdk/remotetools/actions/SystemtapModel.java | 5 ++--
> .../actions/SystemtapSettingDialog.java | 28 ++++++++++++++++++++++
> .../org/yocto/sdk/remotetools/messages.properties | 3 ++-
> 6 files changed, 40 insertions(+), 6 deletions(-)
>
> 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
> index 4ac8001..2a4dbf5 100644
> --- 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
> @@ -46,6 +46,7 @@ public class ShellSession {
> private String shellPath = null;
> private final String initCmd;
> private final File root;
> + private final File builddir;
>
> private OutputStreamWriter out;
>
> @@ -68,8 +69,9 @@ public class ShellSession {
> return sb.toString();
> }
>
> - public ShellSession(int shellType, File root, String initCmd, OutputStream out) throws IOException {
> + public ShellSession(int shellType, File root, File builddir, String initCmd, OutputStream out) throws IOException {
> this.root = root;
> + this.builddir = builddir;
> this.initCmd = initCmd;
> if (out == null) {
> this.out = new OutputStreamWriter(null);
> @@ -93,7 +95,7 @@ public class ShellSession {
> }
>
> if (initCmd != null) {
> - execute("source " + initCmd);
> + execute("source " + initCmd + " " + builddir.getAbsolutePath());
> }
> }
>
> diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/Messages.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/Messages.java
> index 093118d..16f5dc8 100644
> --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/Messages.java
> +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/Messages.java
> @@ -40,6 +40,7 @@ public class Messages extends NLS {
> public static String TerminalViewer_text;
> //public static String Systemtap_KO_Text;
> public static String Metadata_Location;
> + public static String Builddir_Location;
> public static String User_ID;
> public static String Remote_User_ID;
> public static String Remote_Host;
> diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java
> index 79048aa..86c963f 100644
> --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java
> +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java
> @@ -53,6 +53,7 @@ public class SystemtapHandler extends AbstractHandler {
> if(setting.open() == BaseSettingDialog.OK) {
>
> String metadata_location = ((SystemtapSettingDialog)setting).getMetadataLocation();
> + String builddir_location = ((SystemtapSettingDialog)setting).getBuilddirLocation();
> String remote_host = ((SystemtapSettingDialog)setting).getRemoteHost();
> String user_id = ((SystemtapSettingDialog)setting).getUserID();
> String systemtap_script = ((SystemtapSettingDialog)setting).getSystemtapScript();
> @@ -66,7 +67,7 @@ public class SystemtapHandler extends AbstractHandler {
> if (terminalSubSystem != null) {
> TerminalsUI terminalsUI = TerminalsUI.getInstance();
> TerminalViewer terminalViewer = terminalsUI.activateTerminalsView();
> - SystemtapModel op = new SystemtapModel(metadata_location,remote_host, user_id, systemtap_script,
> + SystemtapModel op = new SystemtapModel(metadata_location,builddir_location,remote_host, user_id, systemtap_script,
> systemtap_args,window.getShell().getDisplay());
> try {
> op.setHost(host);
> diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapModel.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapModel.java
> index c769574..2a76bbd 100644
> --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapModel.java
> +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapModel.java
> @@ -37,6 +37,7 @@ public class SystemtapModel extends BaseModel {
>
> protected MessageConsole sessionConsole;
> private String metadata_location;
> + private String builddir_location;
> private String remote_host;
> private String user_id;
> private String systemtap_script;
> @@ -44,7 +45,7 @@ public class SystemtapModel extends BaseModel {
>
> Display display;
>
> - public SystemtapModel(String metadata_location, String remote_host, String user_id, String systemtap_script, String systemtap_args, Display display) {
> + public SystemtapModel(String metadata_location, String builddir_location, String remote_host, String user_id, String systemtap_script, String systemtap_args, Display display) {
> super(null, TASK_NAME, "", "");
> this.metadata_location = metadata_location;
> this.remote_host = remote_host;
> @@ -89,7 +90,7 @@ public class SystemtapModel extends BaseModel {
> throws InvocationTargetException, InterruptedException {
> try {
> ShellSession shell = new ShellSession(ShellSession.SHELL_TYPE_BASH,
> - new File(this.metadata_location),
> + new File(this.metadata_location), new File(this.builddir_location),
> DEFAULT_INIT_SCRIPT, sessionConsole.newOutputStream());
> boolean acceptedKey = shell.ensureKnownHostKey(user_id, remote_host);
> if (acceptedKey) {
> 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 2b90727..5c14c9a 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
> @@ -37,18 +37,21 @@ public class SystemtapSettingDialog extends Dialog {
> static protected String TITLE="Systemtap Crosstap";
> protected String title;
> protected String metadata_location;
> + protected String builddir_location;
> protected String systemtap_script;
> protected String user_id;
> protected String remote_host;
> protected String systemtap_args;
> protected boolean okPressed;
> protected Button metadataLocationBtn;
> + protected Button builddirLocationBtn;
> protected Button systemtapScriptBtn;
> protected Text userIDText;
> protected Text remoteHostText;
> protected Text systemtapArgsText;
> protected Text systemtapScriptText;
> protected Text metadataLocationText;
> + protected Text builddirLocationText;
>
> protected SystemtapSettingDialog(Shell parentShell, String title) {
> super(parentShell);
> @@ -74,6 +77,10 @@ public class SystemtapSettingDialog extends Dialog {
> public String getMetadataLocation() {
> return metadata_location;
> }
> +
> + public String getBuilddirLocation() {
> + return builddir_location;
> + }
>
> public String getRemoteHost() {
> return remote_host;
> @@ -119,6 +126,14 @@ public class SystemtapSettingDialog extends Dialog {
> metadataLocationBtn = addDirSelectButton(textContainer, metadataLocationText);
>
> label = new Label(projComp, SWT.NONE);
> + label.setText(Messages.Builddir_Location);
> + textContainer = new Composite(projComp, SWT.NONE);
> + textContainer.setLayout(new GridLayout(2, false));
> + textContainer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
> + builddirLocationText = (Text)addTextControl(textContainer, builddir_location);
> + builddirLocationBtn = addDirSelectButton(textContainer, builddirLocationText);
> +
> + label = new Label(projComp, SWT.NONE);
> label.setText(Messages.Remote_User_ID);
> userIDText = new Text(projComp, SWT.SINGLE | SWT.BORDER);
>
> @@ -219,6 +234,19 @@ public class SystemtapSettingDialog extends Dialog {
> CommonHelper.showErrorDialog("SystemTap Error", null, "The specified metadata location is not a directory!");
> return;
> }
> + builddir_location = builddirLocationText.getText();
> + if ( (builddir_location == null) || builddir_location.isEmpty()) {
> + CommonHelper.showErrorDialog("SystemTap Error", null, "Please specify your builddir location!");
> + return;
> + }
> + File builddir_dir = new File(builddir_location);
> + if (!builddir_dir.exists()) {
> + CommonHelper.showErrorDialog("SystemTap Error", null, "The specified builddir location does not exist!");
> + }
> + if (!metadata_dir.isDirectory()) {
> + CommonHelper.showErrorDialog("SystemTap Error", null, "The specified builddir location is not a directory!");
> + return;
> + }
> user_id = userIDText.getText();
> if ( (user_id == null) || user_id.isEmpty()) {
> CommonHelper.showErrorDialog("SystemTap Error", null, "Please specify remote user id!");
> diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/messages.properties b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/messages.properties
> index bc065b9..173897a 100644
> --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/messages.properties
> +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/messages.properties
> @@ -35,6 +35,7 @@ Powertop_ShowPid_Text=show pids in wakeups list
> TerminalViewer_text=This view is dedicated to Yocto Remote tools. Please use the "Yocto Remote Tools" menu to open the view.
> //Systemtap_KO_Text=Kernel Module:
> Metadata_Location=Metadata Location:
> +Builddir_Location=Build dir Location:
> User_ID=User ID:
> Remote_User_ID=Remote User ID:
> Remote_Host=Remote Host:
> @@ -46,4 +47,4 @@ LocalJob_Title=Launching local application
> ErrorLocalJob=Failed in launching local application
>
> RemoteShellExec_1=Executing {0} {1}
> -RemoteShellExec_2=Could not create the hostShellProcess.\n
> \ No newline at end of file
> +RemoteShellExec_2=Could not create the hostShellProcess.\n
>
--
Jose Lamego | OTC Embedded Platforms & Tools | GDC
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: OpenPGP digital signature
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20160316/80b029f0/attachment.pgp>
More information about the yocto
mailing list