>I have a property value (string) that I receive from a command >line argument as lowercase text. > >On some platforms I need it to be converted to Title case, on >others I need it to be converted to UPPER case before passing it on to my >build tools. > >Is there a preferred method to perform case conversions in ant scripts?
I would use a <scriptdef>. Jan <project> <scriptdef name="convert" language="javascript"> <attribute name="property"/> <attribute name="upper"/> <attribute name="title"/> <element name="fileset" type="fileset"/> <![CDATA[ // Access to <attribute>s with default values property = attributes.get("property"); upper = getDefault("upper", property + ".upper"); title = getDefault("title", property + ".title"); // compute the new values valueOrg = project.getProperty(property); valueUpc = valueOrg.toUpperCase(); valueTit = valueOrg.substring(0,1).toUpperCase() + valueOrg.substring(1); // store the values project.setNewProperty(upper, valueUpc); project.setNewProperty(title, valueTit); // Helper function function getDefault(propName, defaultValue) { x = attributes.get(propName); if (x == null) { return defaultValue; } else { return x; } } ]]> </scriptdef> <property name="one" value="one"/> <property name="two" value="two"/> <convert property="one" upper="upper" title="title"/> <echo> one : ${one} upper : ${upper} title : ${title} </echo> <convert property="two"/> <echoproperties prefix="two"/> </project> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]