Elixir ist eine dynamische, funktionale Sprache, die zum Erstellen skalierbarer und wartbarer Anwendungen entwickelt wurde.
Weitere Informationen zu Elixir, Installation und Dokumentation finden Sie auf der Website von Elixir.
Neue Veröffentlichungen werden in der Ankündigungs-Mailingliste angekündigt. Sie können sich anmelden, indem Sie eine E-Mail an [email protected] senden und auf die Bestätigungs-E-Mail antworten.
Alle Sicherheitsversionen werden mit [security]
gekennzeichnet. Weitere Informationen finden Sie in unserer Sicherheitsrichtlinie.
Alle Interaktionen in unseren offiziellen Kommunikationskanälen folgen unserem Verhaltenskodex.
Um Fehler zu melden, besuchen Sie unseren Issue-Tracker und befolgen Sie die Schritte zum Melden eines neuen Problems. Bitte melden Sie Sicherheitslücken privat unter [email protected] .
Alle derzeit offenen Fehler im Zusammenhang mit dem Elixir-Repository werden im Issues-Tracker aufgelistet. Das Elixir-Team nutzt den Issues-Tracker, um sich auf umsetzbare Elemente zu konzentrieren, einschließlich geplanter Verbesserungen kurz- und mittelfristig. Wir tun auch unser Bestes, Einträge zu kennzeichnen, um der Übersichtlichkeit halber zu helfen und die Zusammenarbeit zu erleichtern.
Unsere Richtlinie zu umsetzbaren Artikeln hat einige wichtige Konsequenzen, wie zum Beispiel:
Das Vorschlagen neuer Funktionen sowie Anfragen nach Support, Hilfe und Anleitung müssen in ihren eigenen Bereichen erfolgen, die im Folgenden näher erläutert werden.
Probleme, von denen wir festgestellt haben, dass sie außerhalb des Zuständigkeitsbereichs von Elixir liegen, wie z. B. ein Upstream-Fehler, werden geschlossen (und ggf. um eine Verschiebung an einen anderen Ort gebeten).
Wir schließen aktiv unabhängige und nicht umsetzbare Probleme, um den Issues-Tracker übersichtlich zu halten. Von Zeit zu Zeit kann es vorkommen, dass etwas schiefgeht. Gerne gehen wir auf Probleme noch einmal ein und öffnen bei Bedarf erneut.
Halten Sie den Ton positiv und seien Sie freundlich! Weitere Informationen finden Sie im Verhaltenskodex.
Wenn Sie neue Funktionen vorschlagen möchten, starten Sie bitte eine Diskussion in der Elixir Core-Mailingliste. Die Geschichte der Sprachentwicklung und ihre Schwerpunkte werden auf unserer Website beschrieben.
Denken Sie daran, dass es in Ihrer Verantwortung liegt, zu argumentieren und zu erklären, warum eine Funktion nützlich ist und wie sie sich auf die Codebasis und die Community auswirkt. Ein guter Vorschlag umfasst die Problembeschreibung und wie die vorgeschlagene Lösung im Vergleich zu bestehenden Alternativen im Elixir-Ökosystem (sowie in anderen Sprachen) abschneidet. Um einen Vorschlag vor der Einreichung auszuarbeiten, sollten Sie die in der Seitenleiste der Elixir-Website aufgeführten Community-Bereiche nutzen und Feedback einholen.
Sobald ein Vorschlag angenommen wurde, wird er dem Issue-Tracker hinzugefügt. Bereits zusammengeführte Features und Bugfixes, die im nächsten Release enthalten sein werden, werden dann „geschlossen“ und dem Changelog hinzugefügt.
Für allgemeine Diskussionen, Unterstützung und Hilfe nutzen Sie bitte die in der Seitenleiste der Elixir-Website aufgeführten Community-Bereiche wie Foren, Chat-Plattformen usw., in denen die breitere Community Ihnen zur Verfügung steht.
Informationen zu den vielen verschiedenen Möglichkeiten zur Installation von Elixir finden Sie in unseren Installationsanweisungen auf der Website. Wenn Sie jedoch zu Elixir beitragen möchten, müssen Sie aus dem Quellcode kompilieren.
Installieren Sie zunächst Erlang. Klonen Sie anschließend dieses Repository auf Ihren Computer, kompilieren und testen Sie es:
git clone https://github.com/elixir-lang/elixir.git
cd elixir
make
Hinweis: Wenn Sie Windows verwenden, enthält dieser Artikel wichtige Hinweise zum Kompilieren von Elixir aus dem Quellcode unter Windows.
Falls Sie diese Elixir-Version als Ihre Systemversion verwenden möchten, müssen Sie das bin
Verzeichnis zu Ihrer PATH-Umgebungsvariablen hinzufügen.
Wenn Sie das Repository aktualisieren, möchten Sie möglicherweise make clean
ausführen, bevor Sie es neu kompilieren. Für deterministische Builds sollten Sie die Umgebungsvariable ERL_COMPILER_OPTIONS=deterministic
festlegen.
Wir laden zu Beiträgen zu Elixir ein. Um einen Beitrag leisten zu können, müssen Sie einige Dinge über den Code wissen. Zunächst wird der Elixir-Code von jeder Anwendung im lib
-Ordner aufgeteilt:
elixir
– Kernel und Standardbibliothek von Elixir
eex
– EEx ist die Template-Engine, mit der Sie Elixir einbetten können
ex_unit
– ExUnit ist ein einfaches Test-Framework, das mit Elixir geliefert wird
iex
– IEx steht für Interactive Elixir: die interaktive Shell von Elixir
logger
– Logger ist der integrierte Logger
mix
– Mix ist das Build-Tool von Elixir
Sie können alle Tests im Stammverzeichnis mit make test
ausführen. Sie können mit make test_#{APPLICATION}
auch Tests für ein bestimmtes Framework ausführen, beispielsweise make test_ex_unit
. Wenn Sie gerade etwas in der Standardbibliothek von Elixir geändert haben, können Sie nur diesen Teil über make test_stdlib
ausführen.
Wenn Sie nur eine Datei ändern, können Sie für schnellere Entwicklungszyklen Tests für diese bestimmte Datei kompilieren und ausführen. Wenn Sie beispielsweise das String-Modul ändern, können Sie es kompilieren und seine Tests wie folgt ausführen:
bin/elixirc lib/elixir/lib/string.ex -o lib/elixir/ebin
bin/elixir lib/elixir/test/elixir/string_test.exs
Bei einigen Testdateien muss vorher explizit die test_helper.exs
angefordert werden, z. B.:
bin/elixir -r lib/logger/test/test_helper.exs lib/logger/test/logger_test.exs
Sie können auch die LINE
Umgebungsvariable verwenden, um einen einzelnen Test auszuführen:
LINE=123 bin/elixir lib/elixir/test/elixir/string_test.exs
Um alle (einschließlich Erlang-Module) neu zu kompilieren:
make compile
Nachdem Sie Ihre Änderungen vorgenommen haben, denken Sie bitte daran, make format
auszuführen, um sicherzustellen, dass alle Dateien richtig formatiert sind, und führen Sie dann die gesamte Suite mit make test
aus.
Wenn Ihr Beitrag beim Bootstrapping der Sprache fehlschlägt, können Sie die Sprache von Grund auf neu erstellen mit:
make clean_elixir compile
Wenn Sie Elixir nach dem Aktualisieren eines vorhandenen Checkouts nicht zum Kompilieren oder zum Bestehen der Tests bringen können, führen Sie ebenfalls make clean compile
aus. Sie können den offiziellen Build-Status überprüfen. Weitere Aufgaben finden Sie im Makefile.
Nachdem die Tests ausgeführt und bestanden wurden, sind Sie bereit, zu Elixir beizutragen und eine Pull-Anfrage zu senden. Wir haben einige hervorragende Pull-Anfragen gespeichert, die wir in der Vergangenheit erhalten haben, falls Sie nach Beispielen suchen:
Sobald eine Pull-Anfrage gesendet wurde, überprüft das Elixir-Team Ihre Änderungen. Im Folgenden beschreiben wir unseren Prozess, um die Rollen aller Beteiligten zu klären.
Alle Pull-Anfragen müssen von zwei Committern genehmigt werden, bevor sie in das Repository eingefügt werden. Wenn Änderungen erforderlich sind, hinterlässt das Team entsprechende Kommentare mit der Bitte um Änderungen am Code. Leider können wir nicht garantieren, dass eine Pull-Anfrage zusammengeführt wird, selbst wenn Änderungen angefordert werden, da das Elixir-Team den Beitrag bei Änderungen neu bewerten wird.
Committer können Stiländerungen auch direkt in Ihren Zweig übertragen. Wenn Sie alle Änderungen lieber selbst verwalten möchten, können Sie die Funktion „Änderungen durch Betreuer zulassen“ deaktivieren, wenn Sie Ihren Pull-Request einreichen.
Das Elixir-Team kann optional jemanden mit der Prüfung einer Pull-Anfrage beauftragen. Wenn jemand zugewiesen wird, muss er den Code explizit genehmigen, bevor ein anderes Teammitglied ihn zusammenführen kann.
Wenn die Überprüfung abgeschlossen ist, wird Ihr Pull-Request komprimiert und im Repository zusammengeführt. Wenn Sie Ihre Commits sorgfältig organisiert haben und der Meinung sind, dass sie ohne Squashing zusammengeführt werden sollten, erwähnen Sie dies bitte in einem Kommentar.
Für die Erstellung der Dokumentation muss ExDoc neben Elixir installiert und erstellt werden:
# 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
Gehen Sie nun zurück zum Stammverzeichnis von Elixir und führen Sie Folgendes aus:
make docs # to generate HTML pages
make docs DOCS_FORMAT=epub # to generate EPUB documents
Dadurch werden Dokumentationssätze für elixir
, eex
, ex_unit
, iex
, logger
und mix
im Verzeichnis doc
erstellt. Wenn Sie vorhaben, Dokumentation beizutragen, lesen Sie bitte unsere Best Practices zum Schreiben von Dokumentation.
„Elixir“ und das Elixir-Logo sind eingetragene Marken des Elixir-Teams.
Der Elixir-Quellcode wird unter der Apache-Lizenz 2.0 veröffentlicht.
Weitere Informationen finden Sie in den NOTICE- und LICENSE-Dateien.