Search code examples
antbuild-processbuildproperties

How Ant can get a value read from a file into a property value?


The file looks like:

a1,b1
a2,b2
...

I know the value "a2". How to get the value "b2" into a property value.

I know how to select line which contains "a2" by:

<linecontains>
  <contains value="a2"/>
</linecontains>

But I do not know how to set a property value to "b2". I am at your disposal for more other information.


Solution

  • The following does the trick for me:

    <loadfile srcfile="data" property="result">
         <filterchain>
               <linecontains>
                    <contains value="a2"/>
               </linecontains>
               <tokenfilter>
                    <replacestring from="a2," to=""/>
               </tokenfilter>
        </filterchain>
    </loadfile>
    <echo message="${result}"/>
    

    As you pointed out, first the line the the 'a2' will be selected. The tokenfilter then replaces a2 and the colon with nothing. Hope that helps.