| DUNE-MONITOR(1) | Dune Manual | DUNE-MONITOR(1) |
نام (NAME)
dune-monitor - اتصال به یک کارساز RPC در Dune و پایش آن
خلاصه دستور (SYNOPSIS)
dune monitor [OPTION]…
توضیحات (DESCRIPTION)
دستور dune monitor به یک کارساز RPC که در فضای کاری (workspace) فعلی در حال اجراست متصل شده و پیشرفت ساخت و عیبیابیها را نمایش میدهد. اگر هیچ کارسازی در حال اجرا نباشد یا اتصال آن قطع شده باشد، بهطور مداوم برای اتصال مجدد تلاش خواهد کرد.
گزینهها (OPTIONS)
- --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 جهت افزایش قابلیت بازتولید آزمونهای حافظهنهان خلاصهسازی کاربرد دارد.
گزینههای عمومی (COMMON OPTIONS)
- --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).
وضعیت خروج (EXIT STATUS)
دستور dune monitor با این کدها خاتمه مییابد:
- 0
- در صورت موفقیت.
- 1
- در صورت بروز خطا.
- 130
- در صورتی که توسط یک سیگنال متوقف شود.
محیط (ENVIRONMENT)
این متغیرهای محیطی بر اجرای monitor تأثیر میگذارند:
- 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
- استفاده از این فایل فضای کاری مشخص بهجای جستجوی خودکار آن.
همچنین ببینید (SEE ALSO)
dune(1)
| Dune 3.24.2 |