Problemas con WAD

2021/02/22

Leí sobre la utilidad watch and deploy (WAD) para realizar el redeploy de aplicaciones JEE de forma automática a distintos servidores al cambiar el código fuente.

Pruebas

A partir de aquí las pruebas realizadas con un proyecto de ejemplo. Para preparar el entorno se descarga el servidor wildfly, ejemplos de código y wad:

$ DIR=$HOME/workspace/pruebas-wad
$ mkdir -p $DIR && cd $DIR

$ wget 'https://download.jboss.org/wildfly/22.0.1.Final/wildfly-22.0.1.Final.tar.gz'
$ tar xf wildfly-22.0.1.Final.tar.gz

$ git clone --branch 22.x --depth 1 https://github.com/wildfly/quickstart.git

$ wget 'https://github.com/AdamBien/wad/releases/download/0.1.1/wad.jar'

Se realizaran las pruebas con el ejemplo quickstart/helloworld-rs:

Resumen de problemas encontrados

De las pruebas anteriores, los problemas encontrados fueron:

  1. Escasa documentación en la página web, por lo menos en lo relacionado al error por falta de la property maven.home. El requerimiento de maven no es mencionado tampoco.

  2. El nombre del directorio donde está el proyecto debe tener el mismo nombre que el war generado por maven.

    Lo último se debe a que leyendo el código fuente de wad este utiliza la api de maven-invoker, la cual no expone una forma de obtener el nombre del artefacto generado, por lo cual tiene sentido que se utilice el nombre del directorio como forma determinista de conocer el nombre del artefacto a deployar.

Conclusiones

Si bien la utilidad se ve interesante, se ve como una restricción importante el que el war generado deba tener el mismo nombre del directorio del proyecto y es una limitante que el workaround propuesto no funcione.

Quizás una alternativa interesante para evaluar sea entr.