ant filterset property scope
ant
Solution
The issue appears to be that inside the top-level filterset:
<filterset id="test-filters" begintoken="@" endtoken="@">
<filter token="foo" value="${bar}" />
</filterset>
The property `bar` is undefined. Moving the property definition for `bar` outside target `filterset-test3` should work:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="filter-test">
<property name="bar" value="property doesn't pass thru" />
<filterset id="test-filters" begintoken="@" endtoken="@">
<filter token="foo" value="${bar}" />
</filterset>
<target name="filterset-test3">
<copy file="foo.old" tofile="foo.new3">
<filterset refid="test-filters" />
</copy>
</target>
</project>
Problem
I'd like to use a filterset to write out a file replacing a variable which is set as an ant property. I can pass the property if I have a nested filterset, but not a refid; I'm reusing the filterset, so I'd like to use the refid. foo.old just contains `foo=@foo@` This works: ``` <target name="filterset-test1"> <property name="bar" value="here is foo" /> <copy file="foo.old" tofile="foo.new1"> <filterset begintoken="@" endtoken="@"> <filter token="foo" value="${bar}" /> </filterset> </copy> </target> ``` And this fails to replace the token: ``` <filterset id="test-filters" begintoken="@" endtoken="@"> <filter token="foo" value="${bar}" /> </filterset> <target name="filterset-test3"> <property name="bar" value="property doesn't pass thru" /> <copy file="foo.old" tofile="foo.new3"> <filterset refid="test-filters" /> </copy> </target> ``` Is there a way to do the latter? I've also tried writing a properties file and using it as the `filtersfile` property.