DUNE-TOP(1) Dune Manual DUNE-TOP(1) نام (NAME) dune-top - چاپ فهرستی از رهنمودهای toplevel برای گنجاندن دایرکتوری‌ها و بارگذاری فایل‌های cma خلاصه دستور (SYNOPSIS) dune top [گزینه]… [پوشه] توضیحات (DESCRIPTION) چاپ فهرستی از رهنمودهای toplevel برای گنجاندن دایرکتوری‌ها و بارگذاری فایل‌های cma. خروجی dune ocaml top باید در یک toplevel ارزیابی شود تا کتابخانه‌ها در آن در دسترس قرار گیرند. در بسیاری از toplevelها می‌توان با استفاده از دستور #use_output به این هدف رسید، مانند #use_output "dune ocaml top". گزینه‌ها (OPTIONS) --action-stderr-on-success=VAL مشابه --action-stdout-on-success اما برای خطای استاندارد به جای خروجی استاندارد. یک پیش‌فرض مناسب برای مخازن بزرگ یکپارچه (mono- repositories) به صورت --action-stdout-on-success=swallow --action-stderr-on-success=must-be-empty است. این اطمینان حاصل می‌کند که ساخت موفقیت‌آمیز یک خروجی خالی و «پاک» دارد. --action-stdout-on-success=VAL تعیین نحوه برخورد با خروجی استاندارد اکشن‌ها در صورت موفقیت. مقادیر ممکن عبارتند از: print برای چاپ مستقیم در خروجی Dune، swallow برای نادیده گرفتن کامل آن و must-be-empty برای اجبار به اینکه اکشن هیچ چیزی چاپ نکرده باشد. با مقدار must-be-empty، اگر اکشن چیزی در خروجی استاندارد چاپ کرده باشد، Dune آن را ناموفق تلقی می‌کند. مقدار پیش‌فرض print است. --build-info نمایش اطلاعات ساخت. --context=CONTEXT (پیش‌فرض=default) انتخاب کانتکست برای ساخت/اجرای top. --display-separate-messages جداسازی پیام‌های خطا با یک خط خالی. --error-reporting=VAL (پیش‌فرض=deterministic) کنترل زمان گزارش خطاهای ساخت. مقدار early خطاها را به محض شناسایی گزارش می‌دهد. مقدار deterministic خطاها را در پایان ساخت و با ترتیبی قطعی گزارش می‌دهد. مقدار twice هر خطا را دو بار گزارش می‌دهد: یک بار به محض شناسایی و بار دیگر در پایان ساخت با ترتیبی قطعی. -f, --force اجبار به اجرای مجدد اکشن‌های مرتبط با نام‌های مستعار (alias)، حتی اگر وابستگی‌های آن‌ها تغییری نکرده باشد. --file-watcher=VAL (پیش‌فرض=automatic) سازوکار تشخیص تغییرات در سورس‌کد. مقدار Automatic باعث می‌شود dune یک برنامه خارجی را برای تشخیص تغییرات اجرا کند. مقدار Manual برای اطلاع‌رسانی دستی تغییر فایل‌ها به dune است. --passive-watch-mode مشابه [--watch]، اما فرآیند ساخت تنها زمانی آغاز می‌شود که از خارج از طریق یک RPC دستور داده شود. --sandbox=VAL (پیش‌فرض از متغیر محیطی DUNE_SANDBOX) تنظیم حالت ایزوله‌سازی (sandboxing). برخی اکشن‌ها نیازمند حالت ایزوله‌سازی خاصی هستند و این تنظیم را نادیده می‌گیرند. مقادیر مجاز عبارتند از: none، symlink، copy، hardlink. --stop-on-first-error متوقف کردن ساخت به محض برخورد با اولین خطا. -w, --watch به جای خاتمه ساخت پس از تکمیل، به طور مداوم منتظر تغییرات فایل‌ها می‌ماند. --wait-for-filesystem-clock ابزار Dune محتوای فایل‌ها را برای افزایش کارایی افزایشی خلاصه‌سازی (digest) می‌کند. این خلاصه‌ها خودشان کش می‌شوند. در برخی موارد، Dune برای اطمینان از صحت عملکرد باید برخی از ورودی‌های کش خلاصه را حذف کند. این گزینه باعث می‌شود Dune منتظر پیش رفتن ساعت سیستم فایل بماند تا نیازی به حذف چیزی نداشته باشد. احتمالاً نیازی به این گزینه نخواهید داشت؛ این گزینه بیشتر برای توسعه‌دهندگان Dune کاربرد دارد تا تست‌های کش خلاصه‌سازی Dune بازتولیدپذیرتر شوند. گزینه‌های عمومی (COMMON OPTIONS) این گزینه‌ها میان تمامی دستورات مشترک هستند. --always-show-command-line همیشه خط فرمان کامل برنامه‌های اجراشده توسط dune را نمایش می‌دهد. --auto-promote ترفیع خودکار فایل‌ها. این کار مشابه اجرای دستور dune promote پس از ساخت است. --build-dir=FILE (پیش‌فرض از متغیر محیطی DUNE_BUILD_DIR) پوشه مشخص‌شده برای ساخت. در صورت عدم تعیین، _build استفاده می‌شود. --cache=VAL (پیش‌فرض از متغیر محیطی DUNE_CACHE) فعال یا غیرفعال کردن کش Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیش‌فرض `enabled-except-user-rules' است. --cache-check-probability=VAL (پیش‌فرض از متغیر محیطی DUNE_CACHE_CHECK_PROBABILITY) بررسی بازتولیدپذیری ساخت از طریق اجرای مجدد تصادفی قوانین و مقایسه نتایج با موارد ذخیره‌شده در کش Dune. نکته: افزایش احتمال این بررسی‌ها سرعت ساخت را کاهش می‌دهد. احتمال پیش‌فرض صفر است، یعنی هیچ قانونی بررسی نمی‌شود. --cache-storage-mode=VAL (پیش‌فرض از متغیر محیطی DUNE_CACHE_STORAGE_MODE) حالت ذخیره‌سازی کش Dune (یکی از مقادیر auto، hardlink یا copy). مقدار پیش‌فرض `hardlink' است. --config-file=FILE بارگذاری این فایل پیکربندی به جای فایل پیش‌فرض. --debug-backtraces همیشه ردیابی برگشتی (backtrace) استثناها را چاپ می‌کند. --debug-dependency-path در صورت بروز خطا، مسیر وابستگی را از هدف‌های مشخص‌شده در خط فرمان تا قانونی که شکست خورده چاپ می‌کند. --debug-package-logs (پیش‌فرض از متغیر محیطی DUNE_DEBUG_PACKAGE_LOGS) همیشه لاگ‌های استاندارد را هنگام ساخت بسته‌ها چاپ می‌کند. --default-target=TARGET (پیش‌فرض=@@default) تنظیم هدف پیش‌فرضی که در صورت عدم تعیین به dune build داده می‌شود. --diff-command=VAL (پیش‌فرض از متغیر محیطی DUNE_DIFF_COMMAND) دستور پوسته برای مقایسه (diff) فایل‌ها. برای غیرفعال کردن چاپ تفاوت‌ها از - استفاده کنید. --disable-promotion (پیش‌فرض از متغیر محیطی DUNE_DISABLE_PROMOTION) غیرفعال کردن تمامی قوانین ترفیع. --display=MODE کنترل حالت نمایش Dune. برای جزئیات بیشتر به dune-config(5) مراجعه کنید. مقادیر مجاز برای این گزینه عبارتند از progress، verbose، short، quiet یا tui. --dump-gc-stats=FILE تخلیه آمار زباله‌روب (GC) در یک فایل پس از تکمیل ساخت. --help[=FMT] (پیش‌فرض=auto) نمایش این راهنما در قالب FMT. مقدار FMT باید یکی از auto، pager، groff یا plain باشد. در حالت auto، هرگاه متغیر محیطی TERM برابر با dumb یا تعریف‌نشده باشد، قالب به صورت pager یا plain خواهد بود. --ignore-promoted-rules نادیده گرفتن قوانین با (mode promote)، به جز مواردی با (only ...). متغیر %{ignoring_promoted_rules} در فایل‌های dune مشخص می‌کند که این گزینه ارسال شده است یا خیر. --instrument-with=BACKENDS (پیش‌فرض از متغیر محیطی DUNE_INSTRUMENT_WITH) فعال‌سازی ابزاردقیق‌سازی (instrumentation) توسط BACKENDS. مقدار BACKENDS فهرستی از نام‌های کتابخانه‌ها است که با کاما جدا شده‌اند و هر کدام باید یک بک‌اند ابزاردقیق‌سازی را تعریف کرده باشند. -j JOBS (پیش‌فرض از متغیر محیطی DUNE_JOBS) اجرای حداکثر JOBS دستور به طور همزمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هسته‌ها (پیش‌فرض) باشد. --no-buffer عدم بافر کردن خروجی دستورات اجراشده توسط dune. به طور پیش‌فرض dune خروجی زیردستورات را بافر می‌کند تا از تداخل خروجی دستورات همزمان جلوگیری شود. با این حال، این مسئله ممکن است هنگام اشکال‌زدایی تست‌های طولانی مشکل‌ساز شود. با گزینه --no-buffer، دستورات دسترسی مستقیم به ترمینال خواهند داشت. توجه داشته باشید که در این حالت خروجی آن‌ها در فایل لاگ ثبت نخواهد شد. بهتر است از این گزینه همراه با -j 1 استفاده کنید تا از تداخل خروجی‌ها جلوگیری شود. علاوه بر این، استفاده از --verbose نیز پیشنهاد می‌شود تا مطمئن شوید دستورات پیش از اجرا چاپ می‌شوند. --no-config عدم بارگذاری فایل پیکربندی. --no-print-directory عدم نمایش پیام‌های "Entering directory". --only-packages=PACKAGES نادیده گرفتن استنزاهایی (stanza) که به بسته‌ای ارجاع می‌دهند که در PACKAGES نیست. مقدار PACKAGES فهرستی از نام‌های بسته‌هاست که با کاما از هم جدا شده‌اند. توجه داشته باشید که این کار تاثیری مشابه حذف استنزاهای مربوطه از فایل‌های dune دارد. این گزینه عمدتاً برای انتشار بسته‌ها کاربرد دارد. در زمان توسعه، احتمالاً ترجیح می‌دهید یک هدف مشخص مثل .install را بسازید. -p PACKAGES, --for-release-of-packages=PACKAGES (الزامی) میان‌بری برای --release --pkg=disabled --only-packages PACKAGE. برای ساخت مواردی که واقعاً مورد نیاز هستند و دستیابی به ساخت‌های بازتولیدپذیر هنگامی که پروژه شامل چندین بسته است، باید از این گزینه در فایل‌های .opam خود استفاده کنید. --pkg=VAL فعال یا غیرفعال کردن مدیریت بسته. رفتار پیش‌فرض بستگی به وجود یا عدم وجود دایرکتوری lock دارد. --profile=VAL (پیش‌فرض از متغیر محیطی DUNE_PROFILE) انتخاب پروفایل ساخت، مثلاً dev یا release. پیش‌فرض dev است. --promote-install-files[=VAL] (پیش‌فرض=true) ترفیع هرگونه فایل تولیدشده .install به درخت منبع. --release قرار دادن dune در حالت بازتولیدپذیر release. میان‌بری برای --root . --ignore-promoted-rules --no-config --profile release --always-show-command-line --promote-install-files --require-dune-project-file --default-target @install. باید از این گزینه برای ساخت‌های نهایی انتشار استفاده کنید. به عنوان مثال، باید این گزینه را در فایل‌های .opam خود به کار ببرید. مگر اینکه از قبل از -p استفاده کرده باشید، چرا که -p این گزینه را در بر دارد. --require-dune-project-file[=VAL] (پیش‌فرض=true) شکست در صورت عدم وجود فایل dune-project. --root=DIR (پیش‌فرض از متغیر محیطی DUNE_ROOT) استفاده از این پوشه به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدف‌های داده‌شده در خط فرمان را تغییر نمی‌دهد. این گزینه فقط برای اسکریپت‌ها در نظر گرفته شده است. --store-orig-source-dir (پیش‌فرض از متغیر محیطی DUNE_STORE_ORIG_SOURCE_DIR) ذخیره مکان اصلی منبع در متادیتای dune-package. --target-exec=TOOLCHAIN=CMD (پیش‌فرض از متغیر محیطی DUNE_TARGET_EXEC) دستور بسته‌بندی برای اجرای فایل‌های اجرایی هدف هنگام کامپایل متقاطع (cross-compiling). قالب: TOOLCHAIN=CMD (مانند 'windows=wine'). --terminal-persistence=MODE تغییر نحوه نمایش لاگ نتایج ساخت در کنسول بین بازسازی‌ها در حالت --watch. حالت‌های پشتیبانی‌شده: preserve، clear-on-rebuild، clear-on-rebuild-and-flush-history. --trace-file=FILE خروجی داده‌های ردیابی در قالب catapult (سازگار با chrome://tracing). --verbose مشابه --display verbose --version نمایش اطلاعات نسخه. --watch-exclusions=REGEX افزودن یک عبارت باقاعده POSIX که دایرکتوری‌های منطبق را از `dune build --watch` مستثنی می‌کند. گزینه --watch-exclusions را می‌توان برای افزودن چندین استثنا تکرار کرد. نقطه‌ویرگول نیز می‌تواند به عنوان جداکننده استفاده شود. در صورت عدم ارائه استثناها، مجموعه‌ای استاندارد از استثناها اعمال می‌شود؛ اما اگر یک یا چند --watch-exclusions مشخص شود، هیچ‌یک از استثناهای استاندارد اعمال نخواهد شد. استثناهای استاندارد عبارتند از: ^_opam /_opam ^_esy /_esy ^\.#.* /\.#.* ~$ ^#[^#]*#$ /#[^#]*#$ ^4913$ /4913$ /.git /.hg :/windows --workspace=FILE (پیش‌فرض از متغیر محیطی DUNE_WORKSPACE) استفاده از این فایل فضای کاری مشخص به جای جستجوی آن. -x VAL (پیش‌فرض از متغیر محیطی DUNE_CROSS_TARGET) کامپایل متقاطع با استفاده از این زنجیره ابزار (toolchain). راهنمای بیشتر (MORE HELP) برای دریافت راهنمای یک دستور خاص از `dune COMMAND --help' استفاده کنید. وضعیت خروج (EXIT STATUS) دستور dune top با کدهای زیر خارج می‌شود: 0 در صورت موفقیت. 1 در صورت بروز خطا. 130 اگر با یک سیگنال متوقف شده باشد. محیط (ENVIRONMENT) این متغیرهای محیطی بر اجرای top اثر می‌گذارند: DUNE_BUILD_DIR پوشه مشخص‌شده برای ساخت. در صورت عدم تعیین، _build استفاده می‌شود. DUNE_CACHE فعال یا غیرفعال کردن کش Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیش‌فرض `enabled-except-user-rules' است. DUNE_CACHE_CHECK_PROBABILITY بررسی بازتولیدپذیری ساخت از طریق اجرای مجدد تصادفی قوانین و مقایسه نتایج با موارد ذخیره‌شده در کش Dune. نکته: افزایش احتمال این بررسی‌ها سرعت ساخت را کاهش می‌دهد. احتمال پیش‌فرض صفر است، یعنی هیچ قانونی بررسی نمی‌شود. DUNE_CACHE_STORAGE_MODE حالت ذخیره‌سازی کش Dune (یکی از مقادیر auto، hardlink یا copy). مقدار پیش‌فرض `hardlink' است. DUNE_CROSS_TARGET کامپایل متقاطع با استفاده از این زنجیره ابزار. DUNE_DEBUG_PACKAGE_LOGS همیشه لاگ‌های استاندارد را هنگام ساخت بسته‌ها چاپ می‌کند. DUNE_DIFF_COMMAND دستور پوسته برای مقایسه فایل‌ها. برای غیرفعال کردن چاپ تفاوت‌ها از - استفاده کنید. DUNE_DISABLE_PROMOTION غیرفعال کردن تمامی قوانین ترفیع. DUNE_INSTRUMENT_WITH فعال‌سازی ابزاردقیق‌سازی توسط BACKENDS. مقدار BACKENDS فهرستی از نام‌های کتابخانه‌هاست که با کاما جدا شده‌اند و هر کدام باید یک بک‌اند ابزاردقیق‌سازی را تعریف کرده باشند. DUNE_JOBS اجرای حداکثر JOBS دستور به طور همزمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هسته‌ها (پیش‌فرض) باشد. DUNE_PROFILE پروفایل ساخت. در صورت عدم تعیین برابر با dev یا در صورت تنظیم -p برابر با release. DUNE_ROOT استفاده از این پوشه به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدف‌های داده‌شده در خط فرمان را تغییر نمی‌دهد. این گزینه فقط برای اسکریپت‌ها در نظر گرفته شده است. DUNE_SANDBOX حالت ایزوله‌سازی پیش‌فرض. (مشاهده کنید --sandbox) DUNE_STORE_ORIG_SOURCE_DIR ذخیره مکان اصلی منبع در متادیتای dune-package. DUNE_TARGET_EXEC دستور بسته‌بندی برای اجرای فایل‌های اجرایی هدف هنگام کامپایل متقاطع. قالب: TOOLCHAIN=CMD (مانند 'windows=wine'). DUNE_WORKSPACE استفاده از این فایل فضای کاری مشخص به جای جستجوی آن. اشکالات (BUGS) گزارش اشکالات را در https://github.com/ocaml/dune/issues بررسی کنید همچنین ببینید (SEE ALSO) dune(1) Dune 3.24.2 DUNE-TOP(1)