DUNE-PRINTENV(1) Dune Manual DUNE-PRINTENV(1) نام (NAME) dune-printenv - نام مستعاری برای دستور env (چاپ متغیرهای محیطی) خلاصه دستور (SYNOPSIS) dune printenv [OPTION]… [PATH] توضیحات (DESCRIPTION) دستور dune printenv یک نام مستعار برای dune env است. برای جزئیات بیشتر به dune env --help مراجعه کنید. گزینه‌ها (OPTIONS) --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 نمایش اطلاعات ساخت. --display-separate-messages جداسازی پیام‌های خطا با یک خط خالی. --error-reporting=VAL (پیش‌فرض=deterministic) زمان گزارش خطاهای ساخت را کنترل می‌کند. مقدار early خطاها را به محض شناسایی گزارش می‌دهد. مقدار deterministic خطاها را در پایان ساخت با ترتیبی معین و قطعی گزارش می‌کند. مقدار twice هر خطا را دو بار گزارش می‌دهد: یک بار به محض شناسایی و بار دیگر در پایان ساخت با ترتیبی قطعی. -f, --force اجبار به اجرای مجدد عملیات‌های مرتبط با نام‌های مستعار (alias)، حتی اگر وابستگی‌های آن‌ها تغییر نکرده باشد. --field=FIELD فقط چاپ این فیلد. این گزینه را می‌توان چندین بار برای چاپ چندین فیلد تکرار کرد. --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 روی حافظه پنهان دایجست تکرارپذیرتر شوند. گزینه‌های عمومی (COMMON OPTIONS) این گزینه‌ها میان تمامی دستورها مشترک هستند. --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 همیشه ردیابی پشته استثناها (backtraces) را چاپ می‌کند. --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) غیرفعال کردن تمام قواعد ترفیع (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، دستورات دسترسی مستقیم به ترمینال دارند. توجه داشته باشید که در نتیجه این کار، خروجی آن‌ها در فایل گزارش (log) ثبت نخواهد شد. برای جلوگیری از تداخل، باید از این گزینه همراه با -j 1 استفاده کنید. علاوه بر این، باید از --verbose نیز استفاده کنید تا مطمئن شوید دستورات قبل از اجرا چاپ می‌شوند. --no-config عدم بارگذاری فایل پیکربندی. --no-print-directory پنهان کردن پیام‌های ورود به دایرکتوری ("Entering directory"). --only-packages=PACKAGES نادیده گرفتن بخش‌های (stanzas) مربوط به بسته‌ای که در PACKAGES نیست. مقدار PACKAGES فهرستی از نام‌های بسته جداشده با کاما است. توجه داشته باشید که این کار تأثیری مشابه حذف بخش‌های مربوطه از فایل‌های dune دارد. این گزینه عمدتاً برای انتشار (release) در نظر گرفته شده است. در طول فرایند توسعه، احتمالاً چیزی که می‌خواهید ساخت یک هدف خاص .install است. -p PACKAGES, --for-release-of-packages=PACKAGES (الزامی) کوتاه‌نوشتی برای --release --pkg=disabled --only-packages PACKAGE. شما باید از این گزینه در فایل‌های .opam خود استفاده کنید تا در صورت وجود چندین بسته در پروژه، فقط موارد ضروری ساخته شوند و ساخت‌های تکرارپذیر حاصل شود. --pkg=VAL فعال یا غیرفعال کردن مدیریت بسته. رفتار پیش‌فرض بستگی به این دارد که دایرکتوری قفل (lock directory) وجود داشته باشد یا خیر. --profile=VAL (در صورت عدم وجود متغیر محیطی DUNE_PROFILE) انتخاب پروفایل ساخت، برای مثال dev یا release. مقدار پیش‌فرض dev است. --promote-install-files[=VAL] (پیش‌فرض=true) ترفیع فایل‌های .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. شما باید از این گزینه برای ساخت‌های انتشار استفاده کنید. برای مثال، باید از این گزینه در فایل‌های .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) کامپایل متقاطع با استفاده از این زنجیره ابزار. راهنمای بیشتر (MORE HELP) برای دریافت راهنما دربارهٔ یک دستور خاص، از dune COMMAND --help استفاده کنید. وضعیت خروج (EXIT STATUS) دستور dune printenv با مقادیر زیر خارج می‌شود: 0 در صورت موفقیت. 1 در صورت بروز خطا. 130 اگر با یک سیگنال متوقف شود. محیط (ENVIRONMENT) این متغیرهای محیطی بر اجرای printenv تأثیر می‌گذارند: 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 غیرفعال کردن تمام قواعد ترفیع (promotion). DUNE_INSTRUMENT_WITH فعال‌سازی ابزاردقیق‌سازی توسط BACKENDS. مقدار BACKENDS فهرستی از نام‌های کتابخانه جداشده با کاما است که هر یک از آن‌ها باید یک بک‌اند ابزاردقیق را اعلان کرده باشد. DUNE_JOBS اجرای حداکثر JOBS دستور به‌طور همزمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هسته‌ها (پیش‌فرض) باشد. DUNE_PROFILE پروفایل ساخت. dev در صورت عدم تعیین، یا release در صورتی که -p تنظیم شده باشد. DUNE_ROOT استفاده از این دایرکتوری به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدف‌های داده‌شده در خط فرمان را تغییر نمی‌دهد و تنها برای اسکریپت‌ها در نظر گرفته شده است. DUNE_SANDBOX حالت محیط ایزوله (sandboxing) مورد استفاده به‌طور پیش‌فرض (گزینهٔ --sandbox را ببینید). DUNE_STORE_ORIG_SOURCE_DIR ذخیره مکان اصلی منبع در فراداده‌های dune-package. DUNE_TARGET_EXEC دستور پوششی برای اجرای باینری‌های مقصد هنگام کامپایل متقاطع. قالب: TOOLCHAIN=CMD (به عنوان مثال، 'windows=wine'). DUNE_WORKSPACE استفاده از این فایل فضای کاری مشخص به جای جستجوی آن. اشکالات (BUGS) گزارش‌های اشکال را در نشانی زیر بررسی کنید: https://github.com/ocaml/dune/issues همچنین ببینید (SEE ALSO) dune(1) Dune 3.24.2 DUNE-PRINTENV(1)