DUNE(1) Dune Manual DUNE(1) نام (NAME) dune - سیستم ساخت ترکیب‌پذیر برای OCaml خلاصه دستور (SYNOPSIS) dune build [--watch] dune runtest [--watch] dune exec NAME dune utop [DIR] dune install dune init project NAME [PATH] [--libs=l1,l2 --ppx=p1,p2 --inline-tests] توضیحات (DESCRIPTION) ابزار Dune یک سیستم ساخت است که منحصراً برای پروژه‌های OCaml طراحی شده است. این ابزار بر ارائه یک تجربه کاربری یکپارچه تمرکز دارد و بیشتر جزئیات سطح پایین کامپایل OCaml را مدیریت می‌کند. تنها کاری که باید انجام دهید ارائه توصیفی از پروژه‌تان است و Dune بقیه کارها را انجام خواهد داد. طرحی که این ابزار پیاده‌سازی می‌کند از ساختار مورداستفاده در Jane Street الهام گرفته شده و با دنیای متن‌باز سازگار گردیده است. این سیستم در طول زمانی دراز به بلوغ رسیده است و روزانه توسط صدها توسعه‌دهنده استفاده می‌شود، که نشان‌دهنده آزمودگی بالا و کارآمدی آن است. نام‌های مستعار دستور (COMMAND ALIASES) printenv [OPTION]… [PATH] نام مستعاری برای env. promote [--build-info] [--file] [OPTION]… [FILE]… نام مستعاری برای promotion apply. test [OPTION]… [TEST]… نام مستعاری برای runtest. دستورات (COMMANDS) build [OPTION]… [TARGET]… ساخت اهداف داده‌شده، یا اهداف پیش‌فرض در صورت عدم تعیین هدف. cache COMMAND … مدیریت حافظه پنهان (cache) اشتراکی Dune برای دست‌ساخته‌های ساخت. clean [OPTION]… [PATH]… پاکسازی پروژه. describe [COMMAND] … توصیف فضای کاری (workspace). diagnostics [OPTION]… واکشی و بازگرداندن خطاها از ساخت جاری. exec [OPTION]… PROG [ARGS]… اجرای یک دستور در محیطی مشابه با حالتی که عملیات نصب انجام شده باشد. external-lib-deps [OPTION]… [TARGET]… به dune describe external-lib-deps منتقل شده است. fmt [OPTION]… قالب‌بندی کد منبع. format-dune-file [OPTION]… [FILE] قالب‌بندی فایل‌های dune. help [--build-info] [--man-format=FMT] [OPTION]… [TOPIC] راهنمای تکمیلی Dune. init COMMAND … گروه دستورات برای مقداردهی اولیه مؤلفه‌های Dune. install [OPTION]… [PACKAGE]… نصب بسته‌های تعریف‌شده در فضای کاری. installed-libraries [OPTION]… چاپ کتابخانه‌های نصب‌شده روی سیستم. internal COMMAND … monitor [OPTION]… اتصال به یک کارساز Dune RPC و نظارت بر آن. ocaml COMMAND … گروه دستورات مرتبط با OCaml. ocaml-merlin [OPTION]… راه‌اندازی یک کارساز پیکربندی merlin. package COMMAND … مدیریت بسته آزمایشی pkg COMMAND … مدیریت بسته آزمایشی promotion COMMAND … کنترل چگونگی انتشار مجدد تغییرات به کد منبع. rocq COMMAND … گروه دستورات مرتبط با Rocq. rpc COMMAND … سازوکار RPC ابزار Dune. آزمایشی. rules [OPTION]… [TARGET]… تخلیه (dump) قوانین. runtest [OPTION]… [TEST]… اجرای آزمون‌ها. show COMMAND … گروه دستورات برای نمایش اطلاعات درباره فضای کاری shutdown [OPTION]… لغو و خاموش کردن فرآیندهای ساخت در فضای کاری جاری. subst [--build-info] [OPTION]… جایگزینی نشانه‌ها (watermarks) در فایل‌های منبع. tools COMMAND … گروه دستورات برای ابزارهای بسته‌بندی‌شده. top [OPTION]… [DIR] چاپ فهرستی از دستورالعمل‌های toplevel برای گنجاندن دایرکتوری‌ها و بارگذاری فایل‌های cma. trace COMMAND … دستوراتی برای مشاهده رد وقایع (event trace) ابزار dune uninstall [OPTION]… [PACKAGE]… حذف بسته‌های تعریف‌شده در فضای کاری. upgrade [OPTION]… ارتقای پروژه‌ها بین نسخه‌های اصلی Dune. utop [OPTION]… [DIR] [ARGS]… بارگذاری کتابخانه در utop. گزینه‌های عمومی (COMMON OPTIONS) این گزینه‌ها بین تمامی دستورات مشترک هستند. --help[=FMT] (default=auto) نمایش این راهنما در قالب FMT. مقدار FMT باید یکی از auto، pager، groff یا plain باشد. با انتخاب auto، چنانچه متغیر محیطی TERM برابر با dumb یا تعریف‌نشده باشد، قالب به صورت pager یا plain خواهد بود. --version نمایش اطلاعات نسخه. راهنمای بیشتر (MORE HELP) برای راهنمایی درباره یک دستور مشخص از `dune COMMAND --help' استفاده کنید. وضعیت خروج (EXIT STATUS) dune با این مقادیر خارج می‌شود: 0 در صورت موفقیت. 1 در صورت بروز خطا. 130 در صورتی که توسط یک سیگنال متوقف شود. محیط (ENVIRONMENT) این متغیرهای محیطی بر اجرای dune تأثیر می‌گذارند: CLICOLOR اگر مقداری غیر از 0 داشته باشد، رنگ‌های ANSI پشتیبانی می‌شوند و زمانی که برنامه به دستور دیگری لوله‌کشی (pipe) نشده باشد، باید استفاده شوند. اگر برابر با 0 باشد، کدهای فرار رنگی ANSI در خروجی درج نمی‌شوند CLICOLOR_FORCE اگر مقداری غیر از 0 داشته باشد، رنگ‌های ANSI تحت هر شرایطی باید فعال شوند. DUNE_CACHE_ROOT در صورت تنظیم، مکان تمام حافظه‌های پنهان مختلف مورداستفاده dune را مشخص می‌کند. گزارش باگ‌ها (BUGS) گزارش‌های باگ را در https://github.com/ocaml/dune/issues بررسی کنید مثال‌ها (EXAMPLES) 1. مقداردهی اولیه یک پروژه جدید به نام `foo': dune init project foo 2. ساخت تمام اهداف در درخت منبع جاری: dune build 3. اجرای فایل اجرایی به نام `bar': dune exec bar 4. اجرای تمام آزمون‌ها در درخت منبع جاری: dune runtest 5. نصب تمام مؤلفه‌های تعریف‌شده در پروژه: dune install 6. حذف تمام دست‌ساخته‌های ساخت: dune clean Dune 3.24.2 DUNE(1)