Elixir est un langage dynamique et fonctionnel conçu pour créer des applications évolutives et maintenables.
Pour en savoir plus sur Elixir, l'installation et la documentation, consultez le site Web d'Elixir.
Les nouvelles versions sont annoncées dans la liste de diffusion des annonces. Vous pouvez vous abonner en envoyant un e-mail à [email protected] et en répondant à l'e-mail de confirmation.
Toutes les versions de sécurité seront étiquetées avec [security]
. Pour plus d’informations, veuillez lire notre politique de sécurité.
Toutes les interactions dans nos canaux de communication officiels suivent notre code de conduite.
Pour signaler des bogues, visitez notre outil de suivi des problèmes et suivez les étapes pour signaler un nouveau problème. Veuillez divulguer les failles de sécurité en privé à l'adresse [email protected] .
Tous les bogues actuellement ouverts liés au référentiel Elixir sont répertoriés dans le suivi des problèmes. L'équipe Elixir utilise le système de suivi des problèmes pour se concentrer sur les éléments concrets , y compris les améliorations prévues à court et moyen terme. Nous faisons également de notre mieux pour étiqueter les entrées pour plus de clarté et pour faciliter la collaboration.
Notre politique relative aux articles pouvant donner lieu à une action a des conséquences importantes, telles que :
La proposition de nouvelles fonctionnalités ainsi que les demandes de support, d'aide et de conseils doivent se faire dans leurs propres espaces, détaillés ci-dessous.
Les problèmes que nous avons identifiés comme étant en dehors de la portée d'Elixir, comme un bug en amont, seront résolus (et demandés à être déplacés ailleurs si nécessaire).
Nous fermons activement les problèmes sans rapport et sans issue pour garder le suivi des problèmes bien rangé. Nous pouvons nous tromper de temps en temps et nous reviendrons volontiers sur les problèmes et rouvrirons si nécessaire.
Gardez le ton positif et soyez gentil ! Pour plus d’informations, consultez le Code de conduite.
Pour proposer de nouvelles fonctionnalités, veuillez démarrer une discussion dans la liste de diffusion Elixir Core. L'histoire du développement du langage et son orientation sont décrites sur notre site Web.
Gardez à l’esprit qu’il est de votre responsabilité d’argumenter et d’expliquer pourquoi une fonctionnalité est utile et comment elle impactera la base de code et la communauté. Une bonne proposition comprend la description du problème et comment la solution proposée se compare aux alternatives existantes dans l'écosystème Elixir (ainsi que dans d'autres langues). Pour peaufiner une proposition avant de la soumettre, envisagez d'utiliser et de recueillir les commentaires des espaces communautaires répertoriés dans la barre latérale du site Web Elixir.
Une fois qu'une proposition est acceptée, elle sera ajoutée au suivi des problèmes. Les fonctionnalités et corrections de bugs qui ont déjà été fusionnées et qui seront incluses dans la prochaine version sont alors « fermées » et ajoutées au journal des modifications.
Pour des discussions générales, de l'assistance et de l'aide, veuillez utiliser les espaces communautaires répertoriés dans la barre latérale du site Web Elixir, tels que les forums, les plateformes de chat, etc., où la communauté au sens large sera disponible pour vous aider.
Pour connaître les nombreuses façons d’installer Elixir, consultez nos instructions d’installation sur le site Web. Cependant, si vous souhaitez contribuer à Elixir, vous devrez compiler à partir des sources.
Tout d’abord, installez Erlang. Après cela, clonez ce référentiel sur votre machine, compilez-le et testez-le :
git clone https://github.com/elixir-lang/elixir.git
cd elixir
make
Remarque : si vous utilisez Windows, cet article comprend des notes importantes pour compiler Elixir à partir des sources sous Windows.
Si vous souhaitez utiliser cette version d'Elixir comme version de votre système, vous devez ajouter le répertoire bin
à votre variable d'environnement PATH.
Lors de la mise à jour du référentiel, vous souhaiterez peut-être exécuter make clean
avant de recompiler. Pour les versions déterministes, vous devez définir la variable d'environnement ERL_COMPILER_OPTIONS=deterministic
.
Nous invitons les contributions à Elixir. Pour contribuer, il y a quelques choses que vous devez savoir sur le code. Tout d'abord, le code Elixir est divisé par chaque application dans le dossier lib
:
elixir
- Le noyau et la bibliothèque standard d'Elixir
eex
- EEx est le moteur de modèles qui vous permet d'intégrer Elixir
ex_unit
- ExUnit est un framework de test simple fourni avec Elixir
iex
- IEx signifie Interactive Elixir : le shell interactif d'Elixir
logger
- Logger est l'enregistreur intégré
mix
- Mix est l'outil de construction d'Elixir
Vous pouvez exécuter tous les tests dans le répertoire racine avec make test
. Vous pouvez également exécuter des tests pour un framework spécifique avec make test_#{APPLICATION}
, par exemple make test_ex_unit
. Si vous venez de modifier quelque chose dans la bibliothèque standard d'Elixir, vous pouvez exécuter uniquement cette partie via make test_stdlib
.
Si vous ne modifiez qu'un seul fichier, vous pouvez choisir de compiler et d'exécuter des tests pour ce fichier spécifique afin d'accélérer les cycles de développement. Par exemple, si vous modifiez le module String, vous pouvez le compiler et exécuter ses tests comme :
bin/elixirc lib/elixir/lib/string.ex -o lib/elixir/ebin
bin/elixir lib/elixir/test/elixir/string_test.exs
Certains fichiers de test nécessitent que leur test_helper.exs
soit explicitement requis au préalable, tels que :
bin/elixir -r lib/logger/test/test_helper.exs lib/logger/test/logger_test.exs
Vous pouvez également utiliser la variable d'environnement LINE
pour exécuter un seul test :
LINE=123 bin/elixir lib/elixir/test/elixir/string_test.exs
Pour tout recompiler (y compris les modules Erlang) :
make compile
Une fois vos modifications effectuées, n'oubliez pas d'exécuter make format
pour garantir que tous les fichiers sont correctement formatés, puis exécutez la suite complète avec make test
.
Si votre contribution échoue lors du bootstrap du langage, vous pouvez reconstruire le langage à partir de zéro avec :
make clean_elixir compile
De même, si vous ne parvenez pas à compiler Elixir ou à réussir les tests après la mise à jour d'une extraction existante, exécutez make clean compile
. Vous pouvez vérifier l'état officiel de la construction. Plus de tâches peuvent être trouvées en lisant le Makefile.
Une fois les tests en cours et réussis, vous êtes prêt à contribuer à Elixir et à envoyer une pull request. Nous avons enregistré quelques excellentes demandes de tirage que nous avons reçues dans le passé au cas où vous chercheriez des exemples :
Une fois la pull request envoyée, l’équipe Elixir examinera vos modifications. Nous décrivons notre processus ci-dessous pour clarifier les rôles de toutes les personnes impliquées.
Toutes les demandes d'extraction doivent être approuvées par deux committers avant d'être fusionnées dans le référentiel. Si des modifications sont nécessaires, l'équipe laissera des commentaires appropriés demandant des modifications au code. Malheureusement, nous ne pouvons pas garantir qu'une pull request sera fusionnée, même lorsque des modifications sont demandées, car l'équipe Elixir réévaluera la contribution au fur et à mesure de ses modifications.
Les committers peuvent également appliquer des modifications de style directement à votre branche. Si vous préférez gérer toutes les modifications vous-même, vous pouvez désactiver la fonctionnalité « Autoriser les modifications des responsables » lors de la soumission de votre demande d'extraction.
L'équipe Elixir peut éventuellement désigner quelqu'un pour examiner une pull request. Si quelqu'un est affecté, il doit approuver explicitement le code avant qu'un autre membre de l'équipe puisse le fusionner.
Une fois l'examen terminé, votre demande d'extraction sera écrasée et fusionnée dans le référentiel. Si vous avez soigneusement organisé vos commits et pensez qu'ils doivent être fusionnés sans les écraser, veuillez le mentionner dans un commentaire.
La création de la documentation nécessite qu'ExDoc soit installé et construit avec 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
Revenez maintenant au répertoire racine d'Elixir et exécutez :
make docs # to generate HTML pages
make docs DOCS_FORMAT=epub # to generate EPUB documents
Cela produira des ensembles de documentation pour elixir
, eex
, ex_unit
, iex
, logger
et mix
sous le répertoire doc
. Si vous envisagez de contribuer à la documentation, veuillez consulter nos meilleures pratiques en matière de rédaction de documentation.
« Elixir » et le logo Elixir sont des marques déposées de The Elixir Team.
Le code source d'Elixir est publié sous licence Apache 2.0.
Consultez les fichiers AVIS et LICENCE pour plus d’informations.