想出了一个办法做到this..Included ant脚本中的常规任务来完成这件事..说我有一个input.xml
这样的:
<include>
<targetclass name="com.samples.ClassToBeIncluded1" />
<targetclass name="com.samples.ClassToBeIncluded2" />
<targetclass name="com.samples.ClassToBeIncluded3" />
<targetclass name="com.samples.ClassToBeIncluded4" />
</include>
,提供有关的类是细节使用简单的常规解析器included..I解析文件和配置,指定要包括在组类的蚂蚁一个新的属性..
新的属性是:
<property name="instrumentedclasses" value=""/>
Groovy脚本读取外部输入和设置属性是:
<groovy>
def xmlParser = new XmlParser()
def includeStr = ""
def eachFile = new File('input.xml')
def includeRootNode = xmlParser.parse(eachFile)
includeRootNode.targetclass.each{ targetClassNode ->
def className = targetClassNode.attribute("name")
className = className.replace(".","/")
includeStr = includeStr +className+".class "
}
properties["instrumentedclasses"] = includeStr
</groovy>
现在新设置的属性由以下蚂蚁脚本以包括必要的类:
<fileset dir="${classes.dir}" includes="${instrumentedclasses}" />