| DUNE-DIAGNOSTICS(1) | Dune Manual | DUNE-DIAGNOSTICS(1) |
نام (NAME)
dune-diagnostics - دریافت و بازگرداندن خطاهای ساخت فعلی
خلاصه دستور (SYNOPSIS)
dune diagnostics [OPTION]…
گزینهها (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
- نمایش اطلاعات ساخت.
- --display-separate-messages
- جداسازی پیامهای خطا با یک خط خالی.
- --error-reporting=VAL (absent=deterministic)
- زمان گزارش خطاهای ساخت را کنترل میکند. مقدار early خطاها را به محض کشف شدن گزارش میدهد. مقدار deterministic خطاها را در پایان ساخت و با ترتیبی معین گزارش میکند. مقدار twice هر خطا را دوبار گزارش میدهد: یک بار به محض کشف خطا و بار دیگر در پایان فرایند ساخت با ترتیبی مشخص و معین.
- -f, --force
- اجرای مجدد اجباری اکشنهای مرتبط با نامهای مستعار (aliasها)، حتی اگر وابستگیهای آنها تغییری نکرده باشند.
- --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 جهت تکرارپذیرتر کردن آزمونهای مربوط به کَش خلاصه است.
گزینههای عمومی (COMMON OPTIONS)
- --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) فایلها. برای غیرفعال کردن چاپ 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)
- فعالسازی ابزار دقیق توسط 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
- نادیده گرفتن قطعهکدهای (stanzaهای) مربوط به بستههایی که در PACKAGES نیستند. آرگومان PACKAGES فهرستی از نامهای بستهها با جداکننده کاما است. این گزینه اثری مشابه حذف قطعهکدهای مربوطه از فایلهای dune دارد. کاربرد آن عمدتاً برای انتشار نسخهها (release) است. در زمان توسعه، احتمالاً به جای این گزینه ترجیح میدهید یک هدف مشخص <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 diagnostics با این کدها خارج میشود:
- 0
- در صورت موفقیت.
- 1
- در صورت بروز خطا.
- 130
- در صورتی که با یک سیگنال متوقف شود.
محیط (ENVIRONMENT)
این متغیرهای محیطی بر اجرای diagnostics تأثیر میگذارند:
- 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
- دستور شل برای مقایسه فایلها. استفاده از - برای غیرفعال کردن چاپ diff.
- 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 |