Придумал способ сделать это .. Включил в муравейник задачу для выполнения этой задачи. Скажем, у меня есть input.xml
, например:
<include>
<targetclass name="com.samples.ClassToBeIncluded1" />
<targetclass name="com.samples.ClassToBeIncluded2" />
<targetclass name="com.samples.ClassToBeIncluded3" />
<targetclass name="com.samples.ClassToBeIncluded4" />
</include>
, который дает подробную информацию оклассы, которые должны быть включены .. Я анализирую файл, используя простой анализатор groovy, и настраиваю новое свойство в муравье, которое определяет набор классов, которые должны быть включены.
Новое свойство:
<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>
Теперь вновь установленное свойство используется нижеприведенным сценарием ant для включения необходимых классов:
<fileset dir="${classes.dir}" includes="${instrumentedclasses}" />