ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Taft <michaelt...@earthlink.net>
Subject Re: Shell Script
Date Thu, 27 Mar 2003 07:11:55 GMT
Thanks for your reply, Peter.

I downloaded the shell script task, but I'm having trouble actually 
getting it to work properly with sourceforge.net

I explained what I'm trying to do earlier (it's included at the bottom 
of this email) so I won't repeat it here. Here's my target for trying to 
accomplish this:


<target name="web_zip">
          <tar tarfile="${base.dir}/FJWeb.tar" basedir="${web.dir}"/>
          <gzip zipfile="${base.dir}/FJWeb.tar.gz" 
src="${base.dir}/FJWeb.tar"/>
    </target>
   
    <!-- Upload to SourceForge.net -->
   
        <target name="web_release" depends="web_zip">
        <exec dir="${base.dir}" executable="scp"  output="dir.txt">
        <arg line="FJWeb.tar.gz         
 michaeltaft@jyotish.sourceforge.net:/home/groups/j/jy/jyotish/htdocs/"/>
        </exec>
        <exec dir="${base.dir}" executable="ssh"  output="dir2.txt">
        <arg line="-l michaeltaft jyotish.sourceforge.net"/>
        </exec>
        <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
        <shellscript shell="bash.exe" >
             <arg value="cd /home/groups/j/jy/jyotish/htdocs/"/>
             <arg value="gunzip FJWeb.tar.gz"/>
            <arg value="tar xf FJWeb.tar"/>
            <arg value="rm FJWeb.tar"/>
              ssh ${server} ./script.sh
       </shellscript>   

I realize that this is a clumsy attempt, but it's the best I can do at 
my level of understanding. The web_zip and scp exec both work fine. The 
ssh exec starts to work but it only connects me to sourceforge and then 
gets hung up. Looking at the dir2.txt file I see the following comment:
Pseudo-terminal will not be allocated because stdin is not a terminal.

I'm not sure if that means it's not working at all, or if it just knows 
not to open the terminal. In any case that's as far as I've been able to 
get with this.

Any help?

peter reilly wrote:

>Hi,
>I have included the e-mail discussion on using shellscript and sshexec.
>
>shellscript can be received from CVS head of ant-contrib project
>on sourceforge.
>
>http://sourceforge.net/projects/ant-contrib/
>
>sshexec can be received from CVS head of ant.
>Peter.
>
>--------------------------//-------------------------------
>
>it is of course a lot better to use <sshexec/> than <shellscript/>
>for this.
>
>Also my example contained an error, it should be
> <shellscript shell="sh"><![CDATA[
>     ssh ${server} <<END
> cd /tmp
> ls -lrta
> END
> ]]></shellscript>
>
>Peter.
>On Friday 21 March 2003 16:45, Anderson, Rob H - VSCM wrote:
>  
>
>>If you use the sshexec task you do not need to have an ssh client on your
>>local machine. Obviously, the remote machine needs to be running sshd.
>>
>><sshexec host="somehost"
>>      username="dude"
>>      keyfile="${user.home}/.ssh/id_dsa"
>>      passphrase="yo its a secret"
>>      command="./remotesctipt.sh"/>
>>
>>If you want to execute an ant script on the remote machine you will need to
>>install ant and the scripts on the remote machine. Then run a task like the
>>following
>>
>><sshexec host="somehost"
>>      username="dude"
>>      keyfile="${user.home}/.ssh/id_dsa"
>>      passphrase="yo its a secret"
>>      command="cd path/to/build/file ; ant targetname"/>
>>
>>I hope this helps.
>>
>>-Rob Anderson
>>
>>-----Original Message-----
>>From: peter reilly [mailto:peter.reilly@corvil.com]
>>Sent: Friday, March 21, 2003 3:25 AM
>>To: Ant Users List
>>Subject: Re: SSH in ANT?!?! (WAS: RE: process on a remote server via an
>>ANT ?????)
>>
>>
>>I do not have windows at the moment so take what
>>I am saying with a grain of salt.
>>
>>The question is not really an ant question. So
>>test everything at the command line first.
>>
>>I assume that there is a ssh deamon/service running on
>>the remote machine and there is a ssh command line
>>utility in your exec path.
>>
>>If the sshd on the remote machine is a the cygwin sshd
>>and you have cygwin installed correctly on both machines
>>the script should work as is.
>>
>>If cygwin sshd is installed on the remote machine but the
>>local machine does not have cygwin but does have another
>>ssh client cli program that can run in a bat file one can do
>>
>><shellscript shell="cmd.exe" tmpsuffix=".bat">
>>    <arg value="/c"/>
>>     <arg value="call">
>>      ssh ${server} ./script.sh
>></shellscript>
>>
>>Other combinations you need to try yourself.
>>
>>Important to note that the ./script.sh is a file on the remote machine.
>>
>>To run a script defined in the ant build file do:
>>
>><shellscript shell="sh">
>>    ssh ${server} <<END
>>cd /tmp
>>ls -lrta
>>END
>>  </shellscript>
>>
>>    
>>
>
>On Sunday 23 March 2003 23:52, Michael Taft wrote:
>  
>
>>Hello -
>>I've been using Ant in a hobbyist capacity for about a year now. I use
>>it in jEdit to help me build my project.
>>
>>One thing I would like to do is automate the uploading of my website
>>materials to sourceforge. Currently, I have a single ant task that tars
>>them, gzips them, and then scps the whole lot to the home of my
>>sourceforge site. That all works great.
>>
>>However, what I'd *really* like is to then be able to ssh into
>>sourceforge, and unzip and untar the bundle. I created an executable
>>task for ssh and was easily able to connect. But the next stage is
>>confusing me a little bit. What I  need to do is execute three bash
>>shell commands (cd blah blah, gunzip blah blah, and tar xf blah blah) on
>>the remote server.
>>
>>Is there an executable task that does this?
>>
>>In looking at the list archive, I found something about a "shellscript"
>>task that sounds right, but neither my copy of ant (both the very latest
>>plugin for jEdit, and the other (also new) copy I have on my machine
>>seem to implement this task.
>>
>>So, my questions are:
>>
>>1. Is "scriptshell" what I want?
>>2. If not, what is.
>>3. If so, where do I get it?
>>
>>Thanks in advance.
>>M.
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>For additional commands, e-mail: user-help@ant.apache.org
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>For additional commands, e-mail: user-help@ant.apache.org
>
>
>  
>


Mime
View raw message