Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.0-beta-5
-
Fix Version/s: None
-
Component/s: wagon-ssh-external
-
Labels:None
-
Environment:Maven 2.1.0 and Java 1.5.0_15
-
Number of attachments :
Description
I'm currently using Reflection Secure IT, which requires all SSH / SCP -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.
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]
Brett Porter
Has suggested the following workarounds...
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