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 دارد. این گزینه عمدتاً برای انتشار نسخه‌ها در نظر گرفته شده است. در طول توسعه، احتمالاً آنچه می‌خواهید ساخت یک هدف خاص .install است. -p PACKAGES, --for-release-of-packages=PACKAGES (required) کوته‌نوشتی برای --release --pkg=disabled --only-packages PACKAGE. شما باید از این گزینه در فایل‌های .opam خود استفاده کنید تا در صورت وجود چندین بسته در پروژه، تنها موارد ضروری ساخته شوند و ساخت‌های بازتولیدپذیر حاصل گردد. --pkg=VAL فعال یا غیرفعال کردن مدیریت بسته. رفتار پیش‌فرض بستگی به وجود یا عدم وجود دایرکتوری lock دارد. --profile=VAL (absent DUNE_PROFILE env) انتخاب پروفایل ساخت، برای نمونه dev یا release. پیش‌فرض dev است. --promote-install-files[=VAL] (default=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. شما باید از این گزینه برای ساخت‌های انتشار (release) استفاده کنید. برای نمونه، باید از این گزینه در فایل‌های .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 DUNE-FORMAT-DUNE-FILE(1)