You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by "Mikael Petterson (KI/EAB)" <mi...@ericsson.com> on 2005/06/13 12:55:12 UTC
Bug in 'exec'
Hi,
I am using 'exec' -task to execute a shell script. However it seems like it cannot find the shell script file. I ( and other people) have checked and the file is there. I wonder if anyone had a similar problem in 1.6.2?
//mikael
This is part of my build.xml
===================
<target description="execute gen_tests.sh" name="generate">
<property name="unit_test.dir" value="/vobs/rbs/sw/rbssw_tools/boam_tools/unit_test"/>
<exec dir="${unit_test.dir}" executable="gen_tests.sh"/>
</target>
In clearcase I have the following file here:
=============================
ls /vobs/rbs/sw/rbssw_tools/boam_tools/unit_test
README.txt conf dsign_test.sh exec_unit_tests.sh gen_tests.sh lib logo-junit-88x32.gif
This is output with -debug set:
=====================
generate:
Setting project property: unit_test.dir -> /vobs/rbs/sw/rbssw_tools/boam_tools/unit_test
[exec] Current OS is SunOS
[exec] Executing 'gen_tests.sh' with
Execute:Java13CommandLauncher: Executing 'gen_tests.sh' with
BUILD FAILED
/vobs/rbs/sw/rbssw_boam/boam_subsys/boam_swb/boam_bldu/ant_build/common.xml:167: Execute failed: java.io.IOException: gen_tests.sh: not found
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:608)
at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:438)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
at org.apache.tools.ant.Main.runBuild(Main.java:673)
at org.apache.tools.ant.Main.startAnt(Main.java:188)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
Caused by: java.io.IOException: gen_tests.sh: not found
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:52)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:831)
at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:436)
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:450)
at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:564)
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:605)
... 11 more
--- Nested Exception ---
java.io.IOException: gen_tests.sh: not found
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:52)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:831)
at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:436)
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:450)
at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:564)
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:605)
at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:438)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
at org.apache.tools.ant.Main.runBuild(Main.java:673)
at org.apache.tools.ant.Main.startAnt(Main.java:188)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
Total time: 2 seconds
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
Re: Bug in 'exec'
Posted by Peter Reilly <pe...@apache.org>.
Just doing a dir in the exec does not change the directory for
the <exec/> task. You need to be very careful and explictly
set the absolute path for the executable:
<property name="unit_test.dir" location="/vobs/rbs/sw/rbssw_tools/boam_tools/unit_test"/>
<exec dir="${unit_test.dir}" executable="${unit_test.dir}/gen_tests.sh"/>
Peter
Mikael Petterson (KI/EAB) wrote:
>Hi,
>
>I am using 'exec' -task to execute a shell script. However it seems like it cannot find the shell script file. I ( and other people) have checked and the file is there. I wonder if anyone had a similar problem in 1.6.2?
>
>//mikael
>
>
>This is part of my build.xml
>===================
>
> <target description="execute gen_tests.sh" name="generate">
> <property name="unit_test.dir" value="/vobs/rbs/sw/rbssw_tools/boam_tools/unit_test"/>
> <exec dir="${unit_test.dir}" executable="gen_tests.sh"/>
> </target>
>
>
>In clearcase I have the following file here:
>=============================
>
>ls /vobs/rbs/sw/rbssw_tools/boam_tools/unit_test
>README.txt conf dsign_test.sh exec_unit_tests.sh gen_tests.sh lib logo-junit-88x32.gif
>
>This is output with -debug set:
>=====================
>generate:
>Setting project property: unit_test.dir -> /vobs/rbs/sw/rbssw_tools/boam_tools/unit_test
> [exec] Current OS is SunOS
> [exec] Executing 'gen_tests.sh' with
>Execute:Java13CommandLauncher: Executing 'gen_tests.sh' with
>
>BUILD FAILED
>/vobs/rbs/sw/rbssw_boam/boam_subsys/boam_swb/boam_bldu/ant_build/common.xml:167: Execute failed: java.io.IOException: gen_tests.sh: not found
> at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:608)
> at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:438)
> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at org.apache.tools.ant.Task.perform(Task.java:364)
> at org.apache.tools.ant.Target.execute(Target.java:341)
> at org.apache.tools.ant.Target.performTasks(Target.java:369)
> at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
> at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
> at org.apache.tools.ant.Main.runBuild(Main.java:673)
> at org.apache.tools.ant.Main.startAnt(Main.java:188)
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
>Caused by: java.io.IOException: gen_tests.sh: not found
> at java.lang.UNIXProcess.forkAndExec(Native Method)
> at java.lang.UNIXProcess.<init>(UNIXProcess.java:52)
> at java.lang.Runtime.execInternal(Native Method)
> at java.lang.Runtime.exec(Runtime.java:566)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:831)
> at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:436)
> at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:450)
> at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:564)
> at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:605)
> ... 11 more
>--- Nested Exception ---
>java.io.IOException: gen_tests.sh: not found
> at java.lang.UNIXProcess.forkAndExec(Native Method)
> at java.lang.UNIXProcess.<init>(UNIXProcess.java:52)
> at java.lang.Runtime.execInternal(Native Method)
> at java.lang.Runtime.exec(Runtime.java:566)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:831)
> at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:436)
> at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:450)
> at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:564)
> at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:605)
> at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:438)
> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at org.apache.tools.ant.Task.perform(Task.java:364)
> at org.apache.tools.ant.Target.execute(Target.java:341)
> at org.apache.tools.ant.Target.performTasks(Target.java:369)
> at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
> at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
> at org.apache.tools.ant.Main.runBuild(Main.java:673)
> at org.apache.tools.ant.Main.startAnt(Main.java:188)
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
>
>Total time: 2 seconds
>
>---------------------------------------------------------------------
>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