Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[geclipse-dev] GSISSH

Hi

I've been working on the support of GSISSH in g-Eclipse the last few days 
since this was one of the requests the LRZ people had. The good news is, its 
basically implemented and works. The bad news is, I have no idea how to 
package it.

The implementation replaces a few classes of the com.jcraft.jsch plugin (and 
adds one new one), due to the structure of the jsch plugin there is no other 
way then to replace some classes (there are no extension points, since it is 
basically only a plugin providing the jsch library).

I first thought it would be possible by providing a fragment for the jsch 
plugin which provides the replacement classes and allows the use the use of 
the new classes and the unchanged ones from the same class loader.
I found out that replacing already existing classes using fragments is not as 
easy as i thought:
http://wiki.eclipse.org/FAQ_Can_fragments_be_used_to_patch_a_plug-in%3F
http://wiki.eclipse.org/Steps_to_use_Fragments_to_patch_a_plug-in
As you can see in the 2nd link this would also require changes in the host 
plugin (jsch) for adding a dummy jar file.

Since I found out that this will not really work I currently have a jsch 
plugin project in my workspace which in addition to the jsch jar file has my 
classes as source too, which are listed before the jar file in the bundle 
class path, so that they replace the original code.

The question for me now is how can we provide the gsissh functionality in g-
Eclipse? What will happen if we provide a com.jcraft.jsch plugin that provides 
the functionality (and maybe has a higher version number) - will Equinox use 
this one instead or will this just cause problems?

If somebody has an idea what to do here please comment.

Another thing that I do not know is how to commit the code into the CVS (as 
com.jcraft.jsch plugin?), somehow standalone (I guess a fragment is no option 
since this will not work)? (I guess not know in which form to commit it we 
have to solve the other problem first)


Cheers,
Thomas



Back to the top