Elixir هي لغة ديناميكية وظيفية مصممة لبناء تطبيقات قابلة للتطوير وقابلة للصيانة.
لمزيد من المعلومات حول الإكسير والتركيب والتوثيق، قم بزيارة موقع الإكسير الإلكتروني.
يتم الإعلان عن الإصدارات الجديدة في القائمة البريدية للإعلان. يمكنك الاشتراك عن طريق إرسال بريد إلكتروني إلى [email protected] والرد على رسالة التأكيد الإلكترونية.
سيتم تمييز كافة الإصدارات الأمنية بـ [security]
. لمزيد من المعلومات، يرجى قراءة سياسة الأمان الخاصة بنا.
تتبع جميع التفاعلات في قنوات الاتصال الرسمية لدينا قواعد السلوك الخاصة بنا.
للإبلاغ عن الأخطاء، قم بزيارة أداة تعقب المشكلات لدينا واتبع خطوات الإبلاغ عن مشكلة جديدة. يرجى الكشف عن الثغرات الأمنية بشكل خاص على [email protected] .
يتم إدراج جميع الأخطاء المفتوحة حاليًا والمتعلقة بمستودع Elixir في أداة تعقب المشكلات. يستخدم فريق Elixir أداة تعقب المشكلات للتركيز على العناصر القابلة للتنفيذ ، بما في ذلك التحسينات المخطط لها على المدى القصير والمتوسط. كما أننا نبذل قصارى جهدنا لتصنيف الإدخالات من أجل الوضوح وتسهيل التعاون.
إن سياسة العناصر القابلة للتنفيذ لدينا لها بعض النتائج المهمة، مثل:
يجب أن يتم اقتراح الميزات الجديدة وكذلك طلبات الدعم والمساعدة والتوجيه في المساحات الخاصة بهم، المفصلة أدناه.
سيتم إغلاق المشكلات التي حددنا أنها خارج نطاق نطاق Elixir، مثل خطأ المنبع (ويطلب نقلها إلى مكان آخر إذا كان ذلك مناسبًا).
نحن نعمل بنشاط على إغلاق المشكلات غير ذات الصلة وغير القابلة للتنفيذ للحفاظ على نظام تعقب المشكلات. قد نخطئ من وقت لآخر وسنعيد النظر في المشكلات بكل سرور ونعيد فتحها عند الضرورة.
حافظ على نبرة صوتك إيجابية وكن لطيفًا! لمزيد من المعلومات، راجع مدونة قواعد السلوك.
لاقتراح ميزات جديدة، يرجى بدء مناقشة في القائمة البريدية لـ Elixir Core. يتم وصف تاريخ تطور اللغة وتركيزه على موقعنا.
ضع في اعتبارك أنه تقع على عاتقك مسؤولية الجدال وشرح سبب فائدة الميزة وكيف ستؤثر على قاعدة التعليمات البرمجية والمجتمع. يتضمن الاقتراح الجيد وصف المشكلة وكيفية مقارنة الحل المقترح بالبدائل الموجودة في نظام Elixir البيئي (وكذلك في اللغات الأخرى). لتسوية الاقتراح قبل تقديمه، فكر في استخدام وجمع التعليقات من مساحات المجتمع المدرجة في الشريط الجانبي لموقع Elixir.
بمجرد قبول الاقتراح، ستتم إضافته إلى أداة تعقب المشكلات. يتم بعد ذلك "إغلاق" الميزات وإصلاحات الأخطاء التي تم دمجها بالفعل وسيتم تضمينها في الإصدار التالي وإضافتها إلى سجل التغيير.
لإجراء المناقشات العامة والدعم والمساعدة، يرجى استخدام مساحات المجتمع المدرجة في الشريط الجانبي لموقع Elixir، مثل المنتديات ومنصات الدردشة وما إلى ذلك، حيث سيكون المجتمع الأوسع متاحًا لمساعدتك.
للتعرف على الطرق العديدة المختلفة لتثبيت Elixir، راجع تعليمات التثبيت الخاصة بنا على الموقع الإلكتروني. ومع ذلك، إذا كنت تريد المساهمة في Elixir، فستحتاج إلى التجميع من المصدر.
أولاً، قم بتثبيت Erlang. بعد ذلك، انسخ هذا المستودع على جهازك، وقم بتجميعه واختباره:
git clone https://github.com/elixir-lang/elixir.git
cd elixir
make
ملحوظة: إذا كنت تستخدم نظام التشغيل Windows، فإن هذه المقالة تتضمن ملاحظات مهمة لتجميع Elixir من المصدر على نظام Windows.
في حالة رغبتك في استخدام إصدار Elixir هذا كإصدار نظامك، فأنت بحاجة إلى إضافة دليل bin
إلى متغير بيئة PATH الخاص بك.
عند تحديث المستودع، قد ترغب في تشغيل make clean
قبل إعادة الترجمة. بالنسبة للبنيات الحتمية، يجب عليك تعيين متغير البيئة ERL_COMPILER_OPTIONS=deterministic
.
نحن ندعو إلى المساهمة في Elixir. للمساهمة، هناك بعض الأشياء التي تحتاج إلى معرفتها حول الكود. أولاً، يتم تقسيم كود Elixir على كل تطبيق داخل مجلد lib
:
elixir
- نواة الإكسير والمكتبة القياسية
eex
- EEx هو محرك القالب الذي يسمح لك بتضمين Elixir
ex_unit
- ExUnit هو إطار اختبار بسيط يأتي مع Elixir
iex
- IEx يرمز إلى Interactive Elixir: الغلاف التفاعلي لـ Elixir
logger
- المسجل هو المسجل المدمج
mix
- المزيج هو أداة بناء Elixir
يمكنك إجراء جميع الاختبارات في الدليل الجذر باستخدام make test
. يمكنك أيضًا إجراء اختبارات لإطار عمل محدد باستخدام make test_#{APPLICATION}
، على سبيل المثال، make test_ex_unit
. إذا قمت للتو بتغيير شيء ما في مكتبة Elixir القياسية، فيمكنك تشغيل هذا الجزء فقط من خلال make test_stdlib
.
إذا كنت تقوم بتغيير ملف واحد فقط، فيمكنك اختيار تجميع وتشغيل الاختبارات لهذا الملف المحدد من أجل دورات تطوير أسرع. على سبيل المثال، إذا كنت تقوم بتغيير وحدة السلسلة، فيمكنك تجميعها وتشغيل اختباراتها على النحو التالي:
bin/elixirc lib/elixir/lib/string.ex -o lib/elixir/ebin
bin/elixir lib/elixir/test/elixir/string_test.exs
تحتاج بعض ملفات الاختبار إلى أن تكون test_helper.exs
الخاصة بها مطلوبة بشكل صريح من قبل، مثل:
bin/elixir -r lib/logger/test/test_helper.exs lib/logger/test/logger_test.exs
يمكنك أيضًا استخدام LINE
env var لإجراء اختبار واحد:
LINE=123 bin/elixir lib/elixir/test/elixir/string_test.exs
لإعادة ترجمة الكل (بما في ذلك وحدات Erlang):
make compile
بعد الانتهاء من التغييرات، يرجى تذكر تشغيل make format
لضمان تنسيق جميع الملفات بشكل صحيح، ثم تشغيل المجموعة الكاملة باستخدام make test
.
إذا فشلت مساهمتك أثناء تمهيد اللغة، فيمكنك إعادة بناء اللغة من البداية باستخدام:
make clean_elixir compile
وبالمثل، إذا لم تتمكن من تجميع Elixir أو اجتياز الاختبارات بعد تحديث عملية دفع موجودة، فقم بتشغيل make clean compile
. يمكنك التحقق من حالة البناء الرسمية. يمكن العثور على المزيد من المهام من خلال قراءة ملف Makefile.
مع إجراء الاختبارات واجتيازها، أنت جاهز للمساهمة في Elixir وإرسال طلب سحب. لقد قمنا بحفظ بعض طلبات السحب الممتازة التي تلقيناها في الماضي في حال كنت تبحث عن بعض الأمثلة:
بمجرد إرسال طلب السحب، سيقوم فريق Elixir بمراجعة التغييرات التي أجريتها. نوضح عمليتنا أدناه لتوضيح أدوار جميع المعنيين.
يجب أن تتم الموافقة على جميع طلبات السحب من قبل اثنين من الملتزمين قبل دمجها في المستودع. إذا كانت التغييرات ضرورية، فسيترك الفريق التعليقات المناسبة التي تطلب إجراء تغييرات على الكود. لسوء الحظ، لا يمكننا ضمان دمج طلب السحب، حتى عند طلب التعديلات، حيث سيقوم فريق Elixir بإعادة تقييم المساهمة عند تغيرها.
يمكن للملتزمين أيضًا دفع تغييرات النمط مباشرة إلى فرعك. إذا كنت تفضل إدارة جميع التغييرات بنفسك، فيمكنك تعطيل ميزة "السماح بالتعديلات من المشرفين" عند إرسال طلب السحب الخاص بك.
قد يقوم فريق Elixir بشكل اختياري بتعيين شخص ما لمراجعة طلب السحب. إذا تم تعيين شخص ما، فيجب عليه الموافقة بشكل صريح على الرمز قبل أن يتمكن عضو آخر في الفريق من دمجه.
عند انتهاء المراجعة، سيتم سحق طلب السحب الخاص بك ودمجه في المستودع. إذا كنت قد نظمت التزاماتك بعناية وتعتقد أنه يجب دمجها دون سحقها، فيرجى ذكر ذلك في تعليق.
يتطلب إنشاء الوثائق تثبيت ExDoc وإنشائه جنبًا إلى جنب مع 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
عد الآن إلى الدليل الجذر لـ Elixir وقم بتشغيل:
make docs # to generate HTML pages
make docs DOCS_FORMAT=epub # to generate EPUB documents
سيؤدي هذا إلى إنتاج مجموعات وثائق لـ elixir
و eex
و ex_unit
و iex
و logger
و mix
ضمن دليل doc
. إذا كنت تخطط للمساهمة بالوثائق، فيرجى التحقق من أفضل ممارساتنا لكتابة الوثائق.
"Elixir" وشعار Elixir هما علامتان تجاريتان مسجلتان لفريق Elixir.
تم إصدار كود مصدر Elixir بموجب ترخيص Apache 2.0.
تحقق من ملفات الإشعار والترخيص لمزيد من المعلومات.