DUNE-TOP(1) Dune Manual DUNE-TOP(1)

dune-top - چاپ فهرستی از رهنمودهای toplevel برای گنجاندن دایرکتوری‌ها و بارگذاری فایل‌های cma

dune top [گزینه]… [پوشه]

چاپ فهرستی از رهنمودهای toplevel برای گنجاندن دایرکتوری‌ها و بارگذاری فایل‌های cma.

خروجی dune ocaml top باید در یک toplevel ارزیابی شود تا کتابخانه‌ها در آن در دسترس قرار گیرند.

در بسیاری از toplevelها می‌توان با استفاده از دستور #use_output به این هدف رسید، مانند #use_output "dune ocaml top".

--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 بازتولیدپذیرتر شوند.

این گزینه‌ها میان تمامی دستورات مشترک هستند.

--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 دارد. این گزینه عمدتاً برای انتشار بسته‌ها کاربرد دارد. در زمان توسعه، احتمالاً ترجیح می‌دهید یک هدف مشخص مثل <package>.install را بسازید.
-p PACKAGES, --for-release-of-packages=PACKAGES (الزامی)
میان‌بری برای --release --pkg=disabled --only-packages PACKAGE. برای ساخت مواردی که واقعاً مورد نیاز هستند و دستیابی به ساخت‌های بازتولیدپذیر هنگامی که پروژه شامل چندین بسته است، باید از این گزینه در فایل‌های <package>.opam خود استفاده کنید.
--pkg=VAL
فعال یا غیرفعال کردن مدیریت بسته. رفتار پیش‌فرض بستگی به وجود یا عدم وجود دایرکتوری lock دارد.
--profile=VAL (پیش‌فرض از متغیر محیطی DUNE_PROFILE)
انتخاب پروفایل ساخت، مثلاً dev یا release. پیش‌فرض dev است.
--promote-install-files[=VAL] (پیش‌فرض=true)
ترفیع هرگونه فایل تولیدشده <package>.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. باید از این گزینه برای ساخت‌های نهایی انتشار استفاده کنید. به عنوان مثال، باید این گزینه را در فایل‌های <package>.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).

برای دریافت راهنمای یک دستور خاص از `dune COMMAND --help' استفاده کنید.

دستور dune top با کدهای زیر خارج می‌شود:

0
در صورت موفقیت.
1
در صورت بروز خطا.
130
اگر با یک سیگنال متوقف شده باشد.

این متغیرهای محیطی بر اجرای top اثر می‌گذارند:

پوشه مشخص‌شده برای ساخت. در صورت عدم تعیین، _build استفاده می‌شود.
فعال یا غیرفعال کردن کش Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیش‌فرض `enabled-except-user-rules' است.
بررسی بازتولیدپذیری ساخت از طریق اجرای مجدد تصادفی قوانین و مقایسه نتایج با موارد ذخیره‌شده در کش Dune. نکته: افزایش احتمال این بررسی‌ها سرعت ساخت را کاهش می‌دهد. احتمال پیش‌فرض صفر است، یعنی هیچ قانونی بررسی نمی‌شود.
حالت ذخیره‌سازی کش Dune (یکی از مقادیر auto، hardlink یا copy). مقدار پیش‌فرض `hardlink' است.
کامپایل متقاطع با استفاده از این زنجیره ابزار.
همیشه لاگ‌های استاندارد را هنگام ساخت بسته‌ها چاپ می‌کند.
دستور پوسته برای مقایسه فایل‌ها. برای غیرفعال کردن چاپ تفاوت‌ها از - استفاده کنید.
غیرفعال کردن تمامی قوانین ترفیع.
فعال‌سازی ابزاردقیق‌سازی توسط BACKENDS. مقدار BACKENDS فهرستی از نام‌های کتابخانه‌هاست که با کاما جدا شده‌اند و هر کدام باید یک بک‌اند ابزاردقیق‌سازی را تعریف کرده باشند.
اجرای حداکثر JOBS دستور به طور همزمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هسته‌ها (پیش‌فرض) باشد.
پروفایل ساخت. در صورت عدم تعیین برابر با dev یا در صورت تنظیم -p برابر با release.
استفاده از این پوشه به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدف‌های داده‌شده در خط فرمان را تغییر نمی‌دهد. این گزینه فقط برای اسکریپت‌ها در نظر گرفته شده است.
حالت ایزوله‌سازی پیش‌فرض. (مشاهده کنید --sandbox)
ذخیره مکان اصلی منبع در متادیتای dune-package.
دستور بسته‌بندی برای اجرای فایل‌های اجرایی هدف هنگام کامپایل متقاطع. قالب: TOOLCHAIN=CMD (مانند 'windows=wine').
استفاده از این فایل فضای کاری مشخص به جای جستجوی آن.

گزارش اشکالات را در https://github.com/ocaml/dune/issues بررسی کنید

dune(1)

Dune 3.24.2