DUNE-UTOP(1) Dune Manual DUNE-UTOP(1)

dune-utop - بارگذاری کتابخانه در utop

dune utop [OPTION]… [DIR] [ARGS]…

دستور dune utop DIR مفسر سطح‌بالای utop را همراه با کتابخانه‌های تعریف‌شده در DIR ساخته و اجرا می‌کند.

--action-stderr-on-success=VAL
مشابه --action-stdout-on-success، اما به‌جای خروجی استاندارد برای خطای استاندارد اعمال می‌شود. یک پیش‌فرض مناسب برای مخازن بزرگ تک‌مخزنی (monorepo) عبارت است از --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 (absent=default)
انتخاب بافتی (context) که utop در آن ساخته/اجرا می‌شود.
--display-separate-messages
جداسازی پیام‌های خطا با یک خط خالی.
--error-reporting=VAL (absent=deterministic)
زمان گزارش خطاهای ساخت را کنترل می‌کند. مقدار early خطاها را به محض شناسایی گزارش می‌دهد. مقدار deterministic خطاها را در پایان ساخت و با ترتیبی معین گزارش می‌کند. مقدار twice هر خطا را دوبار گزارش می‌دهد: یک بار به محض شناسایی و بار دیگر در پایان ساخت با ترتیبی معین.
-f, --force
اجبار به اجرای مجدد کنش‌های مرتبط با نام‌های مستعار (aliases)، حتی اگر وابستگی‌های آن‌ها تغییری نکرده باشد.
--file-watcher=VAL (absent=automatic)
سازوکار تشخیص تغییرات در مبدأ کد. مقدار Automatic باعث می‌شود dune برای تشخیص تغییرات یک برنامه خارجی را اجرا کند. مقدار Manual امکان می‌دهد تا تغییر فایل‌ها به‌طور دستی به dune اطلاع داده شود.
--passive-watch-mode
مشابه [--watch]، اما ساخت را تنها زمانی آغاز می‌کند که از طریق یک فراخوانی RPC از خارج به آن دستور داده شود.
--sandbox=VAL (absent DUNE_SANDBOX env)
تنظیم حالت قرنطینه‌سازی (sandboxing). برخی کنش‌ها به حالت قرنطینه‌سازی خاصی نیاز دارند، بنابراین این تنظیم را نادیده خواهند گرفت. مقادیر مجاز عبارتند از: none، symlink، copy، hardlink.
--stop-on-first-error
متوقف کردن ساخت به محض برخورد با نخستین خطا.
-w, --watch
به‌جای پایان دادن به فرآیند ساخت پس از اتمام، به‌طور مداوم منتظر تغییرات فایل‌ها می‌ماند.
--wait-for-filesystem-clock
ابزار Dune محتوای فایل‌ها را برای بهبود فرآیند ساخت افزایشی خلاصه‌سازی (digest) می‌کند. این چکیده‌ها خودشان کَش می‌شوند. در برخی موارد، برای اطمینان‌پذیری فرآیند، Dune نیاز دارد تا برخی از مدخل‌های حافظه پنهان چکیده را دور بیندازد. این گزینه Dune را وادار می‌کند تا برای پیشروی ساعت سیستم‌فایل منتظر بماند تا نیازی به دور ریختن هیچ موردی نباشد. احتمالاً نیازی به توجه به این گزینه نخواهید داشت؛ این گزینه بیشتر برای توسعه‌دهندگان Dune جهت بازتولیدپذیرتر کردن آزمون‌های حافظه پنهان چکیده کاربرد دارد.

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

