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