3
我想使用一个filterset写出一个文件来替代一个被设置为ant属性的变量。如果我有一个嵌套的filterset,但是不是refid,我可以传递该属性;我正在重复使用filterset,所以我想使用refid。ant filterset属性范围
foo.old只包含[email protected]@
这工作:
<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>
这不能代替令牌:
<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>
有没有办法做到后者?我也尝试编写一个属性文件并将其用作filtersfile
属性。
谢谢,cpeisert。然而,我需要做的是设置filterset-test3中的信息,甚至filteret-test3依赖的不同目标。这是可能的,还是我需要重新检查我的操作顺序? – climmunk
为了使您的过滤器逻辑更加模块化,一种方法是将任务包装在macrodef中。然后,您可以将任务嵌入之内,就像您的第一个示例,而不使用'refid'。 –
我接受了你的建议,并重新评估了这些属性。谢谢! – climmunk