La versión 1.0 del módulo de Ivy tiene un pequeño bug que hace que los comandos Play de otros módulos no puedan ejecutarse. No voy a entrar en explicaciones, sólo os dejo el fix: tenéis que eliminar la última línea del fichero ${play.path}/modules/ivy-1.0/commans.py.
123456789
print"\n"print"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"print"~ Application dependencies ~"print"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"forjarinos.listdir(os.path.join(application_path,'lib')):print(jar)print"\n"sys.exit(0)# ¡Esta línea es maligna!
Hay una cosa que siempre me ha fastidiado de la salida que escupe maven al ejecutar los tests: nunca sé, así de un vistazo, si todo ha ido bien o si ha fallado algo. Así que tras googlear un poco me he topado con esto http://ju-n.net/colorize-maven-output.
Se trata de una función bash que utiliza sed para procesar la salida de maven y colorearla.
Para poder utilizarlo también con watchr (sobre el que David ha blogueadorecientemente) hemos (gracias David) introducido un par de modificaciones en el script que aparece en el enlace anterior:
123456789101112131415161718
# aquí irían todos los exports de colores ...
# hacemos un alias del comando sed que aparece en el enlace de más# arriba sin olvidarnos de resetear los estilos al finalalias colorize-mvn-output='sed -e [...] && echo -ne ${RESET_FORMATTING}' mvn-color(){$(which mvn)$@ | colorize-mvn-output
}alias mvn="mvn-color" mvn-watchr(){ watchr $@ | colorize-mvn-output
}# como usamos watchr para más cosas que ejecutar tests # de maven, no creamos un alias que sobreescriba el comando # watchr
Variante de la receta que os traje el otro día. Esta vez utilizando Maven en lugar de Ant. Sólo hay que modificar un poco el fichero de configuración de Watchr y listo.
12345678910
watch('src/main/java/(.*)\.java')do|md|file="#{md[1]}Test"test(file)ifFile.exists?("src/test/java/#{file}.java")endwatch('src/test/java/(.*Test)\.java'){|md|test(md[1])}deftest(file)system("mvn test -Dtest=#{file.gsub("/",".")}")end