SSH External -o BatchMode yes

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

SSH External -o BatchMode yes

Tim Riley-6
 I have run into a situation with the wagon-ssh-external version 1.0-beta-5
and maven 2.1.0. Before I attempt to fix the problem myself I wanted to ask
here if there is another solution.

I'm currently using Reflection Secure IT, which requires all SSH -o options
be placed in quotations unfortunately I cannot deviate from this technology.
The problem is that ScpExternalWagon.java places the BatchMode option as an
argument without quotes resulting in a failing SSH command. The way I see it
I can branch the code and attempt to add another wagon provider, but I have
yet to find decent documentation as how this is done (If you know of any
please forward it my way). My other option and my prefered option is to
submit a patch that gets rolled into the nightly build of the wagon
provider.

Line 251 of ScpExternalWagon.java
   cl.createArgument().setValue( "BatchMode yes" );

Results in...
ssh -o BatchMode yes [REST OF COMMAND]

What I need is...
ssh -o "BatchMode yes" [REST OF COMMAND]

Any help would be much appreciated as this is a time critical issue for me
and the success of maven at my organization.

Sincerely,
Tim
Reply | Threaded
Open this post in threaded view
|

Re: SSH External -o BatchMode yes

brettporter
Administrator

On 14/04/2009, at 11:30 AM, Tim Riley wrote:

> I have run into a situation with the wagon-ssh-external version 1.0-
> beta-5
> and maven 2.1.0. Before I attempt to fix the problem myself I wanted  
> to ask
> here if there is another solution.
>
> I'm currently using Reflection Secure IT, which requires all SSH -o  
> options
> be placed in quotations unfortunately I cannot deviate from this  
> technology.

One quick workaround might be to put an intervening script in between  
maven and the PATH that corrects the problem, something like: http://blogs.exist.com/bporter/2008/02/25/working-around-non-interactive-problems-in-leopards-subversion/

> My other option and my prefered option is to
> submit a patch that gets rolled into the nightly build of the wagon
> provider.

This would be best - certainly submit the issue and patch to be rolled  
in. Adding the quotes is not harmful to openssh, so I'd say it's ok to  
add them for all cases.

I wouldn't recommend using a snapshot though - instead it's best if  
you release the library internally (1.0-beta-5-MYCOMPANY-1) and use  
that. This assumes you've set up your own repository and the builds  
all use it.

Adding the following will then override the Maven one:
<build>
   <extensions>
     <extension>
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-ssh-external</artifactId>
       <version>1.0-beta-5-MYCOMPANY-1</version>
     </extension>
   </extensions>
</build>

Once the Wagon is formally released you can replace the version with  
the new one.

Cheers,
Brett

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]