--always-show-command-line
همیشه خط فرمان کامل برنامه‌های اجرا شده توسط dune را نمایش می‌دهد.
--auto-promote
ارتقای خودکار فایل‌ها. این گزینه مشابه اجرای dune promote پس از ساخت است.
--build-dir=FILE (absent DUNE_BUILD_DIR env)
دایرکتوری ساخت مشخص‌شده. در صورت مشخص نشدن، پیش‌فرض _build است
--cache=VAL (absent DUNE_CACHE env)
فعال یا غیرفعال کردن حافظه پنهان Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). پیش‌فرض `enabled-except-user-rules' است.
--cache-check-probability=VAL (absent DUNE_CACHE_CHECK_PROBABILITY env)
بررسی بازتولیدپذیری ساخت با اجرای مجدد قواعد تصادفی انتخاب‌شده و مقایسه نتایج آن‌ها با مقادیر ذخیره‌شده در حافظه پنهان Dune. نکته: با افزایش احتمال این بررسی‌ها سرعت ساخت را کاهش می‌دهید. احتمال پیش‌فرض صفر است، یعنی هیچ قاعده‌ای بررسی نمی‌شود.
--cache-storage-mode=VAL (absent DUNE_CACHE_STORAGE_MODE env)
حالت ذخیره‌سازی حافظه پنهان Dune (یکی از مقادیر auto، hardlink یا copy). پیش‌فرض `hardlink' است.
--config-file=FILE
بارگذاری این فایل پیکربندی به‌جای فایل پیش‌فرض.
--debug-backtraces
همیشه ردگیری بازگشتی (backtrace) استثناها را چاپ می‌کند.
--debug-dependency-path
در صورت بروز خطا، مسیر وابستگی از هدف‌های خط فرمان تا قاعده‌ای که شکست خورده است چاپ می‌شود.
--debug-package-logs (absent DUNE_DEBUG_PACKAGE_LOGS env)
هنگام ساخت بسته‌ها همیشه گزارش‌های استاندارد چاپ شوند
--default-target=TARGET (absent=@@default)
تنظیم هدف پیش‌فرضی که در صورت مشخص نشدن به dune build داده می‌شود.
--diff-command=VAL (absent DUNE_DIFF_COMMAND env)
دستور شل برای مقایسه فایل‌ها (diff). از - برای غیرفعال کردن چاپ تفاوت‌ها استفاده کنید.
--disable-promotion (absent DUNE_DISABLE_PROMOTION env)
غیرفعال کردن تمام قواعد ارتقا
--display=MODE
کنترل حالت نمایش Dune. برای جزئیات بیشتر به dune-config(5) مراجعه کنید. مقادیر مجاز برای این گزینه عبارتند از: progress، verbose، short، quiet یا tui.
--dump-gc-stats=FILE
تخلیه آمار بازیافت حافظه (garbage collector) در یک فایل پس از تکمیل ساخت.
--help[=FMT] (default=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 (absent DUNE_INSTRUMENT_WITH env)
فعال‌سازی ابزارسازی (instrumentation) توسط BACKENDS. مقدار BACKENDS فهرستی از نام‌های کتابخانه جداشده با کاما است که هرکدام باید یک پشتیبان ابزارسازی را اعلان کنند.
-j JOBS (absent DUNE_JOBS env)
عدم اجرای بیش از JOBS دستور به‌طور هم‌زمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هسته‌ها (پیش‌فرض) باشد.
--no-buffer
عدم بافر کردن خروجی دستورهای اجراشده توسط dune. به‌طور پیش‌فرض، dune خروجی زیردستورها را بافر می‌کند تا در صورت اجرای موازی چند دستور، از درهم‌آمیختگی خروجی جلوگیری شود. اما این امر می‌تواند هنگام عیب‌یابی آزمون‌های زمان‌بر مشکل‌ساز باشد. با گزینه --no-buffer، دستورها دسترسی مستقیم به ترمینال خواهند داشت. توجه داشته باشید که در نتیجه خروجی آن‌ها در فایل گزارش ضبط نخواهد شد. باید از این گزینه در کنار -j 1 استفاده کنید تا از تداخل جلوگیری شود. علاوه بر این، باید از --verbose نیز استفاده کنید تا مطمئن شوید دستورها پیش از اجرا چاپ می‌شوند.
--no-config
عدم بارگذاری فایل پیکربندی
--no-print-directory
جلوگیری از نمایش پیام‌های «Entering directory».
--only-packages=PACKAGES
نادیده گرفتن بندهایی (stanzas) که به بسته‌ای ارجاع می‌دهند که در PACKAGES نیست. مقدار PACKAGES فهرستی از نام‌های بسته‌ها است که با کاما از هم جدا شده‌اند. توجه داشته باشید که این کار تأثیری مشابه حذف بندهای مربوطه از فایل‌های dune دارد. این گزینه عمدتاً برای انتشار نسخه‌ها کاربرد دارد. در طول توسعه، احتمالاً آنچه می‌خواهید ساخت یک هدف خاص <package>.install است.
-p PACKAGES, --for-release-of-packages=PACKAGES (required)
کوتاه‌نوشتی برای --release --pkg=disabled --only-packages PACKAGE. باید از این گزینه در فایل‌های <package>.opam خود استفاده کنید تا در شرایطی که پروژه شامل چندین بسته است تنها موارد لازم ساخته شوند و ساخت‌های بازتولیدپذیر حاصل گردد.
--pkg=VAL
فعال یا غیرفعال کردن مدیریت بسته‌ها. رفتار پیش‌فرض بستگی به وجود یا عدم وجود دایرکتوری قفل (lock) دارد.
--profile=VAL (absent DUNE_PROFILE env)
انتخاب نمایه (profile) ساخت، به عنوان مثال dev یا release. مقدار پیش‌فرض dev است.
--promote-install-files[=VAL] (default=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] (default=true)
در صورت مفقود بودن فایل dune-project با خطا مواجه شود.
--root=DIR (absent DUNE_ROOT env)
استفاده از این دایرکتوری به عنوان ریشه فضای کاری به‌جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدف‌های ارائه‌شده در خط فرمان را تغییر نمی‌دهد. این گزینه فقط برای اسکریپت‌ها در نظر گرفته شده است.
--store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
ذخیره مکان اصلی مبدأ در فراداده‌های dune-package.
--target-exec=TOOLCHAIN=CMD (absent DUNE_TARGET_EXEC env)
دستور بسته‌بند برای اجرای باینری‌های مقصد در هنگام کامپایل متقاطع. قالب: TOOLCHAIN=CMD (برای مثال: 'windows=wine').
--terminal-persistence=MODE
تغییر نحوه نمایش گزارش نتایج ساخت در کنسول بین ساخت‌های مجدد در حالت --watch. حالت‌های پشتیبانی‌شده: preserve، clear-on-rebuild، clear-on-rebuild-and-flush-history.
--trace-file=FILE
خروجی داده‌های ردگیری (trace) در قالب 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 (absent DUNE_WORKSPACE env)
استفاده از این فایل فضای کاری مشخص به‌جای جستجوی آن.
-x VAL (absent DUNE_CROSS_TARGET env)
کامپایل متقاطع با استفاده از این زنجیره‌ابزار.

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

دستور dune utop با این مقادیر پایان می‌یابد:

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

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

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

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

dune-top(1)

Dune 3.24.2