|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
ANT.jar calling Targets not properlyHi Guys,
I'm invoking ANT programmatically in Java, and I'm having a hard time with running some targets. The code is that classical one: p.fireBuildStarted(); p.init(); ProjectHelper helper = ProjectHelper.getProjectHelper(); ProjectHelper.configureProject( p, buildFile); p.addReference("ant.projectHelper", helper); helper.parse(p, buildFile); p.executeTarget("_scanProject"); p.fireBuildFinished(null); so my build file is not a build.xml it is called javalanche.xml : File buildFile = new File(javalancheDestination,"javalanche.xml"); The code is working fine, but the problem is that I'm not sure if I'm calling the targets right. So my build file (javalanche.xml) imports another XML file (mutation-include.xml). so the target I'm calling (_scanProject) is in mutation-include.xml: <target name="_scanProject"> <property name="scan.project.mutation.javaagent" value="-javaagent:${javalanche.mutation.javaagent}"/> <property name="scan.project.memory" value="-Xmx${javalanche.maxmemory}"/> <property name="scan.project.mutation.run.mode" value="-Dmutation.run.mode=scan-project"/> <property name="scan.project.javalanche.package.prefix" value="-Dmutation.package.prefix=${project.prefix}"/> <property name="scan.project.javalanche.project.test.suite" value="-Dmutation.test.suite=${project.test.suite}"/> <property name="scan.project.verbose" value="-verbose"/> <path id="scan.project.classpath.add"> <path refid="mutation.classpath"/> </path> <antcall target="test-javalanche"> <!--${scan.project.verbose}--> <param name="javalanche.arg.line" value=" ${scan.project.mutation.javaagent} ${scan.project.memory} ${scan.project.mutation.run.mode} ${scan.project.javalanche.package.prefix} ${scan.project.javalanche.project.test.suite} " /> <reference refid="scan.project.classpath.add" torefid="javalanche.classpath.add"/> </antcall> </target> The "test-javalanche" target is in the javalanche.xml file: <target name="test-javalanche"> <mkdir dir="mutation-files/junit-reports"></mkdir> <junit dir="." printSummary="yes" fork="true" forkmode="once" showoutput="true"> <classpath> <path refid="javalanche.classpath.add" /> <pathelement path="${cp}"></pathelement> </classpath> <jvmarg line="${javalanche.arg.line}" /> <formatter type="xml"/> <formatter usefile="true" type="plain"/> <test todir="mutation-files/junit-reports" name="${testsuite}" /> </junit> </target> So when I call p.executeTarget("_scanProject"); it doesn't run right because it doensn't run the target test-javalanche properly. It just creates the directory. The XML files are all fine. Because when I run it in the command line: "ant -f javalanche.xml _scanProject" it runs perfectly. I'm not sure if javalanche.arg.line is passed to test-javalanche. Any thoughts on how to call the target right?? Cheers, -- David Nemer Sent from Frankfurt Am Main, HE, Germany |
|
|
Re: ANT.jar calling Targets not properlyI just tested it again, and the arguments to ${javalanche.arg.line} is
passed all right, so I don't know why it wont run the test-javalanche properly. -- David Nemer Sent from Frankfurt Am Main, HE, Germany On Thu, Oct 8, 2009 at 11:13 AM, David Nemer <davidnemer@...> wrote: > Hi Guys, > > I'm invoking ANT programmatically in Java, and I'm having a hard time with > running some targets. The code is that classical one: > > p.fireBuildStarted(); > p.init(); > ProjectHelper helper = ProjectHelper.getProjectHelper(); > ProjectHelper.configureProject( p, buildFile); > p.addReference("ant.projectHelper", helper); > helper.parse(p, buildFile); > p.executeTarget("_scanProject"); > p.fireBuildFinished(null); > > so my build file is not a build.xml it is called javalanche.xml : File > buildFile = new File(javalancheDestination,"javalanche.xml"); > > The code is working fine, but the problem is that I'm not sure if I'm > calling the targets right. > > So my build file (javalanche.xml) imports another XML file > (mutation-include.xml). > > so the target I'm calling (_scanProject) is in mutation-include.xml: > > <target name="_scanProject"> > <property name="scan.project.mutation.javaagent" > value="-javaagent:${javalanche.mutation.javaagent}"/> > <property name="scan.project.memory" > value="-Xmx${javalanche.maxmemory}"/> > <property name="scan.project.mutation.run.mode" > value="-Dmutation.run.mode=scan-project"/> > <property name="scan.project.javalanche.package.prefix" > value="-Dmutation.package.prefix=${project.prefix}"/> > <property name="scan.project.javalanche.project.test.suite" > value="-Dmutation.test.suite=${project.test.suite}"/> > <property name="scan.project.verbose" value="-verbose"/> > > <path id="scan.project.classpath.add"> > <path refid="mutation.classpath"/> > </path> > > <antcall target="test-javalanche"> > <!--${scan.project.verbose}--> > <param name="javalanche.arg.line" value=" > ${scan.project.mutation.javaagent} ${scan.project.memory} > ${scan.project.mutation.run.mode} ${scan.project.javalanche.package.prefix} > ${scan.project.javalanche.project.test.suite} " /> > <reference refid="scan.project.classpath.add" > torefid="javalanche.classpath.add"/> > </antcall> > </target> > > The "test-javalanche" target is in the javalanche.xml file: > > <target name="test-javalanche"> > <mkdir dir="mutation-files/junit-reports"></mkdir> > <junit dir="." printSummary="yes" fork="true" forkmode="once" > showoutput="true"> > <classpath> > <path refid="javalanche.classpath.add" /> > <pathelement path="${cp}"></pathelement> > </classpath> > > <jvmarg line="${javalanche.arg.line}" /> > > <formatter type="xml"/> > <formatter usefile="true" type="plain"/> > <test todir="mutation-files/junit-reports" name="${testsuite}" > /> > </junit> > </target> > > So when I call p.executeTarget("_scanProject"); it doesn't run right > because it doensn't run the target test-javalanche properly. It just creates > the directory. > The XML files are all fine. Because when I run it in the command line: "ant > -f javalanche.xml _scanProject" it runs perfectly. I'm not sure if > javalanche.arg.line is passed to test-javalanche. > > Any thoughts on how to call the target right?? > > Cheers, > -- > David Nemer > Sent from Frankfurt Am Main, HE, Germany |
| Free embeddable forum powered by Nabble | Forum Help |