Geoff Howard wrote:

No, XPatch doesn't handle properties expansion now. I looked briefly at how to add support for this and didn't get it worked out. I don't know Ant internals much at all - maybe someone more familiar would know better.

I've just asked on ant-dev, and was told:


String org.apache.tools.ant.Project.replaceProperties(String value)

Ok, I tried the other option which looked cleaner - they have a subclass of Reader which replaces properties on the way in. I tried it again the other night and found that it throws an NPE when the task runs. Unfortunately for some reason the line number of the NPE isn't preserved in the stack trace.

'The other solution?'


So, from looking at the xpatch task, we would have to use this replaceProperties method on each attribute and text value of each node in the patch file.

Hmm, I'll look at that solution. I was thinking of slurping the whole patch file into a string, running replaceProperties on it, and creating an InputStream from the string to pass to builder.parse().

That's what Jan Materne on ant-dev suggested too. He's also just recommended org.apache.tools.ant.util.DOMElementWriter, which might help.


We could add a 'replace-properties' top level element, which says whether this should be done.

I haven't followed the specific context here but would love to see it added too.

I'm a bit busy here, any chance you could look into it, Geoff?


It would be really cool, it would mean that you can mount your site without having to touch the root sitemap at all.

I can't look into it more now but can pick it up in the next few days.

Great. Lets play a 'who gets there first' game.


Regards, Upayavira


Reply via email to