Hi Adam, Groovy's <groovyc> allows nested <compilerarg> elements (post GROOVY-3761), but that is available since 1.6.5, but the gradle snapshot that I am using uses 1.6.4.
My debugging sceario is this: GPARS uses gradle to compile its groovy scripts. While gradle internally uses 1.6.4, GPars compilation is done with 1.6.5 or say, even 1.7.0 (whatever is specified in its dependencies).GPars had a reported a very similar and that fix is there 1.6.5 onwards. So, it is important that the groovyc compilation that I want to debug doesn't have 1.6.4 from gradle's own internal classpath. I thought the forked groovyc will cleanly allow that. Do you think that gradle's own classpath will not come into picture if I do "gradle compileGroovy" after setting GRADLE_OPTS? Will it cleanly have only GPars specified groovy jar (and not gradle's own) on the classpath if I do "gradle compileGroovy"? rgds, Roshan On Mon, Dec 14, 2009 at 1:23 AM, Adam Murdoch <[email protected]> wrote: > > > On 13/12/09 8:08 PM, Roshan Dawrani wrote: > >> Hi, >> I need to look into one groovy issue and for that I need to debug the >> groovyc process that is forked by gradle. >> >> Could someone please let me know how to pass the compiler args in the >> gradle script to do the same? >> >> > Gradle uses Groovy's <groovyc> Ant task to do the compilation, and looking > at the source of this task, it doesn't look like it offers any way to > control the command-line args it uses to fork the groovyc process. For > Gradle to do what you're asking, it would need the Ant task to support it > first. Or for Gradle to drive Groovy's FileSystemCompiler directly (which we > plan to do eventually). > > Any chance you can debug this problem in non-forking mode? Then, you can > use $GRADLE_OPTS to pass the debug command-line options: > > GRADLE_OPTS=-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777 > gradle compileGroovy > > > > I tried >> >> compileTestGroovy.options.compilerArgs = >> [[value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777"]] >> >> (fails with >> "org.codehaus.groovy.control.MultipleCompilationErrorsException: startup >> failed, [-FXrunjdwp:transport=dt_sockeress=7777] (The system cannot find the >> file specified)") >> >> and >> >> compileTestGroovy.options.compilerArgs = >> ["-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777"] >> >> > compilerArgs are passed directly to javac, by which time it's too late for > you to any useful debugging (I suspect). > > > -- > Adam Murdoch > Gradle Developer > http://www.gradle.org > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > >
