set is internal to cmd.exe|command.com
you could try cmd.exe /c set APP_HOME=c:\apphome
However your set would not persist past the lifetime of the spawned command
processor.
Why do you want to do this? Is it to pass a result back to the batch file
that called ant?
Perhaps you could echo "set APP_HOME=c:\apphome" to a batch file and exec it
after ant finishes?
-----Original Message-----
From: Prabhakar Chaganti [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, July 31, 2001 3:10 PM
To: [EMAIL PROTECTED]
Subject: Setting a W2K environment variable from build.xml
Hi all:
I am using ant version 1.4alpha on Win2K running JDK 1.3.0.
I need to set an environment variable in W2K such as APP_HOME,
before my task executes. This can be done from a shell by doing:
"set APP_HOME=c:\apphome"
I am trying to use the following fragment to accomplish the same
thing from inside my build.xml:
<target name="test">
<exec executable="set" os="Windows 2000">
<arg line="APP_HOME=c:\apphome" />
</exec>
</target>
This fails with the following error:
Execute failed: java.io.IOException: CreateProcess: set
APP_HOME=c:\apphome error=2
--- Nested Exception ---
java.io.IOException: CreateProcess: set
APP_HOME=c:\apphome 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.ex
ec(Execute.java:564)
at
org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:384)
at
org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:2
38)
at
org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:254)
at
org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:165)
at org.apache.tools.ant.Task.perform(Task.java:240)
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:568)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:252)
at
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:120)
at org.apache.tools.ant.Task.perform(Task.java:240)
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:568)
at
org.apache.tools.ant.Project.executeTargets(Project.java:527)
at org.apache.tools.ant.Main.runBuild(Main.java:453)
at org.apache.tools.ant.Main.start(Main.java:154)
at org.apache.tools.ant.Main.main(Main.java:177)
Can anyone point out what is wrong with the xml. I looked at the list
archives, and some people suggested using a batch file just to set
the environment variables. Is this the only option ?
Any info truly appreciated.
thanks
prabhakar