[groovy-user] ant groovy task invoked twice

5 views
Skip to first unread message

Ista Pouss

unread,
Nov 11, 2009, 5:37:03 AM11/11/09
to us...@groovy.codehaus.org
Hi,

I have a <groovy> task in an ant task, and the script is invoked
twice. Unfortunately, I can't reproduce that on a simple ant script,
so I ask you...

In my ant script I have :

<groovy>
<classpath>
<fileset refid="dependency.fileset"/>
</classpath>

[snip]
println org.codehaus.groovy.runtime.InvokerHelper.getVersion()
Thread.dumpStack();
[snip]

You can see

- I print the groovy version (thanks M. Roshan)
- I print the stack trace.

I get, first time :

[groovy] 1.6.4
[groovy] java.lang.Exception: Stack trace
[groovy] at java.lang.Thread.dumpStack(Thread.java:1206)
[groovy] at java_lang_Thread$dumpStack.call(Unknown Source)
[groovy] at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
[groovy] at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
[groovy] at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
[groovy] at
embedded_script_in__home_herve_jetravaille_build_dot_xml.run(embedded_script_in__home_herve_jetravaille_build_dot_xml:5)
[groovy] at
org.codehaus.groovy.ant.Groovy.parseAndRunScript(Groovy.java:425)
[groovy] at
org.codehaus.groovy.ant.Groovy.execGroovy(Groovy.java:404)
[groovy] at
org.codehaus.groovy.ant.Groovy.execute(Groovy.java:279)
[groovy] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[groovy] at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
[groovy] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[groovy] at java.lang.reflect.Method.invoke(Method.java:597)
[groovy] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[groovy] at org.apache.tools.ant.Task.perform(Task.java:348)
[groovy] at
org.apache.tools.ant.Target.execute(Target.java:357)
[groovy] at
org.apache.tools.ant.Target.performTasks(Target.java:385)
[groovy] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[groovy] at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[groovy] at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[groovy] at
org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
[groovy] at
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
[groovy] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[groovy] at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
[groovy] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[groovy] at java.lang.reflect.Method.invoke(Method.java:597)
[groovy] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[groovy] at org.apache.tools.ant.Task.perform(Task.java:348)
[groovy] at
org.apache.tools.ant.Target.execute(Target.java:357)
[groovy] at
org.apache.tools.ant.Target.performTasks(Target.java:385)
[groovy] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[groovy] at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[groovy] at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[groovy] at
org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
[groovy] at
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
[groovy] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[groovy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[groovy] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[groovy] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[groovy] at java.lang.reflect.Method.invoke(Method.java:597)
[groovy] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[groovy] at org.apache.tools.ant.Task.perform(Task.java:348)
[groovy] at
org.apache.tools.ant.Target.execute(Target.java:357)
[groovy] at
org.apache.tools.ant.Target.performTasks(Target.java:385)
[groovy] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[groovy] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[groovy] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[groovy] at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[groovy] at org.apache.tools.ant.Main.runBuild(Main.java:758)
[groovy] at org.apache.tools.ant.Main.startAnt(Main.java:217)
[groovy] at
org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
[groovy] at
org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)


Second time :

[groovy] 1.6.4
[groovy] java.lang.Exception: Stack trace
[groovy] at java.lang.Thread.dumpStack(Thread.java:1206)
[groovy] at java_lang_Thread$dumpStack.call(Unknown Source)
[groovy] at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
[groovy] at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
[groovy] at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
[groovy] at
embedded_script_in__home_herve_jetravaille_build_dot_xml.run(embedded_script_in__home_herve_jetravaille_build_dot_xml:5)
[groovy] at
groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:256)
[groovy] at groovy.lang.GroovyShell.run(GroovyShell.java:471)
[groovy] at groovy.lang.GroovyShell.run(GroovyShell.java:451)
[groovy] at
org.codehaus.groovy.ant.Groovy.parseAndRunScript(Groovy.java:436)
[groovy] at
org.codehaus.groovy.ant.Groovy.execGroovy(Groovy.java:404)
[groovy] at
org.codehaus.groovy.ant.Groovy.execute(Groovy.java:279)
[groovy] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[groovy] at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
[groovy] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[groovy] at java.lang.reflect.Method.invoke(Method.java:597)
[groovy] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[groovy] at org.apache.tools.ant.Task.perform(Task.java:348)
[groovy] at
org.apache.tools.ant.Target.execute(Target.java:357)
[groovy] at
org.apache.tools.ant.Target.performTasks(Target.java:385)
[groovy] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[groovy] at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[groovy] at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[groovy] at
org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
[groovy] at
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
[groovy] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[groovy] at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
[groovy] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[groovy] at java.lang.reflect.Method.invoke(Method.java:597)
[groovy] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[groovy] at org.apache.tools.ant.Task.perform(Task.java:348)
[groovy] at
org.apache.tools.ant.Target.execute(Target.java:357)
[groovy] at
org.apache.tools.ant.Target.performTasks(Target.java:385)
[groovy] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[groovy] at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[groovy] at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[groovy] at
org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
[groovy] at
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
[groovy] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[groovy] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[groovy] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[groovy] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[groovy] at java.lang.reflect.Method.invoke(Method.java:597)
[groovy] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[groovy] at org.apache.tools.ant.Task.perform(Task.java:348)
[groovy] at
org.apache.tools.ant.Target.execute(Target.java:357)
[groovy] at
org.apache.tools.ant.Target.performTasks(Target.java:385)
[groovy] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[groovy] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[groovy] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[groovy] at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[groovy] at org.apache.tools.ant.Main.runBuild(Main.java:758)
[groovy] at org.apache.tools.ant.Main.startAnt(Main.java:217)
[groovy] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
[groovy] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

You can see the groovy script is called twice.

The first time is with
"org.codehaus.groovy.ant.Groovy.parseAndRunScript(Groovy.java:425)",
the second with
"org.codehaus.groovy.ant.Groovy.parseAndRunScript(Groovy.java:436)".

If I look at the org.codehaus.groovy.ant.Groovy code at
http://fisheye.codehaus.org/browse/groovy/trunk/groovy/groovy-core/src/main/org/codehaus/groovy/ant/Groovy.java?r=HEAD,
I suppose the first time is the good time, the second time is with a
MissingMethodExcpetion.

If you confirm, I should prefer :

- groovy execute my task only one time, even if I forget a method
- groovy give me, with some amability, what is this missing method :-)


Thanks.

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


Reply all
Reply to author
Forward
0 new messages