Elixir es un lenguaje dinámico y funcional diseñado para crear aplicaciones escalables y mantenibles.
Para obtener más información sobre Elixir, instalación y documentación, consulte el sitio web de Elixir.
Los nuevos lanzamientos se anuncian en la lista de correo de anuncios. Puede suscribirse enviando un correo electrónico a [email protected] y respondiendo al correo electrónico de confirmación.
Todas las versiones de seguridad estarán etiquetadas con [security]
. Para obtener más información, lea nuestra Política de seguridad.
Todas las interacciones en nuestros canales de comunicación oficiales siguen nuestro Código de Conducta.
Para informar errores, visite nuestro rastreador de problemas y siga los pasos para informar un nuevo problema. Informe las vulnerabilidades de seguridad de forma privada en [email protected] .
Todos los errores actualmente abiertos relacionados con el repositorio de Elixir se enumeran en el rastreador de problemas. El equipo de Elixir utiliza el rastreador de problemas para centrarse en elementos procesables , incluidas las mejoras planificadas a corto y mediano plazo. También hacemos todo lo posible para etiquetar las entradas para mayor claridad y facilitar la colaboración.
Nuestra política de artículos procesables tiene algunas consecuencias importantes, tales como:
Las propuestas de nuevas funcionalidades, así como las solicitudes de soporte, ayuda y orientación, deben realizarse en sus propios espacios, que se detallan a continuación.
Los problemas que hemos identificado que están fuera del alcance de Elixir, como un error en el nivel inicial, se cerrarán (y se solicitará que se trasladen a otro lugar si corresponde).
Cerramos activamente los problemas no relacionados y no procesables para mantener ordenado el rastreador de problemas. Es posible que nos equivoquemos de vez en cuando y con gusto revisaremos los problemas y los reabriremos cuando sea necesario.
¡Mantén el tono positivo y sé amable! Para obtener más información, consulte el Código de conducta.
Para proponer nuevas funciones, inicie una discusión en la lista de correo de Elixir Core. La historia del desarrollo del lenguaje y su enfoque se describen en nuestro sitio web.
Tenga en cuenta que es su responsabilidad argumentar y explicar por qué una función es útil y cómo afectará al código base y a la comunidad. Una buena propuesta incluye la descripción del problema y cómo se compara la solución propuesta con las alternativas existentes en el ecosistema de Elixir (así como en otros idiomas). Para resolver una propuesta antes de enviarla, considere utilizar y recopilar comentarios de los espacios comunitarios que figuran en la barra lateral del sitio web de Elixir.
Una vez que se acepta una propuesta, se agregará al rastreador de problemas. Las características y correcciones de errores que ya se han fusionado y se incluirán en la próxima versión se "cierran" y se agregan al registro de cambios.
Para debates generales, soporte y ayuda, utilice los espacios comunitarios que figuran en la barra lateral del sitio web de Elixir, como foros, plataformas de chat, etc., donde la comunidad en general estará disponible para ayudarle.
Para conocer las diferentes formas de instalar Elixir, consulte nuestras instrucciones de instalación en el sitio web. Sin embargo, si desea contribuir a Elixir, deberá compilar desde la fuente.
Primero, instale Erlang. Después de eso, clona este repositorio en tu máquina, compílalo y pruébalo:
git clone https://github.com/elixir-lang/elixir.git
cd elixir
make
Nota: si está ejecutando Windows, este artículo incluye notas importantes para compilar Elixir desde el código fuente en Windows.
En caso de que desee utilizar esta versión de Elixir como versión de su sistema, debe agregar el directorio bin
a su variable de entorno PATH.
Al actualizar el repositorio, es posible que desee ejecutar make clean
antes de volver a compilar. Para compilaciones deterministas, debe configurar la variable de entorno ERL_COMPILER_OPTIONS=deterministic
.
Invitamos a contribuir a Elixir. Para contribuir, hay algunas cosas que necesitas saber sobre el código. Primero, el código de Elixir se divide para cada aplicación dentro de la carpeta lib
:
elixir
: kernel y biblioteca estándar de Elixir
eex
- EEx es el motor de plantillas que te permite incrustar Elixir
ex_unit
: ExUnit es un marco de prueba simple que se incluye con Elixir.
iex
- IEx significa Interactive Elixir: el caparazón interactivo de Elixir
logger
- Logger es el registrador incorporado
mix
- Mix es la herramienta de construcción de Elixir
Puede ejecutar todas las pruebas en el directorio raíz con make test
. También puedes ejecutar pruebas para un marco específico con make test_#{APPLICATION}
, por ejemplo, make test_ex_unit
. Si acaba de cambiar algo en la biblioteca estándar de Elixir, puede ejecutar solo esa parte a través de make test_stdlib
.
Si solo está cambiando un archivo, puede optar por compilar y ejecutar pruebas para ese archivo específico para ciclos de desarrollo más rápidos. Por ejemplo, si está cambiando el módulo String, puede compilarlo y ejecutar sus pruebas como:
bin/elixirc lib/elixir/lib/string.ex -o lib/elixir/ebin
bin/elixir lib/elixir/test/elixir/string_test.exs
Algunos archivos de prueba necesitan que su test_helper.exs
sea requerido explícitamente antes, como por ejemplo:
bin/elixir -r lib/logger/test/test_helper.exs lib/logger/test/logger_test.exs
También puedes usar LINE
env var para ejecutar una sola prueba:
LINE=123 bin/elixir lib/elixir/test/elixir/string_test.exs
Para recompilar todo (incluidos los módulos de Erlang):
make compile
Una vez realizados los cambios, recuerde ejecutar make format
para garantizar que todos los archivos estén formateados correctamente y luego ejecute el paquete completo con make test
.
Si su contribución falla durante el arranque del idioma, puede reconstruir el idioma desde cero con:
make clean_elixir compile
De manera similar, si no puede hacer que Elixir se compile o que las pruebas pasen después de actualizar un pago existente, ejecute make clean compile
. Puede consultar el estado de compilación oficial. Se pueden encontrar más tareas leyendo el Makefile.
Con las pruebas ejecutándose y aprobándose, estará listo para contribuir a Elixir y enviar una solicitud de extracción. Hemos guardado algunas solicitudes de extracción excelentes que recibimos en el pasado en caso de que esté buscando algunos ejemplos:
Una vez que se envía una solicitud de extracción, el equipo de Elixir revisará sus cambios. A continuación describimos nuestro proceso para aclarar los roles de todos los involucrados.
Todas las solicitudes de extracción deben ser aprobadas por dos confirmadores antes de fusionarse en el repositorio. Si son necesarios cambios, el equipo dejará los comentarios apropiados solicitando cambios en el código. Desafortunadamente, no podemos garantizar que una solicitud de extracción se fusione, incluso cuando se soliciten modificaciones, ya que el equipo de Elixir reevaluará la contribución a medida que cambie.
Los confirmadores también pueden enviar cambios de estilo directamente a su sucursal. Si prefiere administrar todos los cambios usted mismo, puede desactivar la función "Permitir ediciones de los mantenedores" al enviar su solicitud de extracción.
Opcionalmente, el equipo de Elixir puede asignar a alguien para que revise una solicitud de extracción. Si se asigna a alguien, debe aprobar explícitamente el código antes de que otro miembro del equipo pueda fusionarlo.
Cuando finalice la revisión, su solicitud de extracción se eliminará y se fusionará en el repositorio. Si ha organizado cuidadosamente sus confirmaciones y cree que deberían fusionarse sin aplastarse, menciónelo en un comentario.
La creación de la documentación requiere que ExDoc esté instalado y construido junto con Elixir:
# After cloning and compiling Elixir, in its parent directory:
git clone https://github.com/elixir-lang/ex_doc.git
cd ex_doc && ../elixir/bin/elixir ../elixir/bin/mix do deps.get + compile
Ahora regresa al directorio raíz de Elixir y ejecuta:
make docs # to generate HTML pages
make docs DOCS_FORMAT=epub # to generate EPUB documents
Esto producirá conjuntos de documentación para elixir
, eex
, ex_unit
, iex
, logger
y mix
en el directorio doc
. Si planea contribuir con documentación, consulte nuestras mejores prácticas para redactar documentación.
"Elixir" y el logotipo de Elixir son marcas comerciales registradas de The Elixir Team.
El código fuente de Elixir se publica bajo la licencia Apache 2.0.
Consulte los archivos de AVISO y LICENCIA para obtener más información.