You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by mi...@apache.org on 2005/02/19 15:20:41 UTC

cvs commit: maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext ScpExternalWagon.java

michal      2005/02/19 06:20:41

  Modified:    wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext
                        ScpExternalWagon.java
  Log:
  obeying both "annotations" and plexus style configuration for scp command
  
  Revision  Changes    Path
  1.2       +65 -10    maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java
  
  Index: ScpExternalWagon.java
  ===================================================================
  RCS file: /home/cvs/maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ScpExternalWagon.java	18 Feb 2005 04:45:52 -0000	1.1
  +++ ScpExternalWagon.java	19 Feb 2005 14:20:41 -0000	1.2
  @@ -51,6 +51,25 @@
   {
       public static int DEFAULT_SSH_PORT = 22;
   
  +    public static String COMMAND_KEY = "wagon.scp.executable";
  +
  +    public static String ARGS_KEY = "wagon.scp.args";
  +
  +
  +    /**
  +     * Plexus style way of configuring command.
  +     * @component.configuration
  +     *    default="scp"
  +     */
  +    private String command = "scp";
  +
  +    /**
  +     *  Plexus style way of configuring  args.
  +     * @component.configuration
  +     */
  +    private Strings args;
  +
  +
       // ----------------------------------------------------------------------
       //
       // ----------------------------------------------------------------------
  @@ -154,18 +173,24 @@
       {
           AuthenticationInfo authenticationInfo = getRepository().getAuthenticationInfo();
   
  -        String args = /* TODO: getRepository().getSshArgs(); */ null;
  -        String executable = /* TODO: getRepository().getSshExe(); */ "ssh";
  +        String commandArgs = getArgs( getRepository().getAnnotations() );
  +
  +        String commandExecutable = getExectutable( getRepository().getAnnotations() );
   
           Commandline cl = new Commandline();
  -        cl.setExecutable( executable );
  -        if ( args != null )
  +
  +        cl.setExecutable( commandExecutable );
  +
  +        if ( commandArgs != null )
           {
  -            cl.createArgument().setLine( args );
  +            cl.createArgument().setLine( commandArgs );
           }
           String remoteHost = authenticationInfo.getUserName() + "@" + getRepository().getHost();
  +
           cl.createArgument().setValue( remoteHost );
  +
           cl.createArgument().setValue( command );
  +
           try
           {
               CommandLineUtils.executeCommandLine( cl, null, null );
  @@ -176,18 +201,46 @@
           }
       }
   
  +    private getCommand( Map annotations )
  +    {
  +        String retValue = command;
  +
  +        if ( annotations.contains( COMMAND_KEY ) );
  +        {
  +            retValue = ( String ) annotations.get( COMMAND_KEY ) ;
  +        }
  +
  +        return retValue;
  +    }
  +
  +    private getArgs( Map annotations )
  +    {
  +        String retValue = args;
  +
  +        if ( annotation.contains( ARGS_KEY ) )
  +        {
  +            retValue = ( String ) annotations.get( ARGS_KEY );
  +        }
  +
  +        return retValue;
  +    }
  +
       private void executeScpCommand( File localFile, String remoteFile, boolean put )
           throws TransferFailedException
       {
           AuthenticationInfo authenticationInfo = getRepository().getAuthenticationInfo();
   
  -        String args = /* TODO: getRepository().getScpArgs(); */ null;
  -        String executable = /* TODO: getRepository().getScpExe(); */ "scp";
  +        String scpArgs = getArgs( getRepository().getAnnotations() );
  +
  +        String spcExecutable = getExectutable( getRepository().getAnnotations() );
   
           Commandline cl = new Commandline();
  +
           cl.setWorkingDirectory( localFile.getParentFile().getAbsolutePath() );
  -        cl.setExecutable( executable );
  -        if ( args != null )
  +
  +        cl.setExecutable( scpExecutable );
  +
  +        if ( scpArgs != null )
           {
               cl.createArgument().setLine( args );
           }
  @@ -228,7 +281,9 @@
           String basedir = getRepository().getBasedir();
   
           resourceName = StringUtils.replace( resourceName, "\\", "/" );
  +
           String dir = PathUtils.dirname( resourceName );
  +
           dir = StringUtils.replace( dir, "\\", "/" );
   
           String mkdirCmd = "mkdir -p " + basedir + "/" + dir + "\n";
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-cvs-help@maven.apache.org


Re: cvs commit: maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext ScpExternalWagon.java

Posted by Brett Porter <br...@apache.org>.
Michal,

This doesn't even compile. Can you please fix it?

- Brett

Brett Porter wrote:

>Michal,
>
>This won't work. There needs to be both an SSH and an SCP executable, as
>you can see from the commented out TODOs you replaced below.
>
>Also, I think "properties" is a better name than "annotations".
>
>- Brett
>
>michal@apache.org wrote:
>
>  
>
>>michal      2005/02/19 06:20:41
>>
>> Modified:    wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext
>>                       ScpExternalWagon.java
>> Log:
>> obeying both "annotations" and plexus style configuration for scp command
>> 
>> Revision  Changes    Path
>> 1.2       +65 -10    maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java
>> 
>> Index: ScpExternalWagon.java
>> ===================================================================
>> RCS file: /home/cvs/maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java,v
>> retrieving revision 1.1
>> retrieving revision 1.2
>> diff -u -r1.1 -r1.2
>> --- ScpExternalWagon.java	18 Feb 2005 04:45:52 -0000	1.1
>> +++ ScpExternalWagon.java	19 Feb 2005 14:20:41 -0000	1.2
>> @@ -51,6 +51,25 @@
>>  {
>>      public static int DEFAULT_SSH_PORT = 22;
>>  
>> +    public static String COMMAND_KEY = "wagon.scp.executable";
>> +
>> +    public static String ARGS_KEY = "wagon.scp.args";
>> +
>> +
>> +    /**
>> +     * Plexus style way of configuring command.
>> +     * @component.configuration
>> +     *    default="scp"
>> +     */
>> +    private String command = "scp";
>> +
>> +    /**
>> +     *  Plexus style way of configuring  args.
>> +     * @component.configuration
>> +     */
>> +    private Strings args;
>> +
>> +
>>      // ----------------------------------------------------------------------
>>      //
>>      // ----------------------------------------------------------------------
>> @@ -154,18 +173,24 @@
>>      {
>>          AuthenticationInfo authenticationInfo = getRepository().getAuthenticationInfo();
>>  
>> -        String args = /* TODO: getRepository().getSshArgs(); */ null;
>> -        String executable = /* TODO: getRepository().getSshExe(); */ "ssh";
>> +        String commandArgs = getArgs( getRepository().getAnnotations() );
>> +
>> +        String commandExecutable = getExectutable( getRepository().getAnnotations() );
>>  
>>          Commandline cl = new Commandline();
>> -        cl.setExecutable( executable );
>> -        if ( args != null )
>> +
>> +        cl.setExecutable( commandExecutable );
>> +
>> +        if ( commandArgs != null )
>>          {
>> -            cl.createArgument().setLine( args );
>> +            cl.createArgument().setLine( commandArgs );
>>          }
>>          String remoteHost = authenticationInfo.getUserName() + "@" + getRepository().getHost();
>> +
>>          cl.createArgument().setValue( remoteHost );
>> +
>>          cl.createArgument().setValue( command );
>> +
>>          try
>>          {
>>              CommandLineUtils.executeCommandLine( cl, null, null );
>> @@ -176,18 +201,46 @@
>>          }
>>      }
>>  
>> +    private getCommand( Map annotations )
>> +    {
>> +        String retValue = command;
>> +
>> +        if ( annotations.contains( COMMAND_KEY ) );
>> +        {
>> +            retValue = ( String ) annotations.get( COMMAND_KEY ) ;
>> +        }
>> +
>> +        return retValue;
>> +    }
>> +
>> +    private getArgs( Map annotations )
>> +    {
>> +        String retValue = args;
>> +
>> +        if ( annotation.contains( ARGS_KEY ) )
>> +        {
>> +            retValue = ( String ) annotations.get( ARGS_KEY );
>> +        }
>> +
>> +        return retValue;
>> +    }
>> +
>>      private void executeScpCommand( File localFile, String remoteFile, boolean put )
>>          throws TransferFailedException
>>      {
>>          AuthenticationInfo authenticationInfo = getRepository().getAuthenticationInfo();
>>  
>> -        String args = /* TODO: getRepository().getScpArgs(); */ null;
>> -        String executable = /* TODO: getRepository().getScpExe(); */ "scp";
>> +        String scpArgs = getArgs( getRepository().getAnnotations() );
>> +
>> +        String spcExecutable = getExectutable( getRepository().getAnnotations() );
>>  
>>          Commandline cl = new Commandline();
>> +
>>          cl.setWorkingDirectory( localFile.getParentFile().getAbsolutePath() );
>> -        cl.setExecutable( executable );
>> -        if ( args != null )
>> +
>> +        cl.setExecutable( scpExecutable );
>> +
>> +        if ( scpArgs != null )
>>          {
>>              cl.createArgument().setLine( args );
>>          }
>> @@ -228,7 +281,9 @@
>>          String basedir = getRepository().getBasedir();
>>  
>>          resourceName = StringUtils.replace( resourceName, "\\", "/" );
>> +
>>          String dir = PathUtils.dirname( resourceName );
>> +
>>          dir = StringUtils.replace( dir, "\\", "/" );
>>  
>>          String mkdirCmd = "mkdir -p " + basedir + "/" + dir + "\n";
>> 
>> 
>> 
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org
>>For additional commands, e-mail: wagon-cvs-help@maven.apache.org
>>
>>
>> 
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org
>For additional commands, e-mail: wagon-cvs-help@maven.apache.org
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-cvs-help@maven.apache.org


Re: cvs commit: maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext ScpExternalWagon.java

Posted by Brett Porter <br...@apache.org>.
Michal,

This won't work. There needs to be both an SSH and an SCP executable, as
you can see from the commented out TODOs you replaced below.

Also, I think "properties" is a better name than "annotations".

- Brett

michal@apache.org wrote:

>michal      2005/02/19 06:20:41
>
>  Modified:    wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext
>                        ScpExternalWagon.java
>  Log:
>  obeying both "annotations" and plexus style configuration for scp command
>  
>  Revision  Changes    Path
>  1.2       +65 -10    maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java
>  
>  Index: ScpExternalWagon.java
>  ===================================================================
>  RCS file: /home/cvs/maven-wagon/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java,v
>  retrieving revision 1.1
>  retrieving revision 1.2
>  diff -u -r1.1 -r1.2
>  --- ScpExternalWagon.java	18 Feb 2005 04:45:52 -0000	1.1
>  +++ ScpExternalWagon.java	19 Feb 2005 14:20:41 -0000	1.2
>  @@ -51,6 +51,25 @@
>   {
>       public static int DEFAULT_SSH_PORT = 22;
>   
>  +    public static String COMMAND_KEY = "wagon.scp.executable";
>  +
>  +    public static String ARGS_KEY = "wagon.scp.args";
>  +
>  +
>  +    /**
>  +     * Plexus style way of configuring command.
>  +     * @component.configuration
>  +     *    default="scp"
>  +     */
>  +    private String command = "scp";
>  +
>  +    /**
>  +     *  Plexus style way of configuring  args.
>  +     * @component.configuration
>  +     */
>  +    private Strings args;
>  +
>  +
>       // ----------------------------------------------------------------------
>       //
>       // ----------------------------------------------------------------------
>  @@ -154,18 +173,24 @@
>       {
>           AuthenticationInfo authenticationInfo = getRepository().getAuthenticationInfo();
>   
>  -        String args = /* TODO: getRepository().getSshArgs(); */ null;
>  -        String executable = /* TODO: getRepository().getSshExe(); */ "ssh";
>  +        String commandArgs = getArgs( getRepository().getAnnotations() );
>  +
>  +        String commandExecutable = getExectutable( getRepository().getAnnotations() );
>   
>           Commandline cl = new Commandline();
>  -        cl.setExecutable( executable );
>  -        if ( args != null )
>  +
>  +        cl.setExecutable( commandExecutable );
>  +
>  +        if ( commandArgs != null )
>           {
>  -            cl.createArgument().setLine( args );
>  +            cl.createArgument().setLine( commandArgs );
>           }
>           String remoteHost = authenticationInfo.getUserName() + "@" + getRepository().getHost();
>  +
>           cl.createArgument().setValue( remoteHost );
>  +
>           cl.createArgument().setValue( command );
>  +
>           try
>           {
>               CommandLineUtils.executeCommandLine( cl, null, null );
>  @@ -176,18 +201,46 @@
>           }
>       }
>   
>  +    private getCommand( Map annotations )
>  +    {
>  +        String retValue = command;
>  +
>  +        if ( annotations.contains( COMMAND_KEY ) );
>  +        {
>  +            retValue = ( String ) annotations.get( COMMAND_KEY ) ;
>  +        }
>  +
>  +        return retValue;
>  +    }
>  +
>  +    private getArgs( Map annotations )
>  +    {
>  +        String retValue = args;
>  +
>  +        if ( annotation.contains( ARGS_KEY ) )
>  +        {
>  +            retValue = ( String ) annotations.get( ARGS_KEY );
>  +        }
>  +
>  +        return retValue;
>  +    }
>  +
>       private void executeScpCommand( File localFile, String remoteFile, boolean put )
>           throws TransferFailedException
>       {
>           AuthenticationInfo authenticationInfo = getRepository().getAuthenticationInfo();
>   
>  -        String args = /* TODO: getRepository().getScpArgs(); */ null;
>  -        String executable = /* TODO: getRepository().getScpExe(); */ "scp";
>  +        String scpArgs = getArgs( getRepository().getAnnotations() );
>  +
>  +        String spcExecutable = getExectutable( getRepository().getAnnotations() );
>   
>           Commandline cl = new Commandline();
>  +
>           cl.setWorkingDirectory( localFile.getParentFile().getAbsolutePath() );
>  -        cl.setExecutable( executable );
>  -        if ( args != null )
>  +
>  +        cl.setExecutable( scpExecutable );
>  +
>  +        if ( scpArgs != null )
>           {
>               cl.createArgument().setLine( args );
>           }
>  @@ -228,7 +281,9 @@
>           String basedir = getRepository().getBasedir();
>   
>           resourceName = StringUtils.replace( resourceName, "\\", "/" );
>  +
>           String dir = PathUtils.dirname( resourceName );
>  +
>           dir = StringUtils.replace( dir, "\\", "/" );
>   
>           String mkdirCmd = "mkdir -p " + basedir + "/" + dir + "\n";
>  
>  
>  
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org
>For additional commands, e-mail: wagon-cvs-help@maven.apache.org
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-cvs-help@maven.apache.org