Don't you need to hook the whole thing together in quotes (like you would
with 'sh -c "somecmd && someothercmd ...") -- ie:
cmd /c "... && ... && ..."
Diane
--- Anthony Rodriguez <[EMAIL PROTECTED]> wrote:
> Interesting, I tried "pushd \\nqa2\testdir && cd && popd" from the
> command line and it worked.
>
> However when I tried it with ant, it hangs. Here is my build.xml
> snippet:
>
> <target name="pushpop">
> <exec executable="cmd">
> <arg line="pushd"/>
> <arg line="\\${nth.server}${testdir} && cd &&
> popd"/>
> </exec>
> </target>
>
> I get these results:
>
> C:\antdir>ant -v init pushpop -buildfile build.xml -Dnth.server=nqa2
>
> Ant version 1.4Beta2 compiled on August 20 2001
> Buildfile: build.xml
> Detected Java version: 1.3 in: c:\jdk1.3.1\jre
> Detected OS: Windows 2000
> parsing buildfile C:\antdir\build.xml with URI =
> file:C:/antdir/build.xml
> Project base dir set to: C:\antdir
> Property ${classpath} has not been set
> Property ${home} has not been set
> Build sequence for target `init' is [init]
>
> init:
> [property] Loading C:\antdir\build.properties
>
> Build sequence for target `pushpop' is [pushpop]
>
> pushpop:
> [exec] Current OS is Windows 2000
> [exec] cmd pushd \\nqa2\testdir\ && cd && popd
> [exec] Microsoft Windows 2000 [Version 5.00.2195]
> [exec] (C) Copyright 1985-2000 Microsoft Corp.
>
> Then it just hangs here. Is Ant waiting for the cmd exec to return
> something that it's not returning? Does this happen whenever you run
> something using cmd?
>
> -Anthony
>
> > -----Original Message-----
> > From: Anthony Rodriguez [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, December 12, 2001 10:16 AM
> > To: 'Ant Users List'
> > Subject: RE: pushd and popd
> >
> >
> > What I'm really trying to acheive here is to map a network
> > path to a drive
> > letter, then copy files to that path. The copy utility I'm using was
> > developed in-house and has trouble with UNC paths. It has
> > other features
> > however that are specific and necessary to my environment.
> > So the idea was
> > to pushd the UNC path, copy to the new drive that pushd
> > assigns, then popd
> > when I'm done.
> > However by reading the various responses, it looks like Ant
> > wouldn't leave
> > me in the drive that pushd would assign. Is this correct?
> > Is there a way
> > for me to work around this aspect of Ant? Would I be better
> > served by
> > writing a .bat file and executing that from Ant?
> >
> > -Anthony
> >
> > > -----Original Message-----
> > > From: Conor MacNeill [mailto:[EMAIL PROTECTED]]
> > > Sent: Tuesday, December 11, 2001 3:53 PM
> > > To: Ant Users List
> > > Subject: RE: pushd and popd
> > >
> > >
> > > Anthony,
> > >
> > > What exactly are you trying to achieve?
> > >
> > > pushd and popd are builtins to the Windows shell. This is why
> > > Ant cannot
> > > execute them directly. The normal way around this would be to
> > > actually exec
> > > cmd.exe and ask it to run the built-in.
> > >
> > > In your case, however, the pushd and popd commands would only
> > > affect the
> > > process that is created for the <exec> operation. Any effect
> > > they did have
> > > would be lost when the <exec> completes and would not affect the Ant
> > > process.
> > >
> > > Perhaps you can explain why you need to pushd/popd at all
> > and we could
> > > suggest an alternative approach.
> > >
> > > Conor
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Anthony Rodriguez [mailto:[EMAIL PROTECTED]]
> > > > Sent: Wednesday, 12 December 2001 10:22 AM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: pushd and popd
> > > >
> > > >
> > > > Has anyone had any luck using the Win 2000 programs, pushd
> > > and popd? I'm
> > > > trying to use it in my build.xml but it's not working.
> > > >
> > > > build.xml:
> > > > ----------
> > > > <target name="pushpop">
> > > > <exec executable="pushd">
> > > > <arg line="\\${server}\${testdir}\"/>
> > > > </exec>
> > > > <exec executable="popd"/>
> > > > </target>
> > > >
> > > >
> > > > Here are my results:
> > > > --------------------
> > > > C:\antdir>ant -v init pushpop
> > > >
> > > > Ant version 1.4Beta2 compiled on August 20 2001
> > > > Buildfile: build.xml
> > > > Detected Java version: 1.3 in: c:\jdk1.3.1\jre
> > > > Detected OS: Windows 2000
> > > > parsing buildfile C:\antdir\build.xml with URI =
> > > file:C:/antdir/build.xml
> > > > Project base dir set to: C:\antdir
> > > > Property ${classpath} has not been set
> > > > Property ${home} has not been set
> > > > Build sequence for target `init' is [init]
> > > >
> > > > init:
> > > > [property] Loading C:\antdir\build.properties
> > > > Build sequence for target `pushpop' is [pushpop]
> > > >
> > > > pushpop:
> > > > [exec] Current OS is Windows 2000
> > > > [exec] pushd \\nqa2\testdir\
> > > >
> > > > BUILD FAILED
> > > >
> > > > C:\antdir\build.xml:256: Execute failed:
> > > java.io.IOException: CreatePro
> > > > cess: pushd \\nqa2\testdir\ error=2
> > > > at
> > > > org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:281)
> > > > at
> > > > org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:177)
> > > > at org.apache.tools.ant.Task.perform(Task.java:217)
> > > > at org.apache.tools.ant.Target.execute(Target.java:164)
> > > > at
> > org.apache.tools.ant.Target.performTasks(Target.java:182)
> > > > at
> > > org.apache.tools.ant.Project.executeTarget(Project.java:601)
> > > > at
> > > org.apache.tools.ant.Project.executeTargets(Project.java:560)
> > > > at org.apache.tools.ant.Main.runBuild(Main.java:454)
> > > > at org.apache.tools.ant.Main.start(Main.java:153)
> > > > at org.apache.tools.ant.Main.main(Main.java:176)
> > > > --- Nested Exception ---
> > > > java.io.IOException: CreateProcess: pushd \\nqa2\testdir\ error=2
> > > > at java.lang.Win32Process.create(Native Method)
> > > > at java.lang.Win32Process.<init>(Win32Process.java:66)
> > > > at java.lang.Runtime.execInternal(Native Method)
> > > > at java.lang.Runtime.exec(Runtime.java:551)
> > > > at java.lang.reflect.Method.invoke(Native Method)
> > > > at
> > > >
> > >
> > org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Exec
> > > > ute.java:564)
> > > > at
> > > org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:384)
> > > > at
> > > >
> > org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:250)
> > > > at
> > > > org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:279)
> > > > at
> > > > org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:177)
> > > > at org.apache.tools.ant.Task.perform(Task.java:217)
> > > > at org.apache.tools.ant.Target.execute(Target.java:164)
> > > > at
> > org.apache.tools.ant.Target.performTasks(Target.java:182)
> > > > at
> > > org.apache.tools.ant.Project.executeTarget(Project.java:601)
> > > > at
> > > org.apache.tools.ant.Project.executeTargets(Project.java:560)
> > > > at org.apache.tools.ant.Main.runBuild(Main.java:454)
> > > > at org.apache.tools.ant.Main.start(Main.java:153)
> > > > at org.apache.tools.ant.Main.main(Main.java:176)
> > > >
> > > > Total time: 2 seconds
> > > >
> > > > Any idea what is going wrong here?
> > > >
> > > > -Anthony
> > > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > >
> >
>
=====
([EMAIL PROTECTED])
__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>