Saltar al contenido

10 herramientas esenciales de Erlang para los desarrolladores de Erlang

Tan pronto como pases de los ejemplos simples y entres en el reino de las aplicaciones OTP, será mucho mejor que trabajes con una herramienta de construcción que puede ayudarte a organizar tu código, gestionar las dependencias, construir versiones, ejecutar pruebas y más.

Cuando se trabaja con Erlang, se puede abrazar el Makefile o tratar de alejarse lo más posible de él.

10 herramientas esenciales de Erlang para los desarrolladores de Erlang
10 herramientas esenciales de Erlang para los desarrolladores de Erlang

Si el uso de Makefiles para construir y gestionar tus proyectos te parece natural, probablemente te gustará erlang.mk. erlang.mk es básicamente un gran script de Makefile que puedes incluir en tu propio Makefile con algo como:

12PROJECT=your_appinclude erlang.mk

Makefile

Con eso, tienes acceso a muchos comandos, como

  • $ hacer para construir su proyecto
  • $ hacer pruebas para ejecutar sus suites de pruebas
  • $ make rel para generar una liberación

Puedes encontrar la lista completa usando la ayuda de $ make, y puedes, por supuesto, añadir más con sólo extender tu Makefile.

erlang.mk también proporciona una infraestructura de plugins, donde se pueden añadir herramientas de construcción, como hexer.mk o elvis.mk.

Lo mejor de erlang.mk es que proporciona el apoyo necesario para construir casi cualquier biblioteca de Erlang existente, independientemente de la herramienta que utilicen los propietarios de las bibliotecas para mantenerla. Con erlang.mk puede incluir aplicaciones construidas con rebar , rebar3 , erlang.mk (como se espera :P), ad-hoc Makefiles , y otras en sus depósitos. Puedes descargar deps de github , hex.pm , bitbucket , tu sistema de archivos local y muchos otros lugares. Claramente erlang.mk hace que Erlang sea mucho más versátil.

Ahora, si los Makefiles no son lo tuyo y prefieres usar la herramienta oficial de construcción (desde marzo de 2016) patrocinada por el equipo Erlang/OTP, entonces rebar3 es tu camino a seguir.

rebar3 está escrito enteramente en Erlang y la idea es que puedas usarlo sin añadir ningún Makefile a tu proyecto.

Una vez que lo instale en su sistema, debe agregar un archivo rebar.config en la carpeta raíz de su proyecto. Uno mínimo se ve algo así (aunque incluso las opciones de abajo son opcionales):

123{deps,[]}.{erl_opts,[debug_info]}.{cover_enabled,true}.

erlang

Puedes encontrar la lista de todas las opciones que puedes espeficar aquí. Luego, puedes ejecutar comandos como los que están abajo en tu shell:

  • $ rebar3 compilar para obtener deps y construir tu proyecto
  • $ rebar3 ct para hacer sus pruebas
  • $ rebar3 release para generar un release

Por supuesto, $ rebar3 help te da la lista de todos los comandos disponibles. Y, al igual que erlang.mk, rebar3 también es extensible a través de plugins.

Una de las mejores cosas de rebar3 es que, al usar rebar.lock, proporciona construcciones repetibles . De esta manera, una vez que estés seguro de que tu proyecto funciona como se espera, puedes estar seguro de que seguirá funcionando como se espera sin importar cuántas veces o en cuántos lugares diferentes lo compiles.