java - que - ¿Funciones de cuerdas hormiga?
pathelement ant (2)
podría usar la tarea de script y usar un lenguaje de script compatible con jsr223 como javascript, jruby, jython, ... para hacer su manejo de cadenas
¿Tiene Ant una forma de hacer mayúsculas / minúsculas / capturar / descapitalizar las cadenas? Miré a PropertyRegex pero no creo que los dos últimos sean posibles con eso. ¿Eso es algo más?
De este hilo , use una tarea Ant <script>
:
<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 = project.getProperty("foo");
// convert to uppercase
lowercaseValue = sentence.toLowerCase();
uppercaseValue = sentence.toUpperCase();
// store the result in a new property
project.setProperty("allLowerCase",lowercaseValue);
project.setProperty("allUpperCase",uppercaseValue);
]]> </script>
<!-- Display the values -->
<echo>allLowerCase=${allLowerCase}</echo>
<echo>allUpperCase=${allUpperCase}</echo>
</target>
Salida
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
Actualice el comentario de WarrenFaith para separar la secuencia de comandos en otro objetivo y pasar una propiedad del objetivo llamado de vuelta al destino de la llamada
Utilice el anticaídas de la jarra ant-contrib
<target name="testCallback">
<antcallback target="capitalize" return="allUpperCase">
<param name="param1" value="This is a normal line that doesn''t say much"/>
</antcallback>
<echo>a = ${allUpperCase}</echo>
</target>
y capitalise
tarea capitalise
utiliza el pasado en param1
así
<target name="capitalize">
<property name="foo" value="${param1}"/>
Salida final
[echo] a = THIS IS A NORMAL LINE THAT DOESN''T SAY MUCH