Dune هو نظام بناء لـ OCaml. إنه يوفر تجربة متسقة ويهتم بالتفاصيل ذات المستوى المنخفض لتجميع OCaml. كل ما عليك فعله هو تقديم وصف لمشروعك، وسيقوم Dune بالباقي.
تطبق شركة Dune مخططًا مستوحى من المخطط المستخدم داخل Jane Street ومتكيفًا مع عالم مفتوح المصدر. لقد نضجت على مدى فترة طويلة ويتم استخدامها يوميًا من قبل مئات المطورين، مما يعني أنها تم اختبارها وإنتاجيتها بدرجة عالية.
الكثيب يأتي مع دليل. إذا كنت تريد البدء دون قراءة الكثير، فاطلع على دليل البدء السريع أو شاهد هذا الفيديو التمهيدي.
يحتوي دليل الأمثلة على أمثلة لمشاريع تستخدم Dune.
يقرأ Dune بيانات تعريف المشروع من ملفات dune
، وهي ملفات ثابتة ذات صيغة S-expression بسيطة. ويستخدم هذه المعلومات لإعداد قواعد البناء، وإنشاء ملفات التكوين لأدوات التطوير مثل Merlin، والتعامل مع التثبيت، وما إلى ذلك.
يعتبر Dune نفسه سريعًا، ولا يتحمل سوى القليل جدًا من الحمل، ويدعم البنيات المتوازية على جميع الأنظمة الأساسية. ليس لديها تبعيات النظام. OCaml هو كل ما تحتاجه لبناء Dune والحزم باستخدام Dune.
على وجه الخصوص، يمكن للمرء تثبيت OCaml على نظام التشغيل Windows باستخدام برنامج التثبيت الثنائي ثم استخدام وحدة تحكم Windows فقط لإنشاء Dune والحزم باستخدام Dune.
يعتبر Dune قابلاً للتركيب، مما يعني أنه يمكن ترتيب العديد من مشاريع Dune معًا، مما يؤدي إلى بناء واحد يعرف Dune كيفية تنفيذه. وهذا يسمح أحادية المشاريع.
يجعل Dune التطوير المتزامن لحزم متعددة مهمة تافهة.
يعرف Dune كيفية التعامل مع المستودعات التي تحتوي على عدة حزم. عند البناء عبر opam، يكون قادرًا على استخدام المكتبات التي تم تثبيتها مسبقًا بشكل صحيح، حتى لو كانت موجودة بالفعل في الشجرة المصدر.
الدعوة السحرية هي :
$ dune build --only-packages < package-name > @install
يمكن لـ Dune إنشاء مستودع كود مصدر معين مقابل تكوينات متعددة في وقت واحد. يساعد هذا في الحفاظ على الحزم عبر عدة إصدارات من OCaml، حيث يمكنك اختبارها جميعًا مرة واحدة دون أي متاعب.
على وجه الخصوص، هذا يجعل من السهل التعامل مع التجميع المتقاطع. هذه الميزة تتطلب opam.
يتطلب Dune الإصدار 4.08.0 من OCaml لبناء نفسه ويمكنه إنشاء مشاريع OCaml باستخدام OCaml 4.02.3 أو أحدث.
نوصي بتثبيت Dune عبر مدير حزم opam:
$ opam install dune
إذا كنت جديدًا على opam، فتأكد من تشغيل eval $(opam config env)
لإتاحة dune
في PATH
الخاص بك. ثنائي dune
مستقل بذاته وقابل للنقل، لذا يمكنك نسخه بأمان في مكان آخر لإتاحته بشكل دائم.
يمكنك أيضًا إنشائه يدويًا باستخدام:
$ make release
$ make install
إذا لم يكن لديك make
، يمكنك القيام بما يلي:
$ ocaml boot/bootstrap.ml
$ ./dune.exe build -p dune --profile dune-bootstrap
$ ./dune.exe install dune
ينشئ الأمر الأول الملف الثنائي dune.exe
. يقوم الثاني ببناء الملفات الإضافية التي تم تثبيتها بواسطة Dune، مثل صفحات الدليل ، والأخير يقوم ببساطة بتثبيت كل ذلك على النظام.
يرجى ملاحظة ما يلي : ما لم تقم بتشغيل البرنامج النصي الاختياري ./configure
، يمكنك ببساطة نسخ dune.exe
في أي مكان وسيعمل. dune
قابلة للنقل بالكامل وتكتشف بيئتها في وقت التشغيل بدلاً من ترميزها في وقت التجميع.
إذا كانت لديك أسئلة أو مشكلات حول Dune، يمكنك طرحها في صفحة مناقشات GitHub أو فتح تذكرة على GitHub.