cruise control, maven, ant y perl todo junto

Bueno, he terminado mi conversor de ficheros .h a fichero .java

Tengo instalado Cruise Control, de forma que todas las noches saca el proyecto de CVS con los últimos cambios y los compila. El proyecto tiene formato de maven y se compila con maven. Cruise Control se lleva muy bien con maven y no hay problemas, todas las noches Cruise Control llama al mvn install y compila el proyecto.

Como cosa maravillosa se me ha ocurrido que Cruise Control podría sacar de CVS los fuentes .h que hayamos tocado, llamar al script de perl que convierte esos .h a .java y luego compilar los ficheros java para construir el jar correspondiente. Como Cruise Control llama a maven, debería ser maven el que haga todo esto. Así que a ello. Lo que hice fue lo siguiente:

  • Un proyecto maven con src/main/c con todos los .h y luego, sin fuentes, src/main/java y src/main/ada -el script de .h a ada aun está por hacer-. Puse también un src/main/perl con el fuente del script de perl c2java.pl
  • Luego, en el fichero pom.xml del proyecto, copie el plugin para llamar a tareas de ant de aquí.
  • Dentro del "ahí", entre <tasks> y </tasks> puse un <exec> de ant para llamar al script de perl.

En fin, todo estupendo. Mi mvn install ahora, antes de compilar, ejecuta la tarea de ant que se encarga de llamar a perl para generar los fuentes de java en src/main/java. Luego compila los fuentes de java y genera el jar.

De esta forma, si en el proyecto necesito cambiar uno de estos tipos, simplemente lo cambio en el .h, lo meto en CVS y todo listo. Cuando compile la parte de java, automáticamente se generán primero los fuentes de java y luego se compilan, generando el jar.

Esta entrada fue publicada en java, maven, perl. Guarda el enlace permanente.

2 respuestas a cruise control, maven, ant y perl todo junto

  1. Blaxter dijo:

    Si necesitas algo mínimamente complejo (o simplemente no quieres poner 20 tareas ant), no tengas miedo a hacer un plugin para maven, son tremendamente sencillos de hacer. (En bicosyes puse uno, con código incluido por si quieres pillar la estructura)

  2. Chuidiang dijo:

    Pues mira, es una cosa con la que tenía ganas de meterme, si me dices que es muy sencillo seguro que me animo.

    Voy a echarle un ojo y probaré. Gracias.

    Se bueno.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.