¿Ant tiene alguna forma de hacer cadenas mayúsculas/minúsculas/capturar/descapitalizar las manipulaciones de cadenas? Miré a PropertyRegex pero no creo que los dos últimos sean posibles con eso. ¿Eso es algo más?¿Funciones de cuerdas de hormiga?
Respuesta
se podía utilizar la tarea script y utilizar un lenguaje de script jsr223-apoyado como JavaScript, jruby, jython, ... para hacer su manejo
From this thread cadena, utilice 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
actualización para hacer comentarios de WarrenFaith para separar la secuencia de comandos en otro objetivo y pasar una propiedad de la llamada de destinovolver al objetivo de llamar
Uso antcallback de la jarra hormiga-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 utiliza la aprobada en param1
tanto
<target name="capitalize">
<property name="foo" value="${param1}"/>
salida final
[echo] a = THIS IS A NORMAL LINE THAT DOESN'T SAY MUCH
Creo que esto solo funciona con jdk1.6 +. – kfox
Aunque es más fácil con Java 6, funciona con Java 5, pero debe proporcionar una implementación de su lenguaje de scripts, por ejemplo, Rhino para Javascript. –
@JoseK: ¿Sabes cómo puedo separar el script en un objetivo? Cuando hago eso, la propiedad cambia en el objetivo, pero luego se restablece el valor anterior. Mi problema es que quiero que el objetivo principal sea lo más pequeño posible para que incluso los no programadores puedan cambiar las propiedades. Gracias – WarrenFaith
- 1. Juego de cuerdas?
- 2. Lista de cuerdas en Freemarker
- 3. para cuerdas en Webview
- 4. Traducciones de cuerdas de aplicación comunes
- 5. Supersecuencia de una bolsa de cuerdas
- 6. _id mangosta y cuerdas
- 7. Equivalente para cuerdas pop
- 8. rendimiento con Perl Cuerdas
- 9. Convertir XmlDocument para cuerdas
- 10. SQL con cuerdas
- 11. Permiso hormiga denegado problema
- 12. Ejecutar hormiga desde Java
- 13. replaceregex hormiga reemplazar multilínea
- 14. configurar hormiga para scala
- 15. ¿Preguntas clásicas sobre entrevistas de manipulación de cuerdas?
- 16. Implementación pública de cuerdas en C#?
- 17. XmlSerializer, base64 codificar un miembro de cuerdas
- 18. Atajo de Eclipse a Cuerdas largas divididas
- 19. ¿Cuerdas de escape para JavaScript usando Jinja2?
- 20. "printf" en impresiones de cuerdas galimatías
- 21. get SecKeyRef de base 64 cuerdas
- 22. Representaciones de cadena: ¿mejoras sobre cuerdas?
- 23. printf Relleno para cuerdas de 0
- 24. ruby rspec y comparación de cuerdas
- 25. error CreateProcess = 2 corriendo javadoc de hormiga
- 26. Migrando de hormiga a maven en Netbeans
- 27. Hormiga: ¿Cómo Interate sobre todas las subcarpetas y realizar una tarea de hormiga
- 28. ¿La mejor manera de escaparse y quitar cuerdas en Ruby?
- 29. decodificación permutado en inglés Cuerdas
- 30. Cuerdas largas Lua en fslex
Ver también: http://stackoverflow.com/questions/7129672/uppercase-lowercase-capitalize-an-ant-property/7131195#7131195 –