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