diff --git a/rse/plugins/org.eclipse.rse.services.ssh/META-INF/MANIFEST.MF b/rse/plugins/org.eclipse.rse.services.ssh/META-INF/MANIFEST.MF index 553bdbb5157..570f9e745fd 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/META-INF/MANIFEST.MF +++ b/rse/plugins/org.eclipse.rse.services.ssh/META-INF/MANIFEST.MF @@ -1,17 +1,14 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: %plugin.name +Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.services.ssh;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-Activator: org.eclipse.rse.services.ssh.Activator -Bundle-Vendor: Eclipse.org +Bundle-Vendor: %providerName Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, +Require-Bundle: org.eclipse.core.runtime, org.eclipse.rse.services, - com.jcraft.jsch, - org.eclipse.team.cvs.ui, - org.eclipse.team.cvs.ssh2 + com.jcraft.jsch;bundle-version="[0.1.28,2.0.0)" Eclipse-LazyStart: true Export-Package: org.eclipse.rse.services.ssh, org.eclipse.rse.services.ssh.files, diff --git a/rse/plugins/org.eclipse.rse.services.ssh/about.html b/rse/plugins/org.eclipse.rse.services.ssh/about.html index 12a49f13a6d..177fd5f1c9b 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/about.html +++ b/rse/plugins/org.eclipse.rse.services.ssh/about.html @@ -24,5 +24,9 @@ provided with the Content. If no such license exists, contact the Redistributor indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.

+

Trademarks

+

SSH is a registered trademark and Secure Shell is a trademark of +SSH Communications Security Corp (http://www.ssh.com)

+ diff --git a/rse/plugins/org.eclipse.rse.services.ssh/build.properties b/rse/plugins/org.eclipse.rse.services.ssh/build.properties index b603bdc722b..9f72b28e93e 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/build.properties +++ b/rse/plugins/org.eclipse.rse.services.ssh/build.properties @@ -1,12 +1,11 @@ -bin.includes = about.html,\ - icons/,\ - META-INF/,\ - plugin.properties,\ - plugin.xml,\ - readme.txt,\ +bin.includes = META-INF/,\ + .,\ + about.html,\ about.ini,\ about.mappings,\ about.properties,\ + plugin.properties,\ + readme.txt,\ eclipse32.gif src.includes = readme.txt jars.compile.order = . diff --git a/rse/plugins/org.eclipse.rse.services.ssh/plugin.properties b/rse/plugins/org.eclipse.rse.services.ssh/plugin.properties index 7a0580320d8..5baa79d1a52 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/plugin.properties +++ b/rse/plugins/org.eclipse.rse.services.ssh/plugin.properties @@ -9,4 +9,6 @@ # Martin Oberhuber - initial API and implementation ################################################################################ -plugin.name = RSE SSH Services +pluginName = RSE SSH Services +providerName = Eclipse.org + \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/Activator.java b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/Activator.java index f4103701368..a0983d23813 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/Activator.java +++ b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/Activator.java @@ -11,15 +11,14 @@ package org.eclipse.rse.services.ssh; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.core.runtime.Plugin; import org.osgi.framework.BundleContext; /** * The main plugin class to be used in the desktop. */ -public class Activator extends AbstractUIPlugin { +public class Activator extends Plugin { //The shared instance. private static Activator plugin; @@ -28,6 +27,7 @@ public class Activator extends AbstractUIPlugin { * The constructor. */ public Activator() { + super(); plugin = this; } @@ -56,15 +56,4 @@ public class Activator extends AbstractUIPlugin { public static Activator getDefault() { return plugin; } - - /** - * Returns an image descriptor for the image file at the given - * plug-in relative path. - * - * @param path the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.rse.services.ssh", path); - } } diff --git a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpFileService.java b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpFileService.java index 2da95134cbd..a9daa26ac69 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpFileService.java +++ b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpFileService.java @@ -133,11 +133,21 @@ public class SftpFileService extends AbstractFileService implements IFileService return (IHostFile[])results.toArray(new IHostFile[results.size()]); } - private static SftpHostFile makeHostFile(String parentPath, String fileName, SftpATTRS attrs) { + private SftpHostFile makeHostFile(String parentPath, String fileName, SftpATTRS attrs) { SftpHostFile node = new SftpHostFile(parentPath, fileName, attrs.isDir(), false, attrs.isLink(), attrs.getMTime(), attrs.getSize()); if (attrs.getExtended()!=null) { node.setExtendedData(attrs.getExtended()); } + //TODO remove comments as soon as jsch-0.1.29 is available + //if (node.isLink()) { + // try { + // //Note: readlink() is supported only with jsch-0.1.29 or higher. + // //By catching the exception we remain backward compatible. + // String linkTarget=fChannelSftp.readlink(node.getAbsolutePath()); + // node.setLinkTarget(linkTarget); + // //TODO: Classify the type of resource linked to as file, folder or broken link + // } catch(Exception e) {} + //} return node; } diff --git a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpHostFile.java b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpHostFile.java index 6c25c3b7828..565667a0ecc 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpHostFile.java +++ b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpHostFile.java @@ -32,6 +32,7 @@ public class SftpHostFile implements IHostFile { private long fLastModified = 0; private long fSize = 0; private boolean fIsLink = false; + private String fLinkTarget; private String[] fExtended = null; //TODO just re-use or extend FTPHostFile instead of copying here? @@ -126,6 +127,14 @@ public class SftpHostFile implements IHostFile { return fIsLink; } + public void setLinkTarget(String linkTarget) { + fLinkTarget = linkTarget; + } + + public String getLinkTarget() { + return fLinkTarget; + } + /** Extended data: name:value pairs */ public void setExtendedData(String[] extended) { fExtended = extended; @@ -141,6 +150,9 @@ public class SftpHostFile implements IHostFile { if (isLink()) { //TODO: read symbolic link target and its type to provide e.g. "symbolic link(directory):/export4/opt result = "symbolic link"; //$NON-NLS-1$ + if (fLinkTarget!=null) { + result += "(unknown):" + fLinkTarget; //$NON-NLS-1$ + } } else if (isFile()) { result = "file"; //$NON-NLS-1$ } else if (isDirectory()) { diff --git a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/shell/SshHostShell.java b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/shell/SshHostShell.java index ec6b0edbe5a..02121b9817b 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/shell/SshHostShell.java +++ b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/shell/SshHostShell.java @@ -20,13 +20,11 @@ import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; - import org.eclipse.rse.services.shells.AbstractHostShell; import org.eclipse.rse.services.shells.IHostShellOutputReader; import org.eclipse.rse.services.ssh.ISshSessionProvider; import com.jcraft.jsch.Channel; -import com.jcraft.jsch.Session; /** * A Shell subsystem for SSH. diff --git a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/shell/SshShellService.java b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/shell/SshShellService.java index 5eaec06130f..74f9d156e04 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/shell/SshShellService.java +++ b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/shell/SshShellService.java @@ -23,8 +23,6 @@ import org.eclipse.rse.services.shells.IShellService; import org.eclipse.rse.services.ssh.ISshService; import org.eclipse.rse.services.ssh.ISshSessionProvider; -import com.jcraft.jsch.Session; - /** * A Shell Services for ssh. * Adapted from LocalShellService.