views:

51

answers:

2

Does Ant have any way of doing string uppercase/lowercase/captialize/uncaptialize string manipulations? I looked at PropertyRegex but I don't believe the last two are possible with that. Is that anything else?

A: 

you could use the script task and use a jsr223-supported script language like javascript, jruby, jython,... to do your string handling

Nikolaus Gradwohl
+1  A: 

From this thread, use the <script> tag to run this via ant

<target name="capitalize">
        <property name="foo" value="This is a normal line that doesn't say much"/>


 <!-- Using Javascript functions to convert the string -->
        <script language="javascript"> <![CDATA[

            // getting the value
            sentence = myProject.getProperty("foo");

            // convert to uppercase
            lowercaseValue = sentence.toLowerCase();
        uppercaseValue = sentence.toUpperCase();

            // store the result in a new property
            myProject.setProperty("allLowerCase",lowercaseValue);
        myProject.setProperty("allUpperCase",uppercaseValue);

        ]]> </script>

        <!-- Display the values -->
        <echo>allLowerCase=${allLowerCase}</echo>
        <echo>allUpperCase=${allUpperCase}</echo>



    </target>

Output

D:\ant-1.8.0RC1\bin>ant capitalize
Buildfile: D:\ant-1.8.0RC1\bin\build.xml

capitalize:
     [echo] allLowerCase=this is a normal line that doesn't say much
     [echo] allUpperCase=THIS IS A NORMAL LINE THAT DOESN'T SAY MUCH

BUILD SUCCESSFUL
JoseK