| DUNE-FMT(1) | Dune Manual | DUNE-FMT(1) |
نام (NAME)
dune-fmt - قالببندی کد منبع
خلاصه دستور (SYNOPSIS)
dune fmt [OPTION]…
توضیحات (DESCRIPTION)
دستور dune fmt ابزار قالببندی را روی کد منبع اجرا میکند. ابزار قالببند بهطور خودکار انتخاب میشود. از ocamlformat برای قالببندی کد منبع OCaml (فایلهای *.ml و *.mli) و از refmt برای قالببندی کد منبع Reason (فایلهای *.re و *.rei) استفاده میشود.
گزینهها (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
- اجرای مجدد اکشنهای مرتبط با نامهای مستعار را حتی در صورت عدم تغییر وابستگیهای آنها تحمیل میکند.
- --file-watcher=VAL (absent=automatic)
- سازوکار تشخیص تغییرات در منبع. مقدار Automatic باعث میشود dune برنامهای خارجی را برای تشخیص تغییرات اجرا کند. مقدار Manual برای اعلام دستی تغییر فایلها به dune به کار میرود.
- --passive-watch-mode
- مشابه [--watch]، اما فرایند ساخت را تنها زمانی آغاز میکند که از طریق یک تماس RPC خارجی به آن دستور داده شود.
- --preview
- فقط تغییراتی را که ایجاد خواهند شد بدون اعمال واقعی آنها چاپ میکند. این گزینه بر auto-promote اولویت دارد زیرا آن پرچم برای این دستور پیشفرض در نظر گرفته میشود.
- --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 جهت تکرارپذیرتر کردن آزمونهای کش خلاصه 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)
- انتخاب نمایه (پروفایل) ساخت، برای نمونه 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).
راهنمای بیشتر (MORE HELP)
برای راهنمایی درباره یک دستور مشخص از `dune COMMAND --help' استفاده کنید.
وضعیت خروج (EXIT STATUS)
دستور dune fmt با این وضعیتها خارج میشود:
- 0
- در صورت موفقیت.
- 1
- در صورت بروز خطا.
- 130
- در صورت قطع شدن توسط یک سیگنال.
محیط (ENVIRONMENT)
این متغیرهای محیطی بر اجرای fmt تأثیر میگذارند:
- CLICOLOR
- اگر مقداری غیر از 0 باشد، رنگهای ANSI پشتیبانی میشوند و زمانی که برنامه به پایپ هدایت نشده باشد باید استفاده شوند. اگر برابر با 0 باشد، کدهای فرار رنگی ANSI خروجی داده نمیشوند
- CLICOLOR_FORCE
- اگر مقداری غیر از 0 باشد، رنگهای ANSI باید در هر حالتی فعال باشند.
- DUNE_BUILD_DIR
- دایرکتوری ساخت مشخصشده. در صورت عدم تعیین، مقدار پیشفرض _build است
- DUNE_CACHE
- فعال یا غیرفعال کردن کش Dune (یکی از disabled، enabled-except-user-rules یا enabled). پیشفرض `enabled-except-user-rules' است.
- DUNE_CACHE_CHECK_PROBABILITY
- بررسی تکرارپذیری ساخت با اجرای مجدد تصادفی قواعد و مقایسه نتایج آنها با موارد ذخیرهشده در کش Dune. نکته: افزایش احتمال این بررسیها سرعت ساخت را کاهش میدهد. احتمال پیشفرض صفر است، یعنی هیچ قاعدهای بررسی نمیشود.
- DUNE_CACHE_ROOT
- در صورت تنظیم، مکان تمام کشهای مختلف مورد استفاده توسط 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، و در صورت تنظیم بودن -p برابر با release خواهد بود.
- DUNE_ROOT
- استفاده از این دایرکتوری بهعنوان ریشه فضای کاری بهجای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدفهای ارائهشده در خط فرمان را تغییر نمیدهد. این گزینه فقط برای اسکریپتها در نظر گرفته شده است.
- DUNE_SANDBOX
- حالت سندباکس پیشفرض برای استفاده. (به --sandbox مراجعه کنید)
- DUNE_STORE_ORIG_SOURCE_DIR
- ذخیره مکان اصلی منبع در فراداده dune-package.
- DUNE_TARGET_EXEC
- دستور پوشاننده (wrapper) برای اجرای باینریهای مقصد هنگام همگردانی متقاطع. قالب: TOOLCHAIN=CMD (برای نمونه: 'windows=wine').
- DUNE_WORKSPACE
- استفاده از این فایل فضای کاری مشخص بهجای جستجوی آن.
گزارش باگها (BUGS)
گزارش باگها را در https://github.com/ocaml/dune/issues بررسی کنید
همچنین ببینید (SEE ALSO)
dune(1)
| Dune 3.24.2 |