KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to debug a macrodef in Ant. I cannot seem to find a way to display the contents of a parameter sent as an element. <project name='debug.macrodef'> <macrodef name='def.to.debug'> <attribute name='attr' /> <element name='elem' /> <sequential> <echo>Sure, the attribute is easy to debug: @{attr}</echo> <echo>The element works only in restricted cases: <elem /> </echo> <!-- This works only if <elem /> doesn't contain anything but a textnode, if there were any elements in there echo would complain it doesn't understand them. --> </sequential> </macrodef> <target name='works'> <def.to.debug attr='contents of attribute'> <elem>contents of elem</elem> </def.to.debug> </target> <target name='does.not.work'> <def.to.debug attr='contents of attribute'> <elem><sub.elem>contents of sub.elem</sub.elem></elem> </def.to.debug> </target> </project> Example run: $ ant works ... works: [echo] Sure, the attribute is easy to debug: contents of attribute [echo] The element works only in restricted cases: contents of elem ... $ ant does.not.work ... does.not.work: [echo] Sure, the attribute is easy to debug: contents of attribute BUILD FAILED .../build.xml:21: The following error occurred while executing this line: .../build.xml:7: echo doesn't support the nested "sub.elem" element. ... So I guess I need either a way to get the contents of the <elem /> into a property somehow (some extended macrodef implementation might have that), or I need a sort of <element-echo><elem /></element-echo> that could print out whatever XML tree you put inside. Does anyone know of an implementation of eith
Tags (comma-separated)
Save Edits
Cancel