| DUNE-FORMAT-DUNE-FILE(1) | Dune Manual | DUNE-FORMAT-DUNE-FILE(1) |
نام (NAME)
dune-format-dune-file - قالببندی فایلهای dune
خلاصه دستور (SYNOPSIS)
dune format-dune-file [گزینه]… [فایل]
توضیحات (DESCRIPTION)
دستور dune format-dune-file یک فایل dune را میخواند و نسخه قالببندیشده آن را در خروجی نمایش میدهد. این یک دستور سطح پایین است که برای نمونه جهت پیادهسازی پشتیبانی در ویرایشگرهای متن کاربرد دارد. برای قالببندی مجدد کل یک پروژه dune، بخش «Automatic formatting» را در راهنما ببینید.
آرگومانها (ARGUMENTS)
- فایل
- مسیر فایل dune برای تجزیه و تحلیل.
گزینهها (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
- جداسازی پیامهای خطا با یک خط خالی.
- --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 جهت بازتولیدپذیری بیشتر آزمایشهای کش خلاصه مفید است.
گزینههای عمومی (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) فایلها. از - برای غیرفعال کردن چاپ تفاوتها استفاده کنید.
- --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)
- کامپایل متقابل با استفاده از این زنجیره ابزار.
وضعیت خروج (EXIT STATUS)
دستور dune format-dune-file با مقادیر زیر خارج میشود:
- 0
- در صورت موفقیت.
- 1
- در صورت بروز خطا.
- 130
- اگر توسط یک سیگنال متوقف شود.
محیط (ENVIRONMENT)
این متغیرهای محیطی بر اجرای format-dune-file تأثیر میگذارند:
- 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 فهرستی از نامهای کتابخانههاست که با کاما جدا شدهاند و هر یک از آنها باید یک backend ابزار دقیق را تعریف کرده باشد.
- 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 |