<property name "servers"="aaa,bbb,ccc"/> <property name "aaa.ip"="10.0.0.1"/> <property name "bbb.ip"="10.0.0.2"/> <property name "ccc.ip"="10.0.0.3"/>From above properties, I want to create a property whose value is "10.0.0.1,10.0.0.2,10.0.0.3".
I first tried propertyregex:
<propertyregex property="server.list"
    input="${servers}"
    regexp="([^,]+)"
    replace="${\1.ip}"
    global="true" />
<echo message="${server.list}"/>
But it does not work. The "server.list" becomes "${aaa.ip},${bbb.ip},${ccc.ip}"
Next I tried var and for:
<var name="server.list" value=""/>
<for list="${servers}" param="server">
    <sequential>
        <if>
            <equals arg1="${server.list}" arg2=""/>
            <then>
                <var name="server.list" value="${@{server}.ip}"/>
            </then>
            <else>
                <var name="server.list" value="${server.list},${@{server}.ip}"/>
            </else>
        </if>
    </sequential>
</for>
Yes, this works. Now I get what I want.
