TPTP AGR ant build question [message #101181] |
Tue, 19 June 2007 08:35 |
Eclipse User |
|
|
|
Originally posted by: Enwei.Shi.cognizant.com
Hi.
Before I running TPTP test with ant,I should add three jar file to ant lib
folder: tptp-automation-client.jar, tptp-automation-server.jar,
ant-tptp.jar. I feel it is not so convenient for migration.
My question is: How can I run the TPTP testsuite by ant without adding three
jar files to ant lib folder? Just import the three jar files to the path
during the build time. I have searched on the AGR user guider but did not
find any instruction.
Can any one show me the ant build file on importing the TPTP jar file to
path?
Best Regards,
Wayne
|
|
|
Re: TPTP AGR ant build question [message #101194 is a reply to message #101181] |
Tue, 19 June 2007 12:22 |
Joe Toomey Messages: 79 Registered: July 2009 |
Member |
|
|
Hi Wayne,
This is really a question about ant more so than about TPTP, but I'll
try to point you in the right direction.
First, there is only one file that the TPTP documentation instructs you
to copy into your ant lib directory, and that is ant-tptp.jar. This jar
file contains the ant client adapters for TPTP's automatable services,
and also an antlib.xml file with taskdef statements to map each TPTP
Automatable Service to its ant client adapter (i.e. Java code that
understands ant and will marshall the call to the Automatable Services
Framework.) If you look at the top of the example build.xml files
provided in the doc, you'll see a statement that maps the XML namespace
"tptp" to this antlib file, which is what allows you to reference our
ant tasks without having to qualify where the implementation is. So
xmlns:tptp="antlib:org.eclipse.hyades.automation.client.adapters.ant "
=>
<tptp:execution project="org.eclipse.tptp.test.testservices.tests"
suite="junit/Test.IBM142_TestServices.testsuite">
</tptp:execution>
There are other ways that you can instruct ant on how to map from
taskdefs to the Java classes that implement them, and you can certainly
use those methods to avoid copying the ant-tptp.jar file if you'd like.
I suggest using ant's taskdef task to define your own taskdefs (see
how the classpath attribute is passed to the taskdef task in this
example: http://ant.apache.org/manual/develop.html )
I expect you'll end up with something that looks like this:
<taskdef name="tptp.execution"
classname=" org.eclipse.hyades.automation.client.adapters.ant.Automation ClientAdapter$Execution ">
<classpath>
<pathelement location="${location.of.ant-tptp.jar}"/>
</classpath>
</taskdef>
Note that you'll need to do this for each of the TPTP tasks you want to
use. You can see our mappings between taskdefs and the classes that
implement them in our antlib.xml file linked below.
http://dev.eclipse.org/viewcvs/index.cgi/platform/org.eclips e.hyades.execution/src-automation-client/org/eclipse/hyades/ automation/client/adapters/ant/antlib.xml?root=TPTP_Project& amp;revision=1.7&content-type=text%2Fplain
Thanks,
--Joe
|
|
|
Powered by
FUDForum. Page generated in 0.03525 seconds