DUNE-FORMAT-DUNE-FILE(1) Dune Manual DUNE-FORMAT-DUNE-FILE(1)

dune-format-dune-file - قالب‌بندی فایل‌های dune

dune format-dune-file [گزینه]… [فایل]

دستور dune format-dune-file یک فایل dune را می‌خواند و نسخه قالب‌بندی‌شده آن را در خروجی نمایش می‌دهد. این یک دستور سطح پایین است که برای نمونه جهت پیاده‌سازی پشتیبانی در ویرایشگرهای متن کاربرد دارد. برای قالب‌بندی مجدد کل یک پروژه dune، بخش «Automatic formatting» را در راهنما ببینید.

فایل
مسیر فایل dune برای تجزیه و تحلیل.

--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
جداسازی پیام‌های خطا با یک خط خالی.
--dune-version=VERSION
نسخه زبان Dune که باید استفاده شود.
--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)
تنظیم حالت سندباکس (محیط ایزوله). برخی کنش‌ها نیازمند حالت سندباکس خاصی هستند، بنابراین این تنظیم را نادیده می‌گیرند. مقادیر مجاز عبارتند از: 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
تخلیه آمار زباله‌روب در یک فایل پس از تکمیل ساخت.
--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 فهرستی از نام‌های کتابخانه‌هاست که با کاما جدا شده‌اند و هر یک از آن‌ها باید یک backend ابزار دقیق را تعریف کرده باشد.
-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
نادیده گرفتن بندهای مربوط به بسته‌ای که در 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)
انتخاب پروفایل ساخت، برای نمونه 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. شما باید از این گزینه برای ساخت‌های انتشار (release) استفاده کنید. برای نمونه، باید از این گزینه در فایل‌های <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
خروجی داده‌های ردیابی در قالب 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 format-dune-file با مقادیر زیر خارج می‌شود:

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

این متغیرهای محیطی بر اجرای format-dune-file تأثیر می‌گذارند:

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

dune(1)

Dune 3.24.2