DUNE-MONITOR(1) Dune Manual DUNE-MONITOR(1)

dune-monitor - اتصال به یک کارساز RPC در Dune و پایش آن

dune monitor [OPTION]…

دستور dune monitor به یک کارساز RPC که در فضای کاری (workspace) فعلی در حال اجراست متصل شده و پیشرفت ساخت و عیب‌یابی‌ها را نمایش می‌دهد. اگر هیچ کارسازی در حال اجرا نباشد یا اتصال آن قطع شده باشد، به‌طور مداوم برای اتصال مجدد تلاش خواهد کرد.

--action-stderr-on-success=VAL
مشابه --action-stdout-on-success اما برای خطای استاندارد به‌جای خروجی استاندارد. یک پیش‌فرض مناسب برای مونو-ریپازیتوری‌های بزرگ --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
نمایش اطلاعات ساخت.
--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 دستور داده شود.
--quit-on-disconnect
خروج در صورت قطع شدن اتصال به کارساز.
--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
ارتقای خودکار فایل‌ها (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)
غیرفعال‌سازی تمام قواعد ارتقا (promotion)
--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)
دستور پوششی (wrapper) برای اجرای باینری‌های هدف هنگام کامپایل متقابل (cross-compiling). قالب: 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)
کامپایل متقابل با استفاده از این زنجیره ابزار (toolchain).

دستور dune monitor با این کدها خاتمه می‌یابد:

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

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

پوشه ساخت مشخص‌شده. در صورت عدم تعیین، مقدار _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').
استفاده از این فایل فضای کاری مشخص به‌جای جستجوی خودکار آن.

dune(1)

Dune 3.24.2